buildMacInfoJson.ps1
|
function convertUTCHours { param ( [Parameter(Mandatory = $true)][Int32] $UTCOffHours ) #We need to check to see if the absolute value of this is < 10 #If so, prepend a 0 to it in a way that deals with the potential negative number if([System.Math]::Abs($UTCOffHours) -lt 10) { if ($UTCOffHours.ToString().StartsWith('-')) { [string]$UTCOffHours = '-0' + [System.Math]::Abs($UTCOffHours) } } else { #this just converts it to a string [string]$UTCOffHours = $UTCOffHours } return $UTCOffHours } function convertUTCMinutesSeconds { param ( [Parameter(Mandatory = $true)][Int32] $UTCParam ) #This works with minutes or seconds, and just prepends a 0 to the string version of the int #that's passed if < 10, and if not, just coerces it to a string and returns it if ([System.Math]::Abs($UTCParam) -lt 10) { [string]$UTCParam = '0' + [System.Math]::Abs($UTCParam) } else { [string]$UTCParam = $UTCParam } return $UTCParam } function buildJsonOutput { param ( [Parameter(Mandatory = $true)][System.Collections.Specialized.OrderedDictionary] $macInfoList ) $deblankedList = [ordered]@{} #remove blanks from hashtable. We can't modify the hashtable we're iterating through, so we create a second one foreach ($entry in $macInfoList.GetEnumerator()) { #blank entries all start with a space if (!($entry.Key.StartsWith(' '))) { # add to new hashtable $deblankedList.Add($entry.Key,$entry.Value) } } $UTCOffHours = convertUTCHours -UTCOffHours $deblankedList.UTCOffset.Hours $UTCOffMins = convertUTCMinutesSeconds -UTCParam $deblankedList.UTCOffset.Minutes $UTCOffSeconds = convertUTCMinutesSeconds -UTCParam $deblankedList.UTCOffset.Seconds $newUTCOffset = $UTCOffHours + ":" + $UTCOffMins + ":" + $UTCOffSeconds $deblankedList.UTCOffset = $newUTCOffset $jsonMacInfo = ConvertTo-Json -InputObject @{ $deblankedList.Keys[0]=@{ $deblankedList.Keys[1]=$deblankedList.Values[1] $deblankedList.Keys[2]=$deblankedList.Values[2] $deblankedList.Keys[3]=$deblankedList.Values[3] $deblankedList.Keys[4]=$deblankedList.Values[4] $deblankedList.Keys[5]=$deblankedList.Values[5] } $deblankedList.Keys[6]=@{ $deblankedList.Keys[7]=$deblankedList.Values[7] $deblankedList.Keys[8]=$deblankedList.Values[8] $deblankedList.Keys[9]=$deblankedList.Values[9] $deblankedList.Keys[10]=$deblankedList.Values[10] $deblankedList.Keys[11]=$deblankedList.Values[11] $deblankedList.Keys[12]=$deblankedList.Values[12] $deblankedList.Keys[13]=$deblankedList.Values[13] $deblankedList.Keys[14]=$deblankedList.Values[14] } $deblankedList.Keys[15]=@{ $deblankedList.Keys[16]=$deblankedList.Values[16] $deblankedList.Keys[17]=$deblankedList.Values[17] $deblankedList.Keys[18]=$deblankedList.Values[18] $deblankedList.Keys[19]=$deblankedList.Values[19] $deblankedList.Keys[20]=$deblankedList.Values[20] $deblankedList.Keys[21]=$deblankedList.Values[21] } $deblankedList.Keys[22]=@{ $deblankedList.Keys[23]=$deblankedList.Values[23] $deblankedList.Keys[24]=$deblankedList.Values[24] $deblankedList.Keys[25]=$deblankedList.Values[25] $deblankedList.Keys[26]=$deblankedList.Values[26] $deblankedList.Keys[27]=$deblankedList.Values[27] $deblankedList.Keys[28]=$deblankedList.Values[28] $deblankedList.Keys[29]=$deblankedList.Values[29] $deblankedList.Keys[30]=$deblankedList.Values[30] $deblankedList.Keys[31]=$deblankedList.Values[31] } $deblankedList.Keys[32]=@{ $deblankedList.Keys[33]=$deblankedList.Values[33] $deblankedList.Keys[34]=$deblankedList.Values[34] $deblankedList.Keys[35]=$deblankedList.Values[35] $deblankedList.Keys[36]=$deblankedList.Values[36] $deblankedList.Keys[37]=$deblankedList.Values[37] $deblankedList.Keys[38]=$deblankedList.Values[38] $deblankedList.Keys[39]=$deblankedList.Values[39] $deblankedList.Keys[40]=$deblankedList.Values[40] $deblankedList.Keys[41]=$deblankedList.Values[41] } $deblankedList.Keys[42]=@{ $deblankedList.Keys[43]=$deblankedList.Values[43] $deblankedList.Keys[44]=$deblankedList.Values[44] $deblankedList.Keys[45]=$deblankedList.Values[45] $deblankedList.Keys[46]=$deblankedList.Values[46] } $deblankedList.Keys[47]=@{ $deblankedList.Keys[48]=$deblankedList.Values[48] $deblankedList.Keys[49]=$deblankedList.Values[49] $deblankedList.Keys[50]=$deblankedList.Values[50] } $deblankedList.Keys[51]=@{ $deblankedList.Keys[52]=$deblankedList.Values[52] $deblankedList.Keys[53]=$deblankedList.Values[53] $deblankedList.Keys[54]=$deblankedList.Values[54] $deblankedList.Keys[55]=$deblankedList.Values[55] } $deblankedList.Keys[56]=@{ $deblankedList.Keys[57]=$deblankedList.Values[57] $deblankedList.Keys[58]=$deblankedList.Values[58] $deblankedList.Keys[59]=$deblankedList.Values[59] } $deblankedList.Keys[60]=@{ $deblankedList.Keys[61]=$deblankedList.Values[61] $deblankedList.Keys[62]=$deblankedList.Values[62] } $deblankedList.Keys[63]=@{ $deblankedList.Keys[64]=$deblankedList.Values[64] $deblankedList.Keys[65]=$deblankedList.Values[65] } $deblankedList.Keys[66]=@{ $deblankedList.Keys[67]=$deblankedList.Values[67] $deblankedList.Keys[68]=$deblankedList.Values[68] $deblankedList.Keys[69]=$deblankedList.Values[69] $deblankedList.Keys[70]=$deblankedList.Values[70] $deblankedList.Keys[71]=$deblankedList.Values[71] $deblankedList.Keys[72]=$deblankedList.Values[72] $deblankedList.Keys[73]=$deblankedList.Values[73] $deblankedList.Keys[74]=$deblankedList.Values[74] $deblankedList.Keys[75]=$deblankedList.Values[75] $deblankedList.Keys[76]=$deblankedList.Values[76] } $deblankedList.Keys[77]=@{ $deblankedList.Keys[78]=$deblankedList.Values[78] $deblankedList.Keys[79]=$deblankedList.Values[79] $deblankedList.Keys[80]=$deblankedList.Values[80] $deblankedList.Keys[81]=$deblankedList.Values[81] $deblankedList.Keys[82]=$deblankedList.Values[82] $deblankedList.Keys[83]=$deblankedList.Values[83] $deblankedList.Keys[84]=$deblankedList.Values[84] $deblankedList.Keys[85]=$deblankedList.Values[85] $deblankedList.Keys[86]=$deblankedList.Values[86] $deblankedList.Keys[87]=$deblankedList.Values[87] } $deblankedList.Keys[88]=@{ $deblankedList.Keys[89]=$deblankedList.Values[89] $deblankedList.Keys[90]=$deblankedList.Values[90] $deblankedList.Keys[91]=$deblankedList.Values[91] $deblankedList.Keys[92]=$deblankedList.Values[92] $deblankedList.Keys[93]=$deblankedList.Values[93] $deblankedList.Keys[94]=$deblankedList.Values[94] $deblankedList.Keys[95]=$deblankedList.Values[95] $deblankedList.Keys[96]=$deblankedList.Values[96] $deblankedList.Keys[97]=$deblankedList.Values[97] $deblankedList.Keys[98]=$deblankedList.Values[98] $deblankedList.Keys[99]=$deblankedList.Values[99] } $deblankedList.Keys[100]=@{ $deblankedList.Keys[101]=$deblankedList.Values[101] $deblankedList.Keys[102]=$deblankedList.Values[102] $deblankedList.Keys[103]=$deblankedList.Values[103] $deblankedList.Keys[104]=$deblankedList.Values[104] } $deblankedList.Keys[105]=@{ $deblankedList.Keys[106]=$deblankedList.Values[106] $deblankedList.Keys[107]=$deblankedList.Values[107] $deblankedList.Keys[108]=$deblankedList.Values[108] } $deblankedList.Keys[109]=@{ $deblankedList.Keys[110]=$deblankedList.Values[110] $deblankedList.Keys[111]=$deblankedList.Values[111] $deblankedList.Keys[112]=$deblankedList.Values[112] $deblankedList.Keys[113]=$deblankedList.Values[113] $deblankedList.Keys[114]=$deblankedList.Values[114] } $deblankedList.Keys[115]=@{ $deblankedList.Keys[116]=$deblankedList.Values[116] } $deblankedList.Keys[117]=@{ $deblankedList.Keys[118]=$deblankedList.Values[118] $deblankedList.Keys[119]=$deblankedList.Values[119] } $deblankedList.Keys[120]=@{ $deblankedList.Keys[121]=$deblankedList.Values[121] $deblankedList.Keys[122]=$deblankedList.Values[122] $deblankedList.Keys[123]=$deblankedList.Values[123] $deblankedList.Keys[124]=$deblankedList.Values[124] $deblankedList.Keys[125]=$deblankedList.Values[125] $deblankedList.Keys[126]=$deblankedList.Values[126] $deblankedList.Keys[127]=$deblankedList.Values[127] $deblankedList.Keys[128]=$deblankedList.Values[128] } $deblankedList.Keys[129]=@{ $deblankedList.Keys[130]=$deblankedList.Values[130] $deblankedList.Keys[131]=$deblankedList.Values[132] $deblankedList.Keys[132]=$deblankedList.Values[132] } } return $jsonMacInfo } # SIG # Begin signature block # MIIMgQYJKoZIhvcNAQcCoIIMcjCCDG4CAQMxDTALBglghkgBZQMEAgEwewYKKwYB # BAGCNwIBBKBtBGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCD21QE36zpot0N+ # Rb/MbA/aP05zz09ApDeFtzLS0OuswqCCCawwggQEMIIC7KADAgECAggYeqmowpYh # DDANBgkqhkiG9w0BAQsFADBiMQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBwbGUg # SW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFjAU # BgNVBAMTDUFwcGxlIFJvb3QgQ0EwHhcNMTIwMjAxMjIxMjE1WhcNMjcwMjAxMjIx # MjE1WjB5MS0wKwYDVQQDDCREZXZlbG9wZXIgSUQgQ2VydGlmaWNhdGlvbiBBdXRo # b3JpdHkxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMw # EQYDVQQKDApBcHBsZSBJbmMuMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEB # BQADggEPADCCAQoCggEBAIl2TwZbmkHupSMrAqNf13M/wDWwi4QKPwYkf6eVP+tP # DpOvtA7QyD7lbRizH+iJR7/XCQjk/1aYKRXnlJ25NaMKzbTA4eJg9MrsKXhFaWlg # a1+KkvyeI+Y6wiKzMU8cuvK2NFlC7rCpAgMYkQS2s3guMx+ARQ1Fb7sOWlt/OufY # CNcLDjJt+4Y25GyrxBGKcIQmqp9E0fG4xnuUF5tI9wtYFrojxZ8VOX7KXcMyXw/g # Un9A6r6sCGSVW8kanOWAyh9qRBxsPsSwJh8d7HuvXqBqPUepWBIxPyB2KG0dHLDC # ThFpJovL1tARgslOD/FWdNDZCEtmeKKrrKfi0kyHWckCAwEAAaOBpjCBozAdBgNV # HQ4EFgQUVxftos/cfJihEOD8voctLPLjF1QwDwYDVR0TAQH/BAUwAwEB/zAfBgNV # HSMEGDAWgBQr0GlHlHYJ/vRrjS5ApvdHTX8IXjAuBgNVHR8EJzAlMCOgIaAfhh1o # dHRwOi8vY3JsLmFwcGxlLmNvbS9yb290LmNybDAOBgNVHQ8BAf8EBAMCAYYwEAYK # KoZIhvdjZAYCBgQCBQAwDQYJKoZIhvcNAQELBQADggEBAEI5dGuh3MakjzcqjLMd # CkS8lSx/vFm4rGH7B5CSMrnUvzvBUDlqRHSi7FsfcOWq3UtsHCNxLV/RxZO+7puK # cGWCnRbjGhAXiS2ozf0MeFhJDCh/M+4Aehu0dqy2tbtP36gbncgZl0oLVmcvwj62 # s8SDOvB3bXTELiNR7pqlA29g9KVIpwbCu1riHx9GRX7kl/UnELcgInJvctrGUHXF # PSWPXaMA6Z82jEg5j7M76pCALpWaYPR4zvQOClM+ovpP2B6uhJWNMrxWTYnpeBjg # rJpCunpGG4Siic4U6IjRWIv2rlbELAUqRa8L2UupAg80rIjHYVWJRMkncwfuguVO # 9XAwggWgMIIEiKADAgECAgg4/t1QcpKr9DANBgkqhkiG9w0BAQsFADB5MS0wKwYD # VQQDDCREZXZlbG9wZXIgSUQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxJjAkBgNV # BAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApBcHBs # ZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0yNTA1MjAxNzI2MzZaFw0yNzAyMDEyMjEy # MTVaMIGPMRowGAYKCZImiZPyLGQBAQwKNzk2NDg4Vkc5NTE6MDgGA1UEAwwxRGV2 # ZWxvcGVyIElEIEFwcGxpY2F0aW9uOiBKb2huIFdlbGNoICg3OTY0ODhWRzk1KTET # MBEGA1UECwwKNzk2NDg4Vkc5NTETMBEGA1UECgwKSm9obiBXZWxjaDELMAkGA1UE # BhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDG5iTyi/Llb8QR # mKSVEMaSkIAyXssehEKC1nJKp9ZkaRLxan/q6B7JeWzTNa6XCBG3Pf4Dz0IQnU6U # qDsPFYpwhRtS14CNVnwmcMJeJ/hy6MW++cBymq9xEZD80c69muLZmYr2KLKFu6WJ # nPK4JvYNqZ5Iug7UthcVeZBTdCDHCsVui8WMrFwDe112hqHFb9YiwrZF3w4v3G7X # cU6KO6oiD79C26xelHqAjuPZUxHbiJDhrgI2xbr4phtyukq/aaUyvOEGRuzr9ViT # imxjMH0Dzd3eYQNyZ/OgpBTg/u5bt4c4L+ivLNWpkImm5NLByjPWj2Rgxex9q7gu # d8eXX5PBAgMBAAGjggITMIICDzAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFFcX # 7aLP3HyYoRDg/L6HLSzy4xdUMEAGCCsGAQUFBwEBBDQwMjAwBggrBgEFBQcwAYYk # aHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwMy1kZXZpZDA2MIIBHQYDVR0gBIIB # FDCCARAwggEMBgkqhkiG92NkBQEwgf4wgcMGCCsGAQUFBwICMIG2DIGzUmVsaWFu # Y2Ugb24gdGhpcyBjZXJ0aWZpY2F0ZSBieSBhbnkgcGFydHkgYXNzdW1lcyBhY2Nl # cHRhbmNlIG9mIHRoZSB0aGVuIGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5k # IGNvbmRpdGlvbnMgb2YgdXNlLCBjZXJ0aWZpY2F0ZSBwb2xpY3kgYW5kIGNlcnRp # ZmljYXRpb24gcHJhY3RpY2Ugc3RhdGVtZW50cy4wNgYIKwYBBQUHAgEWKmh0dHA6 # Ly93d3cuYXBwbGUuY29tL2NlcnRpZmljYXRlYXV0aG9yaXR5LzAWBgNVHSUBAf8E # DDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQU+vpKLJ3aUHMJjwgzoV2hMj3fKX8wDgYD # VR0PAQH/BAQDAgeAMB8GCiqGSIb3Y2QGASEEEQwPMjAxOTAyMDYwMDAwMDBaMBMG # CiqGSIb3Y2QGAQ0BAf8EAgUAMA0GCSqGSIb3DQEBCwUAA4IBAQAV1Oma8FyEr7uz # iO/jzM9Zv+vfk6USv3P/G444JO51tYK9pfyOBIw1bAQriiW4AmUbgYsOTPBRDaSn # MuZBi/srL1G+mXngoiqaP4sdt3MgCt/mJTmz/PBxVZgLk8XKxZR8C6GBKX9vVSTR # oAbwake9HBhJe4RnNoELGuXk62b1QKnkKDKUizZtuAib13yDSr5bN0KxezeGmySg # t1maDJ+qCYpQUMB3Nls7taCozh4lsl7xtvc/2A8l2Nf9pcT0GGpkZdpf1WwUqm6O # 3fUQ7+GCO2ctz8CfUchecgcBDMP40oTKDsW7d8oLP5LU8YK8lgoAzUeHA5JMscLU # Ud176XtfMYICKzCCAicCAQEwgYUweTEtMCsGA1UEAwwkRGV2ZWxvcGVyIElEIENl # cnRpZmljYXRpb24gQXV0aG9yaXR5MSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0 # aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMC # CDj+3VBykqv0MAsGCWCGSAFlAwQCAaB8MBAGCisGAQQBgjcCAQwxAjAAMBkGCSqG # SIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3 # AgEVMC8GCSqGSIb3DQEJBDEiBCDsWLTXuhC/QcsIpqFECkHpcHH44j4qR9gJmfxY # sUBT4zALBgkqhkiG9w0BAQEEggEAWFGcgxafQR0gGJdZoLtpfl8ZRaF2p28Pt1Yv # 8/EZPDyWw49rdaPlMA04QrBJjsW3/5JrG/yHNvyTRal8hnizjWUPm7N1tDBbgqUz # B1mvLrKVsx2EP6uZp/avnSVjhrkV52HCSy0xT7LwLgav9dpY2RwPIIJvJHRiYiNq # jvDU+JMs8rbjVgazejjHxrkK40+RmcahCvcZaox0UpmI75xbh4Xeu2jNwUtLDMgN # zmiiSKnhlD5hsweR6vQx//NkD0/Z1h18+hOZj2ena/Cf7SLjD8zUMwukYXs1tGeS # wKkOKg2p6VDpE+AvT/5MsDlqdSyhQh77itp4jVl0uRuomj3T6Q== # SIG # End signature block |