您的位置:首页 > 运维架构 > Shell

PowerShell 学习笔记(2)

2014-04-24 21:35 453 查看
对象操作:
Powershell里获取的信息均看作对象(Linux里为文本)
Get-process 当你获取进程时,是在显示对象,每一行都是一个对象,每列代表一个属性
所以可以用管道 where-object来获取以某一属性筛选的项目(并排序)
WS2012: get-process | where Handles -gt 900
WS2008 R2: get-process | Where-Object {$_.Handles -gt900}





对象是拥有的属性和方法的一个主体
以下命令查看Service对象bits服务的属性和方法
Get-service -name bits | get-member
以下命令用以查看当前目录下的文件名字和大小,以大小排序

Get-ChildItem | Select-Object -Property name,length | sort -Property length
以下命令用以查看事件ID为7036的所有日志并输出为htm网页
Get-EventLog -LogName System | Where-Object {$_.'EventID' -eq 7036} | Select-Object -Property eventid,TimeWritten,Message | ConvertTo-Html | out-file c:\error.htm


筛选器:
大括号{}中构造筛选器,$_ 表示当前对象通过管道 , status为服务对象的属性,-eq 为运算符 即等于
以下命令用于获取所有状态为运行的服务
Get-service | where {$_.status -eq "running"}
在3.0当中 下划线_ 可以用PSItem代替 (http://www.pstips.net/psitem-in-powershell-v3.html)
get-help *comparison* 比较运算符帮助
get-help *operators* 操作运算符帮助





用对象处理xml 文件(具体得参考XML处理方法):

$x = [xml](cat .\good.xml) 将good.xml导入为$x对象
$x.gettype() 返回为一个xmldocument
$x.xxx 获取xml元素


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息