主頁(yè) > 知識(shí)庫(kù) > Windows Powershell ForEach-Object 循環(huán)

Windows Powershell ForEach-Object 循環(huán)

熱門標(biāo)簽:印臺(tái)區(qū)呼叫中心外呼系統(tǒng) 萬全縣地圖標(biāo)注app 地圖標(biāo)注的圖案 新鄭電銷機(jī)器人一個(gè)月多少錢 如何根據(jù)經(jīng)緯度百度地圖標(biāo)注 六寸地圖標(biāo)注點(diǎn)怎么刪除 電話機(jī)器人公司招聘 騰訊地圖標(biāo)注中心怎么標(biāo)注 莫拉克電梯系統(tǒng)外呼怎么設(shè)置

對(duì)管道對(duì)象逐個(gè)處理

如果使用Get-WmiObject 獲取系統(tǒng)中的服務(wù),為了排版可能會(huì)也會(huì)使用Format-Table對(duì)結(jié)果進(jìn)行表格排版。

復(fù)制代碼 代碼如下:

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

但是如果想對(duì)每個(gè)服務(wù)進(jìn)行更定制化的處理可是使用ForEach-Object

復(fù)制代碼 代碼如下:

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

結(jié)合條件處理

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

復(fù)制代碼 代碼如下:

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)

調(diào)用方法

在ForEach-Object中,$_代表當(dāng)前對(duì)象,當(dāng)然也允許通過$_,調(diào)用該對(duì)象支持的方法。
下面的例子殺死所有IE瀏覽器進(jìn)程:

復(fù)制代碼 代碼如下:

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”的進(jìn)程。請(qǐng)驗(yàn)證該進(jìn)程名稱,然后再次調(diào)用 cmdlet。
所在位置 行:1 字符: 12
+ Get-Process iexplore
+ CategoryInfo : ObjectNotFound: (iexplore:String) [Get-Process],
ProcessCommandException
+ FullyQualifiedErrorId : NoProcessFoundForGivenName,Microsoft.PowerShell.
Commands.GetProcessCommand

您可能感興趣的文章:
  • Windows Powershell IF-ELSEIF-ELSE 語句
  • Windows Powershell Switch 語句
  • Windows Powershell Foreach 循環(huán)
  • Windows Powershell Do While 循環(huán)
  • Windows Powershell For 循環(huán)
  • Windows Powershell Switch 循環(huán)

標(biāo)簽:南昌 天水 汕頭 喀什 湘潭 襄陽 臨汾 疫苗接種

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Windows Powershell ForEach-Object 循環(huán)》,本文關(guān)鍵詞  Windows,Powershell,ForEach-Object,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Windows Powershell ForEach-Object 循環(huán)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Windows Powershell ForEach-Object 循環(huán)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章