powershell之接收作业输出到文件
cloudgamer
阅读:30
2024-10-25 08:56:14
评论:0
如何将接收作业结果输出到文件?
我试过了,但没用:
$log = "C:\springfield\citrix\CitrixAutomation.log"
Get-Job | Receive-Job | Out-File $log
我还尝试保存 Get-Job | 的输出Receive-Job
到一个变量,但它不起作用..
$log = "C:\springfield\citrix\CitrixAutomation.log"
$getjobarr = @()
Function LogWrite
{
Param ([array]$logstring)
$logstring | Out-File $log -Append
}
$getjobarr += Get-Job | Receive-Job
LogWrite $getjobarr
我认为 Get-Job
和 Receive-Job
只能输出到控制台,那么我该如何实现呢?
谢谢你的帮助
请您参考如下方法:
作业“输出”可以重定向到一个文件,例如:
PS> Start-Job {Get-ChildItem C:\users\keith}
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
2 Job2 BackgroundJob Running True localhost Get-ChildItem C:\users...
PS> Receive-Job -id 2 | Out-File job.log
PS> gc .\job.log
Directory: C:\users\keith
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 1/21/2014 8:24 PM <DIR> .ssh
d---- 9/9/2014 10:00 PM <DIR> Bin
d-r-- 9/11/2014 9:20 PM <DIR> Contacts
d-r-- 9/11/2014 9:20 PM <DIR> Desktop
如果您在作业中运行的任何内容都写入主机,那么是的,您就完蛋了。如果您控制它,请使用写输出而不是写主机。此外,请确保等到每个作业完成后再接收其输出,除非您可以坐在循环中等待作业状态更改为“已完成”或“失败”。您可以使用 Wait-Job 等待作业完成,然后再请求其输出。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。