e2etest/GuestProxyAgentTest/Scripts/CollectInVMGALog.ps1 (26 lines of code) (raw):

# Copyright (c) Microsoft Corporation # SPDX-License-Identifier: MIT param ( [Parameter(Mandatory=$true, Position=0)] [string]$logZipSas ) $decodedUrlBytes = [System.Convert]::FromBase64String($logZipSas) $decodedUrlString = [System.Text.Encoding]::UTF8.GetString($decodedUrlBytes) ## get guest agent installation path $serviceName="WindowsAzureGuestAgent" $serviceKeyPath = "HKLM:\SYSTEM\CurrentControlSet\Services\$serviceName" $gaInstallPath = Get-ItemPropertyValue -Path $serviceKeyPath -Name "ImagePath" $gaFolder = Split-Path -Path $gaInstallPath -Parent ## get CollectGuestLogs.exe path $collectGuestLogExePath = $gaFolder + "\CollectGuestLogs.exe" ## run CollectGuestLogs.exe to collect log zip ## upload the zip to blob sas url $currentFolder = $PWD.Path $logZipPath = $currentFolder + "\VMAgentLogs.zip"; Write-Output "$((Get-Date).ToUniversalTime()) - CollectGuestLogExe path: $collectGuestLogExePath" Start-Process -FilePath $collectGuestLogExePath -WorkingDirectory $currentFolder -ArgumentList "-Mode:full -FileName:$logZipPath" -Wait -NoNewWindow $headers = @{ 'x-ms-blob-type' = 'BlockBlob' } #Upload File... Invoke-RestMethod -Uri $decodedUrlString -Method Put -Headers $headers -InFile $logZipPath