我很新的PowerShell,所以尋找一些幫助。我試圖運行遠程PowerShell腳本來檢查使用Citrix Commandlets的健康狀況或VDI環境。 (我正在執行Microsoft Orchestrator .Net Activity上的腳本)。所以,我有以下代碼: #2012 VDI桌面檢查返回並引用遠程PowerShell變量結果
$vdims = "MyCitrixPowershellSDKServer"
function vdidesktopcheck
{
asnp Citrix*
$result = Get-BrokerDesktop -InMaintenanceMode $True -DesktopGroupName Unidesk
$result
}
$output = invoke-command -computer $vdims -scriptblock ${function:vdidesktopcheck}
$machinename = $output.machinename
$machinename
$state = $output.RegistrationState
$state
所以,當我使用Orchestrator可以暴露變量$計算機名,$狀態 - 我從involked獲取-BrokerDesktop查詢「最後」的結果。但是,Get-Brokerdesktop查詢可能會返回多個機器,因此我希望能夠引用與查詢輸出相匹配的每臺機器。這就是基本要求 - 我希望能夠做的是進一步改進基本的Get-BrokerDesktop查詢,以便能夠計算機器輸出上的數量大於3(即,MaintMode中有3臺以上的機器是不可接受的),還有請檢查MachineName屬性是否與特定值不相等,即環境中可能會處於維護模式的3個測試機器名稱。
希望這是有道理的,如果不是的話,我會嘗試和闡述。任何幫助非常感謝!