e2etest/GuestProxyAgentTest/Scripts/GuestProxyAgentValidation.ps1 (58 lines of code) (raw):

# Copyright (c) Microsoft Corporation # SPDX-License-Identifier: MIT param ( [Parameter(Mandatory=$true, Position=0)] [string]$customOutputJsonSAS ) $decodedUrlBytes = [System.Convert]::FromBase64String($customOutputJsonSAS) $decodedUrlString = [System.Text.Encoding]::UTF8.GetString($decodedUrlBytes) Write-Output "$((Get-Date).ToUniversalTime()) - Start Guest Proxy Agent Validation" $currentFolder = $PWD.Path $customOutputJsonPath = $currentFolder + "\proxyagentvalidation.json"; New-Item -ItemType File -Path $customOutputJsonPath $serviceName = "GuestProxyAgent" $service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue $guestProxyAgentServiceExist = $true $guestProxyAgentServiceStatus = "" $guestProxyAgentProcessExist = $true if ($service -ne $null) { Write-Output "$((Get-Date).ToUniversalTime()) - The service $serviceName exists." $guestProxyAgentServiceStatus = $service.Status } else { Write-Output "$((Get-Date).ToUniversalTime()) - The service $serviceName does not exist." $guestProxyAgentServiceExist = $false $guestProxyAgentServiceStatus = "service not exists" } $processName = "GuestProxyAgent" $process = Get-Process -Name $processName -ErrorAction SilentlyContinue if ($process -ne $null) { Write-Output "$((Get-Date).ToUniversalTime()) - The process $processName exists." } else { $guestProxyAgentProcessExist = $false Write-Output "$((Get-Date).ToUniversalTime()) - The process $processName does not exist." } $folderPath = "C:\WindowsAzure\ProxyAgent\Logs" $guestProxyAgentLogGenerated = $false if (Test-Path -Path $folderPath -PathType Container) { Write-Output "$((Get-Date).ToUniversalTime()) - The folder $folderPath exists." $files = Get-ChildItem -Path $folderPath -File if ($files.Count -gt 0) { Write-Output "$((Get-Date).ToUniversalTime()) - The folder $folderPath contains files." $guestProxyAgentLogGenerated = $true } else { Write-Output "$((Get-Date).ToUniversalTime()) - The folder $folderPath is empty." } } else { Write-Output "$((Get-Date).ToUniversalTime()) - The folder $folderPath does not exist." } $jsonString = '{"guestProxyAgentServiceInstalled": ' + $guestProxyAgentServiceExist.ToString().ToLower() ` + ', "guestProxyProcessStarted": ' + $guestProxyAgentProcessExist.ToString().ToLower() ` + ', "guestProxyAgentServiceStatus": "' + $guestProxyAgentServiceStatus ` + '", "guestProxyAgentLogGenerated": ' + $guestProxyAgentLogGenerated.ToString().ToLower() + '}' Write-Output "$((Get-Date).ToUniversalTime()) - $jsonString" Set-Content -Path $customOutputJsonPath -Value $jsonString $headers = @{ 'x-ms-blob-type' = 'BlockBlob' } #Upload File... Invoke-RestMethod -Uri $decodedUrlString -Method Put -Headers $headers -InFile $customOutputJsonPath