power shell 强大的操作
今天看到一个很强大的工具Windows power shell 简称pS
CLI shell里面cmd我们天天都用,用的最多的也就是ipconfig或netstat等一些简单命令
而ps重新定义cli shell,将shell统一到.net下面,这样就可以依托.net强大的类库进行各种复杂操作
先看一个简答例子
get-process | where object -property{$_.name -eq"explorer"}
commandlet 管道 commandlet 支持正则表达式的脚本
这句的意思是列出所有名字为exploer的进程
cmdlet(读作“command-let”)是 Windows PowerShell 中用于操作对象的单功能命令。可以通过其名称格式识别 cmdlet -- 由短划线 (-) 分隔的动词和名词,如 Get-Help、Get-Process 和 Start-Service。
第二个例子,使用静态.net对象
[system.math]::pow(2500,1/3)
利用静态类math求2500的立方根
第三个例子,动态创建对象
$ie = new-object -comobject internetexplorer.application
变量名 comlet com对象 对象名
$ie.navigate("www.google.cn/search?q=powershell")
$ie.document.body.innertext
以上创建一个internetexplorer对象,并且导航到google搜索powershell,并将文本结果返回
第四个例子,使用管道,简化工作
get-content c:/text.txt|set-service -startuptype disabled
取得文本comlet 文件名 设置服务comlet 参数
以上命令读取才text.txt中的服务名,并将其停止
第五个例子,使用脚本,重复利用
$ie = new-object -comobject internetexplorer.application
$ie.navigate("www.google.cn/search?q=powershell")
$ie.document.body.innertext
可以将以上内容存到ie.ps1中
然后再ps中输入
set-executionpolicy romotesigned
./ie.ps1
执行脚本
第一句为了可以获得脚本运行权限