You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Start-Transcript未遵循$Transcript变量,如何指定转录文件路径?

解决Start-Transcript不使用指定$Transcript路径的问题

问题原因

虽然$Transcript是PowerShell的偏好变量,但**Start-Transcript默认不会自动读取该变量的值**。这个变量的核心作用是存储当前正在运行的转录会话路径,而非作为启动转录的默认路径参数。

两种可行解决方法

方法1:显式使用-Path参数指定路径

直接将构建好的$Transcript变量作为参数传给Start-Transcript,这是最直观且可靠的方式:

$Path       = "E:\Scripts\Weekly_Stats\Output\Version6-4\Transcripts"
$datetime   = Get-Date -F 'yyyyMMddHHmmss'
$filename   = "Transcript-ComputersUsersAdminsSMB-${datetime}.txt"
$Transcript = (Join-Path -Path $Path -ChildPath $filename).ToString()
Start-Transcript -Path $Transcript

方法2:通过$PSDefaultParameterValues预设参数

如果希望脚本中所有Start-Transcript调用都自动使用该路径,可以提前设置参数默认值:

$Path       = "E:\Scripts\Weekly_Stats\Output\Version6-4\Transcripts"
$datetime   = Get-Date -F 'yyyyMMddHHmmss'
$filename   = "Transcript-ComputersUsersAdminsSMB-${datetime}.txt"
$Transcript = (Join-Path -Path $Path -ChildPath $filename).ToString()

# 为Start-Transcript设置默认Path参数
$PSDefaultParameterValues['Start-Transcript:Path'] = $Transcript

Start-Transcript

补充说明

  • $Transcript变量主要用于查询当前活动转录的路径(比如运行Get-Variable Transcript查看正在录制的文件位置),而非预先指定启动路径。
  • 无人值守脚本中优先推荐方法1,避免因参数默认值冲突导致意外问题。

内容的提问来源于stack exchange,提问作者sailingbikeruk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 18:04:50