PowerShell 学习笔记(2)

对象操作:

Powershell里获取的信息均看作对象(Linux里为文本)

Get-process 当你获取进程时,是在显示对象,每一行都是一个对象,每列代表一个属性

所以可以用管道 where-object来获取以某一属性筛选的项目(并排序)

WS2012: get-process | where Handles -gt 900
WS2008 R2: get-process | Where-Object {$_.Handles -gt900}


clip_image001[6]

对象是拥有的属性和方法的一个主体

以下命令查看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* 操作运算符帮助


image

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


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

clip_image002[6]

你可能感兴趣的:(windows,脚本,管道,powershell)