PowerShell学习笔记(二) 更多一些的例子

来源:互联网 发布:史明克固体水彩淘宝 编辑:程序博客网 时间:2024/06/06 06:38

 一些select,where,foreach的简单的例子

 

查找e:/movies目录下(包括子目录下)最后写入日期大于2009-6-1号的:
gci e:/movies -Recurse | where {$_.LastWriteTime -gt "2009-6-1"}

 

例举Alias定义中,标准命令包含Child或者是out-开头的:
gal | Where-Object {$_.Definition -match "Child" -or $_.Definition -like "out-*"}

 

在系统日志中,挑出最近的10条EventID=6005的记录,显示Index和TimeGenerated字段:
Get-EventLog -LogName system |where-object {$_.EventID -eq 6005}|sort-object Index -desc|select-object -first 10 -Property Index,TimeGenerated


可以用Get-Member -InputObject (get-eventlog -logname system  | where-object {$_.EventID -eq 6005}| Select-Object -first 1)验证都有哪些字段。

 

例举出本地磁盘和可移动磁盘:
Get-wmiobject win32_logicaldisk | where-object  {$_.drivetype -eq "3" -or $_.drivetype -eq "2"}

 

例举出Alias中,只有1或2个字母的:
gal | where {$_.name -match "^[a-zA-Z][a-zA-Z]$" -or $_.name -match "^[a-zA-Z]$"}

 

列出计算机的服务及运行状态。其中,默认的Status状态改用RunningStatus代替:
Get-Service|select-object ServiceName,DisplayName,@{name="RunningStatus";Expression= {$_.Status}}|sort-object ServiceName

 

列出计算机中正在运行的服务,按名称排序,并用绿色显示自定义的语句:
Get-service | where-object {$_.Status -eq "Running"}|sort-object name|foreach-object {write-host "Running:" $_.name'-'$_.displayname -foregroundcolor green}

 


在系统日志中,找出ForeFront的错误日志,并将这些错误信息写入c:/err.txt文件。
get-eventlog -logname system | where-object {$_.EntryType -eq "Error" -and $_.Source -eq "FcsSas"} | foreach-object -begin {get-date} -process {out-file -filepath c:/err.txt -append -inputObject $_.eventid,$_.message} -end {get-date}

原创粉丝点击