当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Start-Transcript (Microsoft.PowerShell.Host)

作者:精品下载站 日期:2024-12-14 02:13:20 浏览:14 分类:玩电脑

Start-Transcript (Microsoft.PowerShell.Host)


Start-Transcript

模块 :Microsoft.PowerShell.Host

在文本文件中创建全部或部分 PowerShell 会话的记录。

句法

Start-Transcript
     [[-Path] <String>]
     [-Append]
     [-Force]
     [-NoClobber]
     [-IncludeInvocationHeader]
     [-UseMinimalHeader]
     [-WhatIf]
     [-Confirm] 
     [<CommonParameters>]
Start-Transcript
     [[-LiteralPath] <String>]
     [-Append]
     [-Force]
     [-NoClobber]
     [-IncludeInvocationHeader]
     [-UseMinimalHeader]
     [-WhatIf]
     [-Confirm] 
     [<CommonParameters>]
Start-Transcript
     [[-OutputDirectory] <String>]
     [-Append]
     [-Force]
     [-NoClobber]
     [-IncludeInvocationHeader]
     [-UseMinimalHeader]
     [-WhatIf]
     [-Confirm] 
     [<CommonParameters>]

描述

Start-Transcript cmdlet 将全部或部分 PowerShell 会话的记录创建到文本文件中。脚本包括用户键入的所有命令以及控制台上显示的所有输出。

默认情况下,Start-Transcript 使用默认名称将转录本存储在以下位置:

  • 在 Windows 上:$HOME\Documents
  • 在 Linux 或 macOS 上:$HOME

默认文件名是 PowerShell_transcript....txt

从 Windows PowerShell 5.0 开始,Start-Transcript 在所有记录的生成文件名中包含主机名。文件名的名称中还包含随机字符,以防止同时启动两个或多个转录本时可能发生的覆盖或重复。如果您将转录本存储在集中位置,则包含计算机名称会很有用。随机字符串可防止猜测文件名从而获得对文件的未经授权的访问。

如果目标文件没有字节顺序标记 (BOM),则 Start-Transcript 在目标文件中默认采用 Utf8NoBom 编码。

示例

示例 1:使用默认设置启动转录文件

Start-Transcript

此命令在默认文件位置启动转录。

示例 2:在特定位置启动转录文件

Start-Transcript -Path "C:\transcripts\transcript0.txt" -NoClobber

此命令在 C:\transcriptsTranscript0.txt 文件中启动转录。 NoClobber 参数可防止覆盖任何现有文件。如果 Transcript0.txt 文件已存在,则该命令失败。

示例 3:使用唯一名称启动转录文件并将其存储在文件共享上

以下示例创建一个转录文件,其名称足够唯一,可以存储在共享位置。文件名由用户名、运行 PowerShell 的计算机的主机名、PowerShell 版本以及日期和时间构成。脚本存储在 \Server01\Transcripts 文件共享中。

$sharepath  = '\Server01\Transcripts'
$username   = $env:USERNAME
$hostname   = hostname
$version    = $PSVersionTable.PSVersion.ToString()
$datetime   = Get-Date -f 'yyyyMMddHHmmss'
$filename   = "Transcript-${username}-${hostname}-${version}-${datetime}.txt"
$Transcript = Join-Path -Path $sharepath -ChildPath $filename
Start-Transcript

脚本文件的完整路径存储在 $Transcript 首选项变量中。有关 $Transcript 首选项变量的详细信息,请参阅 about_Preference_Variables。

参数

-Append

指示此 cmdlet 将新记录添加到现有文件的末尾。使用Path参数指定文件。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Confirm

在运行 cmdlet 之前提示您进行确认。

类型 :

SwitchParameter

别名:

cf

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Force

允许 cmdlet 将脚本附加到现有的只读文件中。当用于只读文件时,该 cmdlet 会将文件权限更改为读写。使用此参数时,cmdlet 无法覆盖安全限制。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-IncludeInvocationHeader

指示此 cmdlet 记录命令运行时的时间戳。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-LiteralPath

指定转录文件的位置。与 Path 参数不同,LiteralPath 参数的值完全按照键入的方式使用。没有字符被解释为通配符。如果路径包含转义字符,请将其用单引号引起来。单引号告知 PowerShell 不要将任何字符解释为转义序列。

类型 :

String

别名:

PSPath, LP

位置:

0

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-NoClobber

指示此 cmdlet 不会覆盖现有文件。默认情况下,如果指定路径中存在脚本文件,Start-Transcript 将覆盖该文件而不发出警告。

类型 :

SwitchParameter

别名:

NoOverwrite

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-OutputDirectory

指定保存脚本的特定路径和文件夹。 PowerShell 自动分配转录本名称。

类型 :

String

位置:

0

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Path

指定转录文件的位置。输入 .txt 文件的路径。不允许使用通配符。如果路径中的任何目录不存在,该命令将失败。

如果您未指定路径,Start-Transcript 将使用 $Transcript 全局变量值中的路径。如果您尚未创建此变量,Start-Transcript 会将转录本存储在默认位置和文件名中。

类型 :

String

位置:

0

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-UseMinimalHeader

在转录本中添加一个短标题,而不是默认包含的详细标题。此参数是在 PowerShell 6.2 中添加的。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-WhatIf

显示 cmdlet 运行时会发生什么情况。该 cmdlet 未运行。

类型 :

SwitchParameter

别名:

wi

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

输入

您无法将对象通过管道传输到此 cmdlet。

输出

字符串

此 cmdlet 返回一个字符串,其中包含确认消息和输出文件的路径。

笔记

要停止转录,请使用 Stop-Transcript cmdlet。

要录制整个会话,请将 Start-Transcript 命令添加到您的个人资料中。有关详细信息,请参阅 about_Profiles。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