Get-History

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

语法

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

说明

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

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

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

示例

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

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

Get-History

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

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

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

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

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

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

示例 4:显示最新的命令

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

Get-History -Count 1

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

此示例显示会话历史记录中的条目的所有属性。 管道运算符将 Get-History 命令的结果传递给 Format-List 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 仅获取指定的条目。 如果在命令中同时使用 Id 和 Count 参数,则 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 包含 Get-History 的以下别名:

  • 所有平台:
    • h
    • history
    • ghy

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

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