获取PowerShell的所有历史记录

2023-05-16

PowerShell默认的history命令只能查看当前窗口的历史记录,很不方便

可以使用以下方法获取PowerShell的所有历史记录,简单记录一下

一、PSReadline

当前版本(5.1)默认安装了Readline,其为PowerShell提供了诸多实用功能,包括了历史记录的记录功能。

# 获取可配置的选项的值
Get-PSReadLineOption
# 获取 PSReadLine 模块的键绑定
Get-PSReadlineKeyHandler

可以看到其历史记录功能如下:

历史记录功能
======

Key       Function              Description
---       --------              -----------
Alt+F7    ClearHistory          从命令行历史记录(不是 PowerShell 历史记录)
                                中删除所有项
Ctrl+s    ForwardSearchHistory  以交互方式向前搜索历史记录
F8        HistorySearchBackward 搜索历史记录中以当前输入开头的上一项,例如
                                PreviousHistory (如果输入为空)
Shift+F8  HistorySearchForward  搜索历史记录中以当前输入开头的下一项,例如
                                NextHistory (如果输入为空)
DownArrow NextHistory           使用历史记录中的下一项替换输入
UpArrow   PreviousHistory       使用历史记录中的上一项来替换输入
Ctrl+r    ReverseSearchHistory  以交互方式向后搜索历史记录

默认的查看历史记录的命令为history,但只能查看当前命令行的命令

而当前版本的Readline也没有提供直接查看history功能

可以使用 Get-Content (Get-PSReadlineOption).HistorySavePath获得PSReadline保存的历史记录,但是这种方法太长了,找了半天发现当前版本并没有什么其他方法。

二、写函数

# Add Get-AllHistory function for powershell
function Get-AllHistory
{
	<#
       .SYNOPSIS
	   # Get-AllHistory
	   Get all history of powershell
	   # Get-AllHistory n
	   Show the last n history records
	   .DESCRIPTION
	   The function add by Kody
    #>
	param (
        $Count
    )
    if($Count){
		$his = Get-Content (Get-PSReadLineOption).HistorySavePath -tail $Count
	}
	else{
		$his = Get-Content (Get-PSReadLineOption).HistorySavePath
	}
    $n = $his.Length
    $out = @()
    for($i=1;$i -le $n;$i++)
    {
        $out = $out + "$i $($his[$i-1])"
    }
    return $out
}

打开配置文件,把这个函数加进去

notepad $PROFILE

三、使用

Get-AllHistory

Get-AllHistory 100 #最近一百条历史记录

如果还是觉得Get-AllHistory也太长了

可以设个别名,也加到$PROFILE里面

Set-Alias -Name his -Value Get-AllHistory
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取PowerShell的所有历史记录 的相关文章

