Get-History

获取在当前会话过程中输入的命令列表。

语法

Get-History
   [[-Id] <Int64[]>]
   [[-Count] <Int32>]
   [<CommonParameters>]

说明

cmdlet Get-History 获取会话历史记录,即在当前会话期间输入的命令列表。

PowerShell 会自动维护每个会话的历史记录。 会话历史记录中的条目数由首选项变量的值 $MaximumHistoryCount 确定。 从 Windows PowerShell 3.0 开始,默认值为 4096。 默认情况下,历史记录文件保存在主目录中,但你可以将该文件保存在任何位置。 有关 PowerShell 中的历史记录功能的详细信息,请参阅 about_History

会话历史记录与 PSReadLine 模块维护的历史记录分开管理。 这两个历史记录在加载 PSReadLine 的会话中可用。 此 cmdlet 仅适用于会话历史记录。 有关详细信息,请参阅 about_PSReadLine

示例

示例 1:获取会话历史记录

此示例获取会话历史记录中的条目。 将默认显示每个命令及其 ID,指示其运行顺序。

Get-History

示例 2:获取包含字符串的条目

此示例获取命令历史记录中包含字符串服务的条目。 第一个命令获取会话历史记录中的所有条目。 管道运算符 (|) 将结果传递给 Where-Object cmdlet,该 cmdlet 仅选择包含服务的命令。

Get-History | Where-Object {$_.CommandLine -like "*Service*"}

示例 3:将历史记录条目导出到特定 ID

此示例获取以条目 7 结尾的五个最新历史记录条目。 管道运算符将结果传递给 Export-Csv cmdlet,该 cmdlet 将历史记录的格式设置为逗号分隔文本,并将其保存在 History.csv 文件中。 该文件包括将历史记录的格式设置为列表时显示的数据。 这包括该命令的状态以及开始和结束时间。

Get-History -ID 7 -Count 5 | Export-Csv History.csv

示例 4:显示最新的命令

此示例获取命令历史记录中的最后一个命令。 最后一个命令是最新输入的命令。 此命令使用 Count 参数以仅显示一个命令。 默认情况下, Get-History 获取最新的命令。 此命令可缩写为“h -c 1”,等效于按向上箭头键。

Get-History -Count 1

示例 5:显示历史记录中的条目的所有属性

此示例显示会话历史记录中条目的所有属性。 管道运算符将命令的结果 Get-History 传递给 Format-List cmdlet,该 cmdlet 显示每个历史记录条目的所有属性。 这包括该命令的 ID、状态以及开始和结束时间。

Get-History | Format-List -Property *

参数

-Count

指定此 cmdlet 获取的最新历史记录条目数。 默认情况下, Get-History 获取会话历史记录中的所有条目。 如果在命令中同时使用 CountId 参数,显示结果将以 Id 参数指定的命令结尾。

在 Windows PowerShell 2.0 中,默认情况下,Get-History获取 32 个最新条目。

Type:Int32
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

指定会话历史记录中的条目的 ID 数组。 Get-History 仅获取指定的条目。 如果在命令中使用 IdCount 参数, Get-History 则获取以 Id 参数指定的条目结尾的最新条目。

Type:Int64[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

输入

Int64

可以通过管道将历史记录 ID 传递给此 cmdlet。

输出

HistoryInfo

此 cmdlet 将返回它所获取的每个历史记录项的历史记录对象。

备注

会话历史记录是在会话期间输入的命令的列表。 会话历史记录表示命令的运行顺序、状态以及开始和结束时间。 输入每个命令时,PowerShell 会将其添加到历史记录中,以便可以重复使用它。 有关命令历史记录的详细信息,请参阅 about_History

从 Windows PowerShell 3.0 开始,首选项变量的$MaximumHistoryCount默认值为 4096。 在 Windows PowerShell 2.0 中,默认值为 64。 有关变量 $MaximumHistoryCount 的详细信息,请参阅 about_Preference_Variables