ny3259 发表于 2018-6-14 14:05:36

Windows PowerShell命令历史用法详解

  (一)获取所有包含“history”关键字的cmdlet
  使用PS C:\< Get-Command -Name *history* -CommandType cmdlet,结果如图。

  (二)通过上图查找到history相关的命令后,我们可以再使用get-history来获取命令的历史记录,如图。

  (三)可以通过使用Get-Alias -Definition Get-History的方式来获取该cmdlet的别名,如图。

  (四)如何通过查看到的命令历史记录信息来运行历史命令呢?
  例如上面查到的命令记录有Get-ChildItem,这个命令的历史记录的ID号是3,那么我们可以通过使用PS C:\< Invoke-History -Id 3来运行这个历史命令,如图。

  (五)如何查看特定的命令历史记录呢?
  可以通过使用Get-History>号的形式,如图,获取ID号为3、4的命令历史记录。

  但是不能使用 Invoke-History -Id 3,4的方式来运行,否则会报错,如图。

  同样的,
  我们可以使用Get-History 3 | Invoke-History的方式去执行历史命令,如图。

  但是,
  不能使用Get-History 3,4 | Invoke-History的方式去执行命令,否则会报错,如图。

  通过上图的报错可以看出,管道不能同时接受多个项目的输入,我们可以添加foreach循环语句来解决该问题,如图。
  使用命令:
  Get-History -Id 3, 4 | foreach { Invoke-History -id $_.ID}
  命令成功执行,如图。

  Tip:http://blogs.technet.com/b/heyscriptingguy/archive/2015/03/03/avoid-scripting-use-powershell-command-history.aspx
  ==============================================================================
页: [1]
查看完整版本: Windows PowerShell命令历史用法详解