ServiceStatus -Servers "Machine1", "machine2", "machine3"
workflow ServiceStatus
{
param([string[]]$servers)
foreach -Parallel ($server in $servers)
{
Write-Host "Chekcing status in $server..." -ForegroundColor black -BackgroundColor green
Get-Service W3SVC -ComputerName $server | Format-Table Name,Status,MachineName -AutoSize
if(!$?)
{
Out-File $FileName1 -Append -InputObject $server -Encoding ascii
}
}
}
我尝试让foreach
并行执行,但它给了我一个“foreach循环附近的语法错误”错误。
答案 0 :(得分:0)
Format-*
cmdlet只能在PowerShell工作流程的InlineScript
部分中使用。有关详细信息,请参阅here。同样适用于Write-Host
。
此外,您必须在调用之前定义工作流。
workflow ServiceStatus {
...
}
ServiceStatus -Servers "Machine1", "machine2", "machine3"