Get-History
获取在当前会话中输入的命令的列表。
语法
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、状态以及开始和结束时间。