我正在尝试在服务器上远程执行操作,并使用笔录功能记录所有记录。
问题是:是否有一种方法可以使用invoke-command使用start-transcript获取2012 R2服务器(与2016年相同)的信息?或者,只需在日志文件中打印powershell控制台输出]
这是逻辑:
function DoLogic() {
#Algo / Actions
Write-Host "TEST"
}
$servers = "server1","server2", "etc"
Start-Transcript -Path "E:\tmp\transcript.txt" -Verbose
foreach ($server in $servers) {
Write-Host "Server: " -NoNewline
Write-Host "$server " -ForegroundColor Yellow
Invoke-Command -ComputerName $server -ScriptBlock ${Function:DoLogic}
}
Stop-Transcript
表示server1是2012 R2,server2是2016
问题是,成绩单的输出是:
服务器:
服务器1
服务器:
server2
信息:你好
Powershell控制台输出:
脚本开始,输出文件为E:\ tmp \ transcript.txt
服务器:server1
你好
服务器:server2
你好
脚本停止,输出文件为E:\ tmp \ transcript.txt
尝试使用写输出而不是写主机