如何查看 Windows Server 2016 中所有 PowerShell 会话的命令历史记录?
How can I see the command history across all PowerShell sessions in Windows Server 2016?
在哪里可以查看 Windows Server 2016 中所有会话的完整历史记录?
以下 PowerShell 命令仅包含当前会话中的命令:
Get-History
在 PowerShell 中输入以下命令:
(Get-PSReadlineOption).HistorySavePath
这为您提供了保存所有历史记录的路径。然后在文本编辑器中打开路径。
尝试cat (Get-PSReadlineOption).HistorySavePath
在 PowerShell 中列出历史记录。
Powershell 画廊中的 Psreadline 模块 2.1 beta1(仅限 Powershell 7)https://www.powershellgallery.com/packages/PSReadLine/2.1.0-beta1 does intellisense on the commandline using the saved history: https://github.com/PowerShell/PSReadLine/issues/1468 It's been starting to show up in Vscode. https://www.reddit.com/r/PowerShell/comments/g33503/completion_on_history_in_vscode/
同样在 Psreadline 中,您可以使用 f8(在命令行中键入内容后)或 control-R 向后搜索保存的历史记录。 Get-psreadlinekeyhandler 列出键绑定。
get-psreadlinekeyhandler -bound -unbound | ? function -match history
为了从 PowerShell 获取完整的历史记录并将输出保存到文件,我使用了这个命令:
Get-Content (Get-PSReadlineOption).HistorySavePath > D:\PowerShellHistory.txt
因为你在windows,你也可以使用下面的方法打开'notepad'。
notepad (Get-PSReadlineOption).HistorySavePath
提到了 Windows Server/Enterprise 版本,但作为 Pro(标准零售版)用户,我也可以使用 HistorySavePath
。我需要查看最近在较旧的会话中安装了哪些 python 软件包,并想在此处为寻找历史中 特定 事物的人们添加一个答案。
# if you like file names and line numbers included in your output
Select-String "<search pattern>" (Get-PSReadlineOption).HistorySavePath
# if you Just want the text without any of the other information
Get-Content (Get-PSReadlineOption).HistorySavePath | Select-String "<search pattern>"
就我而言 运行
Select-String 'pip install' (Get-PSReadlineOption).HistorySavePath
这给了我一个 pip install 命令列表 运行 来自我以前的会话
...
[Path/To/File]:10401:pip install dash
[Path/To/File]:10824:pip install -r .\requirements.txt
[Path/To/File]:11296:pip install flask-mysqldb
[Path/To/File]:11480:pip install Flask-Markdown
[Path/To/File]:11486:pip install pygments
[Path/To/File]:11487:pip install py-gfm
[Path/To/File]:11540:pip install bs4
你可以试试这个PowerShell Command History
在 windows PowerShell
要加入会话,您可以使用
h
或 history
但要获取您使用的计算机中写入的所有命令
cat (Get-PSReadlineOption).HistorySavePath
在哪里可以查看 Windows Server 2016 中所有会话的完整历史记录?
以下 PowerShell 命令仅包含当前会话中的命令:
Get-History
在 PowerShell 中输入以下命令:
(Get-PSReadlineOption).HistorySavePath
这为您提供了保存所有历史记录的路径。然后在文本编辑器中打开路径。
尝试cat (Get-PSReadlineOption).HistorySavePath
在 PowerShell 中列出历史记录。
Powershell 画廊中的 Psreadline 模块 2.1 beta1(仅限 Powershell 7)https://www.powershellgallery.com/packages/PSReadLine/2.1.0-beta1 does intellisense on the commandline using the saved history: https://github.com/PowerShell/PSReadLine/issues/1468 It's been starting to show up in Vscode. https://www.reddit.com/r/PowerShell/comments/g33503/completion_on_history_in_vscode/
同样在 Psreadline 中,您可以使用 f8(在命令行中键入内容后)或 control-R 向后搜索保存的历史记录。 Get-psreadlinekeyhandler 列出键绑定。
get-psreadlinekeyhandler -bound -unbound | ? function -match history
为了从 PowerShell 获取完整的历史记录并将输出保存到文件,我使用了这个命令:
Get-Content (Get-PSReadlineOption).HistorySavePath > D:\PowerShellHistory.txt
因为你在windows,你也可以使用下面的方法打开'notepad'。
notepad (Get-PSReadlineOption).HistorySavePath
提到了 Windows Server/Enterprise 版本,但作为 Pro(标准零售版)用户,我也可以使用 HistorySavePath
。我需要查看最近在较旧的会话中安装了哪些 python 软件包,并想在此处为寻找历史中 特定 事物的人们添加一个答案。
# if you like file names and line numbers included in your output
Select-String "<search pattern>" (Get-PSReadlineOption).HistorySavePath
# if you Just want the text without any of the other information
Get-Content (Get-PSReadlineOption).HistorySavePath | Select-String "<search pattern>"
就我而言 运行
Select-String 'pip install' (Get-PSReadlineOption).HistorySavePath
这给了我一个 pip install 命令列表 运行 来自我以前的会话
...
[Path/To/File]:10401:pip install dash
[Path/To/File]:10824:pip install -r .\requirements.txt
[Path/To/File]:11296:pip install flask-mysqldb
[Path/To/File]:11480:pip install Flask-Markdown
[Path/To/File]:11486:pip install pygments
[Path/To/File]:11487:pip install py-gfm
[Path/To/File]:11540:pip install bs4
你可以试试这个PowerShell Command History
在 windows PowerShell
要加入会话,您可以使用
h
或 history
但要获取您使用的计算机中写入的所有命令
cat (Get-PSReadlineOption).HistorySavePath