gpt4 book ai didi

powershell - start-transcript 导致脚本在后台作业中失败

转载 作者:行者123 更新时间:2023-12-04 01:12:55 25 4
gpt4 key购买 nike

我正在使用 start-job 创建一个 powershell 脚本作为后台作业,然后使用 start-transcript 记录它的输出。下面是两者的代码:

一个

start-job  -filepath ./b.ps1 -ArgumentList 'test.txt'
wait-job *

b

param([parameter(Mandatory = $true)][string]$logfile)
Set-PSDebug -Strict
$ErrorActionPreference = 'Stop'
start-transcript $logfile

./a.ps1 的输出

Id              Name            State      HasMoreData     Location             Command                  
-- ---- ----- ----------- -------- -------
1 Job1 Running True localhost param...
1 Job1 Failed False localhost param...
2 Job2 Failed False localhost param...

./b.ps1 -log c:\test.txt 的输出

Transcript started, output file is test.txt
Transcript stopped, output file is C:\test.txt

我还通过设置“echo here”线路来确认正在播放的线路进行了一些测试。

最佳答案

显然后台作业不支持 Start-Transcript。如果您执行 Receive-Job 来查看脚本输出,您可能会看到如下错误:

This host does not support transcription.
+ CategoryInfo : NotImplemented: (:) [Start-Transcript], PSNotSupportedException
+ FullyQualifiedErrorId : NotSupported,Microsoft.PowerShell.Commands.StartTranscriptCommand

PowerShell 2.0 中的顺便说一句,我建议您从 Set-PSDebug -strict 切换到 Set-StrictMode -Version 2.0 - 它会捕获更多潜在错误。

关于powershell - start-transcript 导致脚本在后台作业中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3835997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com