成绩单使用远程处理
我有一个文件transcript-test.ps1与下面的内容
$ log ='TestLog {0:yyyyMMdd -HHmm}“-f(Get-Date)$ logfile ='C: logs '+ $ log +'.txt'开始 - 转录 - 路径$ logfile -force写入 - 测试这条消息是否被记录“Stop-transcript
我尝试运行脚本让我们说“box1”,日志文件包含下面的内容
********** Windows PowerShell脚本开始启动时间:20110105114050用户名:domain user机器:BOX1(Microsoft Windows NT 5.2.3790 Service Pack 2) **********脚本已启动,输出文件是C: logs TestLog20110105-1140.txt
测试这条消息是否被记录
********** Windows PowerShell脚本结束时间:20110105114050
当我使用下面的脚本从另一台机器运行相同的脚本时,在日志文件中看不到任何消息
Invoke-command {powershell.exe -ExecutionPolicy Unrestricted -NoProfile -File C: in ll transcript-test.ps1} -computername box1 -credential $ credential get-credential
日志文件的内容:
********** Windows PowerShell脚本开始启动时间:20110105114201用户名:DOMAIN user计算机:BOX1(Microsoft Windows NT 5.2.3790 Service Pack 2)
********** Windows PowerShell脚本结束时间:20110105114201
无论如何,当远程调用时将脚本中的消息记录到日志文件中?
谢谢! Sanjeev
Invoke-command将你的代码执行到一个作业中,就我所知,一个没有控制台的线程,所以不需要转录。 对我而言,你得到的是绝对正常的。
以下内容将在抄本中捕获您的本地和远程详细消息
$VerbosePreference = "continue"
Start-Transcript -path c:temptranscript.txt
Write-Verbose "here 1"
$job = Invoke-Command cbwfdev01 -ScriptBlock {
$ErrorActionPreference = "Stop";
$VerbosePreference = "continue";
Write-Verbose "there 1";
Write-Verbose "there 2";
Write-Verbose "there 3";
} -AsJob
Wait-Job $job | Out-Null
$VerboseMessages = $job.ChildJobs[0].verbose.readall()
ForEach ($oneMessage In $VerboseMessages) {Write-Verbose $oneMessage}
Write-Verbose "here 2"
Stop-Transcript
链接地址: http://www.djcxy.com/p/61081.html