我想了解並行工作流如何工作,所以我開始爲這項工作開發一個簡單的腳本。但無法理解如何檢索(甚至保存)信息。
編輯:忘了提及下面的代碼不能像我期望的那樣工作。並行工作流
$wks ='wks1.domain.com','wks2.domain.com','wks3.domain.com'
workflow ExampleWorkflow{
param ($wks_list)
$array_workflow = @()
foreach -Parallel ($workstation in $wks_list){
$processes = Get-Process -PSComputerName $workstation
foreach($process in $processes){
$info = New-Object -TypeName PSObject
$info | Add-Member -Type NoteProperty -Name ID -Value $process.ID
$info | Add-Member -Type NoteProperty -Name ProcessName -Value $process.ProcessName
$info | Add-Member -Type NoteProperty -Name RAM -Value $process.PM
$info | Add-Member -Type NoteProperty -Name WKS -Value $workstation
$WORKFLOW:array_workflow += $info
}
}
}
ExampleWorkflow $wks
有人可以幫助我瞭解如何操縱內部工作流程數據,以便以後可以退出工作流程後訪問?
你不能在工作流中使用的對象。嘗試在你的foreach中使用'inlinescript {}'塊。你可以將你的內聯塊的輸出加載到一個變量中,但它仍然不能是一個對象。在這些情況下,我通常會導出爲JSON,然後重新轉換爲工作流之外的對象。 – Colyn1337
你能給我舉個例子嗎?例如,我做'$ array_workflow | ConvertTo-Json'在工作流程內。但它在哪裏存儲? – Syphirint