• 【山外笔记-黑客基础】Windows PowerShell 脚本学习(上)


    视频地址:【黑客基础】Windows PowerShell 脚本学习

    2019.12.05 学习笔记

    1、$PSVersionTable :查看PowerShell的版本信息。
    2、PowerShell 界面:
    • 开始界面搜索 “PowerShell” ,点击 “PowerShell.exe” 或者 “PowerShell ISE”。
    • cmd 命令界面输入 “PowerShell”。
    3、PowerShell 快捷键
    • Alt + F7 :清除命令等历史记录,相当于 cls 命令。
    • Ctrl + PgUp :上翻页。
    • Ctrl + PgDn :下翻页。
    • 上下箭头键 :切换命令行等历史记录。
    • 左/右箭头键 :左右移动光标。
    • Ctrl + Home :
    • Ctrl + End :
    • ESC:清空当前命令行。
    • Tab :自动补齐并选择补齐命令或文件名。
    • Enter :执行当前的命令。
    • Ctrl + C :取消正在执行等命令。
    • Backspace :从右删除命令行字符。
    • F2 :自动补充历史命令到指定字符。
    • F4 :删除命令行至光标右边指定等字符处。
    • F7 :对话框显示命令行历史记录。
    • F8 :检索包含指定字符的命令行历史记录。
    • F9 :根据命令行等历史记录编号选择命令,历史记录编号可以通过 F7 查看。
    4、PowerShell 的管道
    • PowerShell 的管道是基于对象的,和Linux Shell 基于文本不同。
    • 管道:前一个命令的输出作为下一个命令的输入。
    • 重定向:
      • “>” 表示输出到某文件,覆盖文件原有的内容,如果文件不存在则自动创建。
      • “>>” 表示添加到某文件内容的结尾。
    5、PowerShell 的运算符
    • 支持四则运算
    • 支持数值的进制转换
    • 支持逻辑运算
    6、PowerShell 使用外部命令
    • PowerShell 是 cmd 的扩展,cmd 的命令在 PowerShell 中基本都可以使用执行。

    • netstat -ano :查看端口信息,同 cmd 命令。

    • ipconfig :查看网络配置信息,同 cmd 命令。

    • route print :打印路由信息,同 cmd 命令。

    • start :打开应用程序。

    • notepad :打开文本编辑器,同 cmd 命令。

    • calc :打开计算器,同 cmd 命令。

    • &"command" :打开PowerShell 外部命令,PowerShell 专用。

    • $env:path :输出 path 环境变量的内容。

    • $env:path = $env:path + "dir_path" :临时添加 path 环境变量。

    7、PowerShell 的命令集
    • Get-Command :获取 PowerShell 所有的命令。
    • PowerShell 的命令类型有 Alias 、Function 、Cmdlet 三种。
    • Alias :别名。
    • Function :函数。
    • Cmdlet :PowerShell 内部命令,以动-名词的格式命名。
    • Get-Help :获取命令的帮助信息。
    • Get-process :获取系统的进程信息。
    • Get-Alias :获取别名对应的命令信息。
    • Get-History :获取命令行使用命令的历史信息。
    • Get-Date:获取当前的日期时间信息。
    8、PowerShell 的别名
    • Get-Help :获取命令的帮助信息,包含命令的别名信息。
    • Get-Alias :获取别名对应的命令信息。
    • Get-Alias -name "ls" :获取别名是“ls”的PowerShell命令。
    • Get-Alias | where {$_.definition.startswith("Remove")} :获取以“Remove”开头命令的别名信息。
    • Get-Alias | Group-Object definition | sort -descending Count :根据命令别名的个数倒序显示命令及其别名。
    9、自定义别名
    • Set-Alias :定义命令的别名。
      • Set-Alias -name txt -value notepad
      • -name :指定命令的别名。
      • -value :指定需要定义别名的命令。
    • del alias:txt :删除别名“txt”。
    • Export-Alias :导出别名,Export-Alias demo.ps1
    • Import-Alias :导入别名,Import-Alias demo.ps1,不成功可以使用“-force”参数进行强制导入。
    10、PowerShell 变量
    • PowerShell 使用 $ 符号来定义变量,不需要指定变量类型。
    • $var_name
    • $var_name = value
    • PowerShell 对大小写不敏感。
    • 定义变量使用特别的变量名需要使用花括号将变量名括起来。
    • 变量的赋值可以是别名、命令、表达式等。
    • 多个变量可以同时赋值。
    11、变量操作
    • 两个变量的值互换:

      • $tempt = $var1
        $var_1 = $var_2
        $var_2 = $tempt
        
      • $var_1,$var_2 = $var_2,$var_1
        
    • ls variable:: 查看当前使用的变量。

    • ls variable:var_name: 查看变量 $var_name 的信息,支持正则表达式。

    • Test-Path variable:var_name :查看变量 $var_name 是否存在,返回布尔值。

    • del variable:var_name :删除指定的变量。

    • Clear-Variable :清除指定的变量。

    • Remove-Variable:删除指定的变量。

    12、PowerShell 自动化变量
    • 自动化变量是由 PowerShell 自己创建和维护的,一些变量是只读而不能写入的。
    • $home :用户根目录路径。
    • $pid :当前界面进程的ID。
    • $$ :上一个运行的命令。
    • $? :上一个命令运行的状态,返回布尔值。
    • $_ :当前变量。
    • $null :空值,空变量。
    13、PowerShell 环境变量
    • ls env: :查看环境变量信息。
    • env:var_name :显示指定的环境变量信息,支持正则表达式。
    • env:varname=value :创建添加一个环境变量。
    • del env:var_name :删除指定的环境变量,支持正则表达式。
    • [environment]::setenvironmentvariable("PATH","D:","User"):设置用户的 $PATH 变量,永久生效。
    • [environment]::getenvironmentvariable("PATH","User"):获取环境变量 $PATH 。
    14、PowerShell 脚本执行策略
    • PowerShell 脚本以 .ps1 后缀。
    • Get-Executionpolicy :查看命令行的脚本执行权限,返回 Restricted 表示禁止。
    • Set-Executionpolicy RemoteSigned :允许命令行运行 PowerShell 脚本。
    15、PowerShell 脚本调用
    • 切换到桌面:cd desktop
    • & “PowerShell_script_path” :执行脚本。
    • .bat 脚本文件调用PowerShell 脚本:powershell "& 'PowerShell_script_path'"
  • 相关阅读:
    rxjs 学习实践笔记
    封装localStorage、sessionStorage设置,获取,移除方法
    Angular实现类似vuex状态管理功能、全局数据管理与同步更新
    关于RxJS 处理多个Http请求 串行与并行方法
    vue插件汇总
    vue使用videojs控制后台m3u8数据请求
    NPOI winform读取Excel
    //邮件发送:
    定时任务框架Quartz.net
    系统日志控件 Log4NET
  • 原文地址:https://www.cnblogs.com/davidesun/p/11992835.html
Copyright © 2020-2023  润新知