Parallel processing 并行处理服务器 ServiceStatus-服务器“Machine1”、“machine2”、“machine3” 工作流服务状态 { param([string[]]$servers) foreach-并行($服务器中的服务器) { 写入主机“检查$server中的状态…”-ForegroundColor黑色-BackgroundColor绿色 获取服务W3SVC-ComputerName$server |格式表名、状态、MachineName-AutoSize 如果(!$?) { 输出文件$FileName1-Append-InputObject$server-Encoding ascii } } }

Parallel processing 并行处理服务器 ServiceStatus-服务器“Machine1”、“machine2”、“machine3” 工作流服务状态 { param([string[]]$servers) foreach-并行($服务器中的服务器) { 写入主机“检查$server中的状态…”-ForegroundColor黑色-BackgroundColor绿色 获取服务W3SVC-ComputerName$server |格式表名、状态、MachineName-AutoSize 如果(!$?) { 输出文件$FileName1-Append-InputObject$server-Encoding ascii } } },parallel-processing,powershell-workflow,Parallel Processing,Powershell Workflow,我试图使foreach并行执行,但这给了我一个“foreach循环附近的语法错误”错误。Format-*cmdlet只能在PowerShell工作流的InlineScript部分中使用。有关更多信息,请参阅。同样的情况也适用于写主机 此外,您必须在调用工作流之前定义它 workflow ServiceStatus { ... } ServiceStatus -Servers "Machine1", "machine2", "machine3" 尝试删除@Format-*并写入主机。

我试图使
foreach
并行执行,但这给了我一个“foreach循环附近的语法错误”错误。

Format-*
cmdlet只能在PowerShell工作流的
InlineScript
部分中使用。有关更多信息,请参阅。同样的情况也适用于
写主机

此外,您必须在调用工作流之前定义它

workflow ServiceStatus {
    ...
}

ServiceStatus -Servers "Machine1", "machine2", "machine3" 

尝试删除@Format-*并写入主机。但它仍然给出了同样的错误。