国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PowerShell > 正文

Windows Powershell ForEach-Object 循環

2020-03-26 19:15:33
字體:
來源:轉載
供稿:網友

對管道對象逐個處理

如果使用Get-WmiObject 獲取系統中的服務,為了排版可能會也會使用Format-Table對結果進行表格排版。

 

復制代碼 代碼如下:

PS C:Powershell> Get-WmiObject Win32_Service | Format-Table status,DisplayName
-AutoSize

 

status DisplayName
------ -----------
OK     Adobe Acrobat Update Service
OK     Application Experience
OK     Application Layer Gateway Service
OK     Application Host Helper Service
OK     Application Identity
OK     Application Information
OK     Application Management
OK     ASP.NET State Service

 

但是如果想對每個服務進行更定制化的處理可是使用ForEach-Object

 

復制代碼 代碼如下:

PS C:Powershell> Get-WmiObject Win32_Service | ForEach-Object {"Name:"+ $_.Disp
layName, ", Is ProcessId more than 100:" + ($_.ProcessId -gt 100)}
Name:Adobe Acrobat Update Service , Is ProcessId more than 100:True
Name:Application Experience , Is ProcessId more than 100:False
Name:Application Layer Gateway Service , Is ProcessId more than 100:False
Name:Application Host Helper Service , Is ProcessId more than 100:True
Name:Application Identity , Is ProcessId more than 100:True
Name:Application Information , Is ProcessId more than 100:True
Name:Application Management , Is ProcessId more than 100:False
Name:ASP.NET State Service , Is ProcessId more than 100:False

 

結合條件處理

ForEach-Object的處理可以包含任意Powershell腳本,當然也包括條件語句

 

復制代碼 代碼如下:

Get-WmiObject Win32_Service | ForEach-Object {
    if ($_.ProcessId -gt 3000)
    { "{0}({1})" -f $_.DisplayName,$_.ProcessID}
}
Windows Presentation Foundation Font Cache 3.0.0.0(5408)
Microsoft Network Inspection(5260)
BranchCache(4112)
Windows Modules Installer(7656)

 

調用方法

在ForEach-Object中,$_代表當前對象,當然也允許通過$_,調用該對象支持的方法。
下面的例子殺死所有IE瀏覽器進程:

 

復制代碼 代碼如下:

PS C:Powershell> Get-Process iexplore

 

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
    883      29    14728      22432   181    34.26   4300 iexplore
    771      28    55552     129152   425     8.56   5732 iexplore
   1216      51   104324     143916   539   572.41   5912 iexplore
    801      25    49200      25372   285     5.99   6252 iexplore
    691      25    57564      95796   333     8.08   6388 iexplore
   1256      38    85848     127012   379    20.37   7856 iexplore

PS C:Powershell> Get-Process iexplore | ForEach-Object {$_.kill()}
PS C:Powershell> Get-Process iexplore
Get-Process : 找不到名為“iexplore”的進程。請驗證該進程名稱,然后再次調用 cmdlet。
所在位置 行:1 字符: 12
+ Get-Process <<<< iexplore
+ CategoryInfo : ObjectNotFound: (iexplore:String) [Get-Process],
ProcessCommandException
+ FullyQualifiedErrorId : NoProcessFoundForGivenName,Microsoft.PowerShell.
Commands.GetProcessCommand


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀化市| 博爱县| 连平县| 马鞍山市| 拉萨市| 独山县| 渝中区| 朔州市| 浪卡子县| 疏附县| 绍兴县| 辉县市| 丰城市| 东山县| 平定县| 杂多县| 贵定县| 恭城| 永寿县| 义乌市| 湾仔区| 英吉沙县| 彭阳县| 邵阳县| 南涧| 蛟河市| 鲜城| 舞阳县| 聂拉木县| 浙江省| 岑溪市| 堆龙德庆县| 千阳县| 四子王旗| 大新县| 襄樊市| 葫芦岛市| 榆中县| 阳城县| 武穴市| 永胜县|