视频地址:【黑客基础】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'"

【黑客基础】Windows PowerShell 脚本学习(上)的更多相关文章

  1. 使用Windows任务计划程序运行Windows PowerShell脚本

    创建计划任务以运行PowerShell脚本 我需要创建一个计划任务来运行Windows PowerShell脚本的第一件事是我将执行的命令行.找到这个的简单方法是使用Run 命令.有时,我需要知道什么 ...

  2. Windows bat脚本学习(1)

    基础 首先所有命令在cmd命令行中都能找到说明: 例如 想知道type用法 输入type /? 其他命令都一样 type [drive:][path] filename 显示文本文件内容 虽然有点鸡肋 ...

  3. Windows Powershell脚本执行

    在cmd下执行powershell进入shell模式: 变量定义:$i = 10 $a = ifconfig | findstr "192" Windows下的命令都可以执行如: ...

  4. 【SharePoint学习笔记】第2章 SharePoint Windows PowerShell 指南

    快速了解Windows PowerShell     从SharePoint 2010开始支持PowerShell,仍支持stsadm.exe工具:     可以调用.NET对象.COM对象.exe文 ...

  5. SharePoint 2010 最佳实践学习总结------第2章 SharePoint Windows PowerShell指南

    第2章 SharePoint Windows PowerShell指南 SharePoint 2010是SharePoint系列产品中第一个开始支持Windows PowerShell的产品,在以前的 ...

  6. Windows PowerShell基本语法及常用命令

    PowerShell常用命令: 一 Get类 1.Get-Command : 得到所有PowerShell命令,获取有关 cmdlet 以及有关 Windows PowerShell 命令的其他元素的 ...

  7. windows powershell学习

    PowerShell,从名字可以知道,他首先是一个shell,shell的意思就是和Linux的bash等一样.和原来的cmd一样就是在里边敲命令(可执行文件)使用: 而Power就意味他是一个功能强 ...

  8. Bat 脚本学习 (基础篇)

    [转]Bat 脚本学习 2015-01-05 14:13 115人阅读 评论(0) 收藏 举报 基础部分: ============================================== ...

  9. windows powershell基础

    windows powershell基础 目录: 1.管道和重定向 2.命令执行 3.变量 4.数组和哈希表 #@()创建数组,使用","把每个值分隔开,@{}创建哈希表,用&qu ...

随机推荐

  1. postman的基本用法,请求,断言,环境变量

    postman基本用法 Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件. 它提供功能强大的 Web API & HTTP 请求调试. 它能够发送任何类型的HTT ...

  2. Python+requests+unittest+excel实现接口自动化测试框架(转

    一.框架结构:工程目录 二.Case文件设计三.基础包 base 3.1 封装get/post请求(runmethon.py) import requests import json class Ru ...

  3. windows 360浏览器打开网站白屏

    1.场景 使用windows的360浏览器打开网页白屏 使用mac 谷歌,360,火狐浏览器打开均正常 2.原因 windows浏览器默认使用的是ie浏览器内核渲染的,js执行时发生错误 3.添加he ...

  4. 调用微信js sdk

    场景:需要调用微信获取当前位置的借口. 途径:查看微信 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115 .后 ...

  5. C# 倒计时,显示天,时,分,秒。时间可以是从数据库捞出来

    从数据库把时间读出来,接着 你用个timer控件启用控件,设置1000毫秒timer时间里 用当前时间-你取出的时间 就可以了 DateTime furtime = Convert.ToDateTim ...

  6. Excel的IYQ钓鱼

    0x00 环境准备 1.操作系统:windows7 2.microsoft office版本:office 2010 0x01 了解IYQ的基本概念 可以将IYQ简单的理解成内置在excel中的一种特 ...

  7. 最小生成树两个经典算法(Prime算法、Kruskal算法) - biaobiao88

    经典的最小生成树例子,Prime算法,具体的步骤及其注释本人均在代码中附加,请仔细阅读与品味,要求,可以熟练的打出. //Prime算法基础 #include<iostream> usin ...

  8. 阿里巴巴开源项目: 基于mysql数据库binlog的增量订阅&消费

    背景 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求.不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝 ...

  9. 「动态规划」-数位dp专题

    数位dp,今天学长讲的稍玄学,课下花了一会时间仔细看了一下,发现板子是挺好理解的,就在这里写一些: 数位dp主要就是搞一些在区间中,区间内的数满足题目中的条件的数的个数的一类题,题目一般都好理解,这时 ...

  10. NioEventLoop的创建

    NioEventLoop的创建 NioEventLoop是netty及其重要的组成部件,它的首要职责就是为注册在它上的channels服务,发现这些channels上发生的新连接.读写等I/O事件,然 ...