我试图从Invoke-Command中将结果数据输出到一个.csv文件中,但运气不佳。这就是我所拥有的:
$output= @()
ForEach ($server in $servers) {
Invoke-Command -ComputerName $server -ScriptBlock {
param($server_int, $output_int)
If((Start-Process "c:\temp\installer.exe" -ArgumentList "/S" -Wait -Verb RunAs).ExitCode -ne 0) {
$output_int += "$server_int, installed successfully"
} else {
$output_int += "$server_int, install failed"
}
} -ArgumentList $server, $output
}
$output | Out-file -Append "results.csv“
据我所知,$output_int仅在Invoke-Command会话中可用。如何检索这个$output_int变量并将其值添加到我的.csv文件中?
非常感谢!
发布于 2020-04-07 00:17:53
使用Write-Output cmdlet,并将调用保存到$output数组中...
试试这个:
$output = @()
ForEach ($server in $servers) {
$Output += Invoke-Command -ComputerName $server -ScriptBlock {
param($server_int)
If((Start-Process "c:\temp\installer.exe" -ArgumentList "/S" -Wait -Verb RunAs).ExitCode -ne 0) {
Write-Output "$server_int, installed successfully"
} else {
Write-Output "$server_int, install failed"
}
} -ArgumentList $server
}
$output | Out-file -Append "results.csv"https://stackoverflow.com/questions/61064039
复制相似问题