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

语法

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

说明

Get-History cmdlet 获取会话历史记录(即在当前会话中输入的命令的列表)。Windows PowerShell 自动地维护每一个会话的历史记录。您可以采用 XML 或 CSV 格式保存会话历史记录。默认情况下,历史记录文件保存在主目录中,但也可以将该文件保存在任何位置。

参数

-Count <int>

显示指定数量的最近历史记录条目。默认值是 32。如果在一个命令中同时使用 Count 和 Id 参数,则显示将在 Id 参数指定的命令处结束。

是否为必需?

false

位置?

2

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Id <Int64[]>

指定会话历史记录中的命令的 ID 号。Get-History 只获取指定的命令。如果使用 Id 和 Count,则 Get-History 获取最近的命令,一直到 Id 参数所指定的命令。

是否为必需?

false

位置?

1

默认值

是否接受管道输入?

true (ByValue)

是否接受通配符?

false

<CommonParameters>

此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.

输入和输出

输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。

输入

Int64

可以通过管道将历史记录 ID 传递给 Get-History。

输出

Microsoft.PowerShell.Commands.HistoryInfo

Get-History 为所获取的每个历史记录项返回一个历史记录对象。

说明

会话历史记录是会话期间输入的命令(包含 ID)的列表。会话历史记录表示命令的执行顺序、状态以及开始和结束时间。输入每条命令时,Windows PowerShell 会将其添加到历史记录中,以便对其进行重复利用。有关命令历史记录的详细信息,请参阅 about_History。

还可以使用 Get-History 的内置别名“h”、“history”和“ghy”来对其进行引用。有关详细信息,请参阅 about_Aliases。

示例 1

C:\PS>get-history

说明
-----------
此命令获取 32 个最近提交的命令。默认显示每一个命令及其表示执行顺序的 ID。






示例 2

C:\PS>get-history | where-object {$_.commandLine -like "*service*"}

说明
-----------
此命令从命令历史记录中获取包括单词“service”的条目。第一个命令获取会话历史记录中的 32 个最近的条目。管道运算符 (|) 将结果传递给 Where-Object cmdlet,后者只选择包括“service”的命令。






示例 3

C:\PS>get-history -id 7 -count 5 | export-csv history.csv

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






示例 4

C:\PS>get-history -count 1

说明
-----------
此命令获取命令历史记录中的最后一个(最近输入的)命令。它使用 Count 参数来只显示一个命令。默认情况下,Get-History 显示最近的命令。此命令可以缩写为“h -c 1”,相当于按上箭头键。






示例 5

C:\PS>get-history -count $MaximumHistoryCount

说明
-----------
此命令显示保存在会话历史记录中的所有命令。默认情况下,$MaximumHistoryCount 是 64,因此,此命令可以缩写为“h -c 64”。






示例 6

C:\PS>get-history | format-list

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






另请参阅




目录