在Windows Server 2012 R2和2016上将Instant / Stop-Transcript与Invoke-Command一起使用

问题描述 投票:1回答:1

我正在尝试在服务器上远程执行操作,并使用笔录功能记录所有记录。

问题是:是否有一种方法可以使用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


powershell remote-access invoke windows-server-2012-r2 windows-server-2016
1个回答
0
投票

尝试使用写输出而不是写主机

© www.soinside.com 2019 - 2024. All rights reserved.