随机推荐

  • Android开发 之 确认凭证

    确认凭证 主要目的 xff1a 设置不用验证时间 设置为30秒 xff0c 当超过30秒后则需要重新验证身份才能操作 您的应用可以根据用户在多久之前最后一次解锁设备来验证其身份 此功能让用户不必费心记忆应用特定密码 xff0c 您也无需实现
  • inner join、outer join、right join、left join 之间的区别

    inner join outer join right join left join 之间的区别 一 sql的left join right join inner join之间的区别 left join 左联接 返回包括左表中的所有记录和右
  • "大泥球"仍然是最常见的软件设计

    大泥球 xff0c 是指杂乱无章 错综复杂 邋遢不堪 随意拼贴的大堆代码 这些年来 xff0c 为了对付这个泥球 xff0c 我们看到了多种指导方法 xff0c 比如SOLID GRASP 和KISS xff0c 与其他诸多年代久远的 提倡
  • 3322.org带来的麻烦

    大概是3322 org被短时间攻破 xff0c 下载他的动态域名客户端的时候下到一个病毒Trojandropper js adagent gd xff0c 把江民关了 xff0c 并且再也开不开 系统还原不行 xff0c 安全模式也进不去
  • Qt学习笔记:多线程的使用

    文章目录 前言1 何时使用线程2 QThread类实现多线程2 1 多线程的实现方法2 2 线程休眠2 3 正确结束线程 3 线程同步3 1 互斥量3 2 信号量3 3 条件变量 4 线程池参考资料 前言 程序中调用耗时的操作 xff08
  • 上位机开发笔记:环形缓冲区

    文章目录 前言1 环形缓冲区工作机制1 1 实现原理1 2 区分缓冲区满或者空1 总是保持一个存储单元为空2 使用计数数据3 镜像指示位 2 Qt实现环形缓冲区2 1 QByteArray环形缓冲区2 2 QSemaphore实现环形缓冲区
  • IDEA搭建Spring框架环境

    IDEA搭建Spring框架环境 一 spring 框架概念 spring 是众多开源 java 项目中的一员 xff0c 基于分层的 javaEE 应用一站式轻量 级开源框架 xff0c 主要核心是 Ioc 控制反转 依赖注入 与 Aop
  • SQL SERVER中索引类型包括的三种类型分别是

    xfeff xfeff 唯一索引 UNIQUE 聚集索引 CLUSTERED xff09 非聚集索引 NONCLUSTERED xff09 主键与唯一索引的区别 主键是一种约束 xff0c 唯一索引是一种索引 xff0c 两者在本质上是不同
  • _Linux多线程--生产者消费者模型篇

    文章目录 1 为何要使用生产者消费者模型2 基于BlockingQueue的生产者消费者模型3 C 43 43 queue模拟阻塞队列的生产消费模型条件变量使用规范简单测试1 BlockQueue 缓存 超市 2 ConProd cc3 结
  • HTTP、TCP的关系及状态码

    一 基本概念 1 TCP连接 手机能够使用联网功能是因为手机底层实现了TCP IP协议 xff0c 可以使手机终端通过无线网络建立TCP连接 TCP协议可以对上层网络提供接口 xff0c 使上层网络数据的传输建立在 无差别 的网络之上 建立
  • x299平台装linux系统的一些天坑

    年前实验室为了配置大内存的服务器 xff0c 受限于经费 xff0c 我们只能使用比较便宜的游戏板 xff0c 选择了微星的x299平台 xff0c 买回来自带win10 xff0c 回来的第一件事就是装linux xff0c 习惯上我会装
  • android的应用包名与代码包名

    说来惭愧 xff0c 好歹还是做了android应用这么久了 xff0c 居然不知道这个事情 参考 xff1a http www xmumu com post 2013 08 05 40052300660 http blog javia o
  • [自动驾驶]Build a Traffic Sign Recognition Program

    看 准确率98 的深度学习交通标志识别是如何做到的 xff1f 这篇文章的时候 xff0c 发现了udacity的自动驾驶课程 可惜要收费 xff0c 不过课程project在github上有 xff0c 那直接做project就好了 xf
  • Spring MVC框架的高级配置

    本文将为您提供关于Spring MVC框架的配置技巧 xff0c 以帮助管理基于Spring的web应用程序的多个实例 本配置管理主题常被学术界所忽略 xff0c 但是 xff0c 这对于现实的web开发尤为重要 本主题并不直接关联任何具体
  • ffmpeg解码花屏

    问题 xff1a 解码为YUV420转为Bitmap后显示在屏幕上时 xff0c 有三分之二为花屏 xff1a 如图 xff1a 首先用h264Visa分析帧 xff1a 已经读出了sps等信息 xff0c 这些信在解码第一帧时被写入环境变
  • 使用Hexo+Github一步步搭建属于自己的博客(基础)

    前言 xff1a 电脑系统为window 10专业版 xff0c 64位 相关步骤 xff1a 1 安装Node js和配置好Node js环境 xff0c 打开cmd命令行 xff0c 成功界面如下 2 安装Git和配置好Git环境 xf
  • OpenSSL命令学习

    OpenSSL命令学习 一 基础概念 OpenSSL是一个开放源代码的软件库包 xff0c 应用程序可以使用这个包来进行安全通信 xff0c 避免窃听 xff0c 同时确认另一端连接者的身份 这个包广泛被应用在互联网的网页服务器上 下面以问
  • 论文阅读——Shadow Attacks:Hiding and Replacing Content in Signed PDFS

    论文阅读报告 Shadow Attacks xff1a Hiding and Replacing Content in Signed PDFS 阅读背景 本次阅读的论文是由Christian Mainka Vladislav Mladeno
  • SecKill——一款超级好用的抢单软件

    软件介绍 下载地址见文章末尾 Seckill是一款使用Python和pyqt编写 xff0c 利用selenium库实现的自动化抢单软件 xff0c 它界面友好 xff0c 使用方便 xff0c 可以帮助你在购物时快人一步 xff0c 及时
  • 获取PowerShell的所有历史记录

    PowerShell默认的history命令只能查看当前窗口的历史记录 xff0c 很不方便 可以使用以下方法获取PowerShell的所有历史记录 xff0c 简单记录一下 一 PSReadline 当前版本 xff08 5 1 xff0