powershell完全學(xué)習(xí)手冊_第1頁
powershell完全學(xué)習(xí)手冊_第2頁
powershell完全學(xué)習(xí)手冊_第3頁
powershell完全學(xué)習(xí)手冊_第4頁
powershell完全學(xué)習(xí)手冊_第5頁
已閱讀5頁,還剩86頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、Powershell 定義變量 Powershell, 程序設(shè)計  添加評論 十二 052011  變量可以臨時保存數(shù)據(jù),因此可以把數(shù)據(jù)保存在變量中,以便進一步操作。幫助0102030405060708091011#定義變量 $a=10 $b=4 #計算變量 $result=$a*$b  $msg="保存文本"  #輸出變量 $result$msg40保存文本powershell 不需要顯示地去聲明,可以自動創(chuàng)建變量,只須記住變量的前綴為$.創(chuàng)建好了變量后,可以通過變量名輸出變量,也可以把變量名存在字符串

2、中。但是有個例外單引號中的字符串不會識別和處理變量名。選擇變量名在powershell中變量名均是以美元符”$”開始,剩余字符可以是數(shù)字、字母、下劃線的任意字符,并且powershell變量名大小寫不敏感($a和$A 是同一個變量)。某些特殊的字符在powershell中有特殊的用途,一般不推薦使用這些字符作為變量名。當(dāng)然你硬要使用,請把整個變量名后綴用花括號括起來。PS C:> $"I"like $="mossfly"PS C:> $"I"like $mossfly賦值和返回值賦值操作符為“=”,幾乎可以把任何數(shù)據(jù)賦值給

3、一個變量,甚至一條cmdlet命令,為什么,因為Powershell支持對象,對象可以包羅萬象。PS C:> $item=Get-ChildItem .PS C:> $itemMode LastWriteTime Length Name- - - -d- 2011/11/23 17:25 ABC-a- 2011/11/24 18:30 67580 a.html-a- 2011/11/24 20:04 26384 a.txt-a- 2011/11/24 20:26 12060 alias-a- 2011/11/24 20:27 12060 alias.ps1-a- 2011/11/2

4、3 17:25 0 b.txt-a- 2011/11/23 17:25 0 c.txt-a- 2011/11/23 17:25 0 d.txt-a- 2011/11/25 11:20 556 employee.xml-a- 2011/11/24 17:37 7420 name.html-a- 2011/11/28 15:30 63 ping.bat-a- 2011/11/24 17:44 735892 Powershell_Cmdlets.html-a- 2011/11/28 17:03 60 test.ps1-a- 2011/11/23 17:37 242 test.txt-a- 2011/

5、11/28 16:42 170 test.vbsPS C:> $result=3000*(1/12+0.0075)PS C:> $result272.5給多個變量同時賦值賦值操作符不僅能給一個變量賦值,還可以同時給多個變量賦相同的值。PS C:> $a=$b=$c=123PS C:> $a123PS C:> $b123PS C:> $c123交換變量的值要交換兩個變量的值,傳統(tǒng)的程序語言至少需要三步,并且還需定義一個中間臨時變量。$Value1 = 10$Value2 = 20$Temp = $Value1$Value1 = $Value2$Value2 =

6、 $Temp在powershell中,交換兩個變量的值,這個功能變得非常簡單。PS C:> $value1=10PS C:> $value2=20PS C:> $value1,$value2=$value2,$value1PS C:> $value120PS C:> $value210查看正在使用的變量Powershell將變量的相關(guān)信息的記錄存放在名為variable:的驅(qū)動中。如果要查看所有定義的變量,可以直接遍歷variable:PS C:> ls variable:Name Value- -"I"like $ mossfly$ c

7、ls? True cls_1 1a 123args b 123c 123ConfirmPreference HighConsoleFileNameDebugPreference SilentlyContinue。查找變量因為有虛擬驅(qū)動variable:的存在,可以象查找文件那樣使用通配符查找變量。例如要查詢以value打頭的變量名。PS C:> ls variable:value*Name Value- -value1 20value2 10驗證變量是否存在驗證一個變量是否存在,仍然可以象驗證文件系統(tǒng)那樣,使用cmdlet Test-Path。為什么?因為變量存在變量驅(qū)動器中。PS C:

8、> Test-Path variable:value1TruePS C:> Test-Path variable:value2TruePS C:> Test-Path variable:valueUnkonwFalse刪除變量因為變量會在powershell退出或關(guān)閉時,自動清除。一般沒必要刪除,但是你非得刪除,也可以象刪除文件那樣刪除它。PS C:> Test-Path variable:value1TruePS C:> del variable:value1PS C:> Test-Path variable:value1False使用專用的變量命令為了管

9、理變量,powershell提供了五個專門管理變量的命令Clear-Variable,Get-Variable,New-Variable,Remove-Variable,Set-Variable。因為虛擬驅(qū)動器variable:的存在,clear,remove,set打頭的命令可以被代替。但是Get-Variable,New-Variable。卻非常有用new-variable可以在定義變量時,指定變量的一些其它屬性,比如訪問權(quán)限。同樣Get-Variable也可以獲取這些附加信息。變量寫保護可以使用New-Variable 的option選項 在創(chuàng)建變量時,給變量加上只讀屬性,這樣就不能給變

10、量重新賦值了。PS C:> New-Variable num -Value 100 -Force -Option readonlyPS C:> $num=101Cannot overwrite variable num because it is read-only or constant.At line:1 char:5+ $num <<<< =101 + CategoryInfo : WriteError: (num:String) , SessionStateUnauthorizedAccessException + FullyQualifiedErr

11、orId : VariableNotWritable PS C:> del Variable:numRemove-Item : Cannot remove variable num because it is constant or read-only. If the variable is read-only,ration again specifying the Force option.At line:1 char:4+ del <<<< Variable:num + CategoryInfo : WriteError: (num:String) Remov

12、e-Item, SessionStateUnauthorizedAccessExcepti但是可以通過刪除變量,再重新創(chuàng)建變量更新變量內(nèi)容。PS C:> del Variable:num -ForcePS C:> $num=101PS C:> $num101有沒有權(quán)限更高的變量,有,那就是:選項Constant,常量一旦聲明,不可修改PS C:> new-variable num -Value "strong" -Option constantPS C:> $num="why? can not delete it."Cann

13、ot overwrite variable num because it is read-only or constant.At line:1 char:5+ $num <<<< ="why? can not delete it." + CategoryInfo : WriteError: (num:String) , SessionStateUnauthorizedAccessException + FullyQualifiedErrorId : VariableNotWritable PS C:> del Variable:num -For

14、ceRemove-Item : Cannot remove variable num because it is constant or read-only. If the variable is read-only,ration again specifying the Force option.At line:1 char:4+ del <<<< Variable:num -Force + CategoryInfo : WriteError: (num:String) Remove-Item, SessionStateUnauthorizedAccessExcept

15、i變量描述在New-Variable 可以通過-description 添加變量描述,但是變量描述默認(rèn)不會顯示,可以通過Format-List 查看。PS C:> new-variable name -Value "me" -Description "This is my name"PS C:> ls Variable:name | fl *PSPath : Microsoft.PowerShell.CoreVariable:namePSDrive : VariablePSProvider : Microsoft.PowerShell.Cor

16、eVariablePSIsContainer : FalseName : nameDescription : This is my nameValue : meVisibility : PublicModule :ModuleName :Options : NoneAttributes : Powershell自動化變量 Powershell, 程序設(shè)計  添加評論 十二 072011  Powershell 自動化變量 是那些一旦打開Powershell就會自動加載的變量。這些變量一般存放的內(nèi)容包括用戶信息:例如用戶的根目錄$home配置信息:例如powersh

17、ell控制臺的大小,顏色,背景等。運行時信息:例如一個函數(shù)由誰調(diào)用,一個腳本運行的目錄等。PS C:PowerShell> $HOMEC:UserstestPS C:PowerShell> $currentProcessID=$pidPS C:PowerShell> $currentProcessID5356PS C:PowerShell> Get-Process -Id $pidHandles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName- - - - - - - - 390 10 30604 33100 172 1.1

18、1 5356 powershellPS C:PowerShell> $PROFILEpowershell中的某些自動化變量只能讀,不能寫。例如:$Pid??梢酝ㄟ^Get-Help about_Automatic_variables查看Automatic_variables的幫助。TOPICabout_Automatic_Variables主題about_Automatic_Variables簡短說明說明存儲 Windows PowerShell 狀態(tài)信息的變量。這些變量由 Windows PowerShell 創(chuàng)建并維護。詳細說明下面是 Windows PowerShell 中的自動變量

19、的列表:$包含會話所收到的最后一行中的最后一個令牌。$?包含最后一個操作的執(zhí)行狀態(tài)。如果最后一個操作成功,則包含 TRUE,失敗則包含 FALSE。$包含會話所收到的最后一行中的第一個令牌。$_包含管道對象中的當(dāng)前對象。在對管道中的每個對象或所選對象執(zhí)行操作的命令中,可以使用此變量。$Args包含由未聲明參數(shù)和/或傳遞給函數(shù)、腳本或腳本塊的參數(shù)值組成的數(shù)組。在創(chuàng)建函數(shù)時可以聲明參數(shù),方法是使用 param 關(guān)鍵字或在函數(shù)名稱后添加以圓括號括起、逗號分隔的參數(shù)列表。$ConsoleFileName包含在會話中最近使用的控制臺文件 (.psc1) 的路徑。在通過 PSConsoleFile 參數(shù)啟

20、動Windows PowerShell 或使用 Export-Console cmdlet 將管理單元名稱導(dǎo)出到控制臺文件時,將填充此變量。在使用不帶參數(shù)的 Export-Console cmdlet 時,它自動更新在會話中最近使用的控制臺文件??梢允褂么俗詣幼兞看_定要更新的文件。$Error包含錯誤對象的數(shù)組,這些對象表示最近的一些錯誤。最近的錯誤是該數(shù)組中的第一個錯誤對象($Error0)。$Event包含一個 PSEventArgs 對象,該對象表示一個正在被處理的事件。此變量只在事件注冊命令(例如 Register-ObjectEvent)的 Action 塊內(nèi)填充。此變量的值是 Ge

21、t-Event cmdlet 返回的同一個對象。因此,可以在 Action 腳本塊中使用 $Event 變量的屬性(例如$Event.TimeGenerated)。$EventSubscriber包含一個 PSEventSubscriber 對象,該對象表示正在被處理的事件的事件訂閱者。此變量只在事件注冊命令的 Action 塊內(nèi)填充。此變量的值是 Get-EventSubscriber cmdlet 返回的同一個對象。$ExecutionContext包含一個 EngineIntrinsics 對象,該對象表示 Windows PowerShell 主機的執(zhí)行上下文??梢允褂么俗兞縼聿檎铱捎?/p>

22、于 cmdlet 的執(zhí)行對象。$False包含 FALSE??梢允褂么俗兞吭诿詈湍_本中表示 FALSE,而不是使用字符串”false”。如果該字符串轉(zhuǎn)換為非空字符串或非零整數(shù),則可將該字符串解釋為 TRUE。$ForEach包含 ForEach-Object 循環(huán)的枚舉數(shù)。可以對 $ForEach 變量的值使用枚舉數(shù)的屬性和方法。此變量僅在運行 For 循環(huán)時存在,循環(huán)完成即會刪除。$Home包含用戶的主目錄的完整路徑。此變量等效于 %homedrive%homepath% 環(huán)境變量。$Host包含一個對象,該對象表示 Windows PowerShell 的當(dāng)前主機應(yīng)用程序??梢允褂么俗兞?/p>

23、在命令中表示當(dāng)前主機,或者顯示或更改主機的屬性,如 $Host.version、$Host.CurrentCulture或 $host.ui.rawui.setbackgroundcolor(“Red”)。$Input一個枚舉數(shù),它包含傳遞給函數(shù)的輸入。$Input 變量區(qū)分大小寫,只能用于函數(shù)和腳本塊。(腳本塊本質(zhì)上是未命名的函數(shù)。)在函數(shù)的 Process 塊中,$Input 變量包含當(dāng)前位于管道中的對象。在 Process 塊完成后,$Input 的值為 NULL。如果函數(shù)沒有 Process 塊,則 $Input的值可用于 End 塊,它包含函數(shù)的所有輸入。$LastExitCode包

24、含運行的最后一個基于 Windows 的程序的退出代碼。$Matches$Matches 變量與 -match 和 -not match 運算符一起使用。將標(biāo)量輸入提交給 -match 或 -notmatch 運算符時,如果檢測到匹配,則會返回一個布爾值,并使用由所有匹配字符串值組成的哈希表填充 $Matches 自動變量。有關(guān) -match 運算符的詳細信息,請參閱 about_comparison_operators。$MyInvocation包含一個對象,該對象具有有關(guān)當(dāng)前命令(如腳本、函數(shù)或腳本塊)的信息??梢允褂迷搶ο笾械男畔ⅲㄈ缒_本的路徑和文件名 ($myinvocation.my

25、command.path) 或函數(shù)的名稱($))來標(biāo)識當(dāng)前命令。對于查找正在運行的腳本的名稱,這非常有用。$NestedPromptLevel包含當(dāng)前提示級別。值 0 指示原始提示級別。該值在進入嵌套級別時遞增,在退出嵌套級別時遞減。例如,在使用 $Host.EnterNestedPrompt 方法時,Windows PowerShell 會出現(xiàn)嵌套命令提示符。在 Windows PowerShell 調(diào)試程序中到達斷點時,Windows PowerShell 也會出現(xiàn)嵌套命令提示符。在進入嵌套提示時,Windows PowerShell

26、暫停當(dāng)前命令,保存執(zhí)行上下文,并遞增$NestedPromptLevel 變量的值。要創(chuàng)建更多嵌套命令提示符(最多 128 級)或返回到原始命令提示符,請完成命令,或鍵入”exit”。$NestedPromptLevel 變量有助于跟蹤提示級別??梢詣?chuàng)建包含此值的備用 WindowsPowerShell 命令提示符,以使此值始終可見。$NULL包含 NULL 或空值??梢栽诿詈湍_本中使用此變量表示 NULL,而不是使用字符串”NULL”。如果該字符串轉(zhuǎn)換為非空字符串或非零整數(shù),則可將該字符串解釋為 TRUE。$PID包含承載當(dāng)前 Windows PowerShell 會話的進程的進程標(biāo)識符

27、(PID)。$Profile包含當(dāng)前用戶和當(dāng)前主機應(yīng)用程序的 Windows PowerShell 配置文件的完整路徑。可以在命令中使用此變量表示配置文件。例如,可以在命令中使用此變量確定是否已創(chuàng)建某個配置文件:test-path $profile也可以在命令中使用此變量創(chuàng)建配置文件:new-item -type file -path $pshome -force此外,還可以在命令中使用此變量在記事本中打開配置文件:notepad $profile$PSBoundParameters包含活動參數(shù)及其當(dāng)前值的字典。只有在聲明參數(shù)的作用域(如腳本或函數(shù))中,此變量才有值。可以使用此變量顯示或更改參

28、數(shù)的當(dāng)前值,也可以將參數(shù)值傳遞給其他腳本或函數(shù)。例如:function test param($a, $b)# Display the parameters in dictionary format.$psboundparameters# Call the Test1 function with $a and $b.test1 psboundparameters$PsCmdlet包含一個對象,該對象表示正在運行的 cmdlet 或高級函數(shù)??梢栽?cmdlet 或函數(shù)代碼中使用該對象的屬性和方法來響應(yīng)使用的條件。例如,ParameterSetName 屬性包含正在使用的參數(shù)集的名稱,而 Sho

29、uldProcess 方法將 WhatIf和 Confirm 參數(shù)動態(tài)添加到 cmdlet。有關(guān) $PSCmdlet 自動變量的詳細信息,請參閱 about_Functions_Advanced。$PsCulture包含操作系統(tǒng)中當(dāng)前所用的區(qū)域性的名稱。區(qū)域性確定數(shù)字、貨幣和日期等項的顯示格式。這是系統(tǒng)的 System.Globalization.CultureInfo.CurrentCulture.Name 屬性的值。要獲取系統(tǒng)的 System.Globalization.CultureInfo 對象,請使用 Get-Culture cmdlet。$PSDebugContext在調(diào)試期間,此

30、變量包含有關(guān)調(diào)試環(huán)境的信息。在其他時間,此變量包含 NULL 值。因此,可以使用此變量指示調(diào)試程序是否擁有控制權(quán)。填充之后,此變量包含一個具有 Breakpoints 和InvocationInfo 屬性的 PsDebugContext 對象。InvocationInfo 屬性有多個十分有用的屬性,包括 Location 屬性。Location 屬性指示正在調(diào)試的腳本的路徑。$PsHome包含 Windows PowerShell 的安裝目錄的完整路徑(通常為%windir%System32WindowsPowerShellv1.0)。可以在 Windows PowerShell 文件的路徑中

31、使用此變量。例如,下面的命令在概念性幫助主題中搜索”variable”一詞:select-string -pattern variable -path $pshome*.txt$PSScriptRoot包含要從中執(zhí)行腳本模塊的目錄。通過此變量,腳本可以使用模塊路徑來訪問其他資源。$PsUICulture包含操作系統(tǒng)中當(dāng)前所用的用戶界面 (UI) 區(qū)域性的名稱。UI 區(qū)域性確定哪些文本字符串用于用戶界面元素(如菜單和消息)。這是系統(tǒng)的System.Globalization.CultureInfo.CurrentUICulture.Name 屬性的值。要獲取系統(tǒng)的 System.Globaliz

32、ation.CultureInfo 對象,請使用 Get-UICulture cmdlet。$PsVersionTable包含一個只讀哈希表,該哈希表顯示有關(guān)在當(dāng)前會話中運行的 Windows PowerShell 版本的詳細信息。該表包括下列項:CLRVersion: 公共語言運行時 (CLR) 的版本BuildVersion: 當(dāng)前版本的內(nèi)部版本號PSVersion: Windows PowerShell 版本號WSManStackVersion: WS-Management 堆棧的版本號PSCompatibleVersions: 與當(dāng)前版本兼容的 Windows PowerShell 版

33、本SerializationVersion 序列化方法的版本PSRemotingProtocolVersionWindows PowerShell 遠程管理協(xié)議的版本$Pwd包含一個路徑對象,該對象表示當(dāng)前目錄的完整路徑。$Sender包含生成此事件的對象。此變量只在事件注冊命令的 Action 塊內(nèi)填充。此變量的值也可在 Get-Event 返回的 PSEventArgs(System.Management.Automation.PSEventArgs) 對象的 Sender 屬性中找到。$ShellID包含當(dāng)前 shell 的標(biāo)識符。$SourceArgs包含表示正在被處理的事件的事件參數(shù)

34、的對象。此變量只在事件注冊命令的 Action塊內(nèi)填充。此變量的值也可在 Get-Event 返回的 PSEventArgs(System.Management.Automation.PSEventArgs) 對象的 SourceArgs 屬性中找到。$SourceEventArgs包含一個對象,該對象表示從正在被處理的事件的 EventArgs 中派生出的第一個事件參數(shù)。此變量只在事件注冊命令的 Action 塊內(nèi)填充。此變量的值也可在 Get-Event 返回的 PSEventArgs(System.Management.Automation.PSEventArgs) 對象的 Source

35、Args 屬性中找到。$This在定義腳本屬性或腳本方法的腳本塊中,$This 變量引用要擴展的對象。$True包含 TRUE。可以在命令和腳本中使用此變量表示 TRUE。另請參閱about_Hash_Tablesabout_Preference_Variablesabout_Variables Powershell 通過函數(shù)擴展別名 Powershell, 程序設(shè)計  添加評論 十一 252011  在Powershell中設(shè)置別名的確方便快捷,但是在設(shè)置別名的過程中并設(shè)置參數(shù)的相關(guān)信息。盡管別名會自動識別參數(shù),但是如何把經(jīng)常使用的參數(shù)默認(rèn)設(shè)定在別名里面呢?例如

36、Test-Connection -Count 2 -ComputerName,讓-”-Count 2 固化在別名中。這時簡單的別名無法完成上述需求,可以通過函數(shù)來完成它,并且一旦把函數(shù)拉過來,定義別名會變得更加靈活。PS C:> function test-conn Test-Connection -Count 2 -ComputerName $argsPS C:> Set-Alias tc test-connPS C:> tc localhostSource Destination IPV4Address IPV6Address Bytes Time(ms)- - - -

37、- -test-me-01 localhost :1 32 0test-me-01 localhost :1 32 0有了函數(shù)牽線,別名可以完成更高級更強大的功能,其中$args為參數(shù)的占位符,經(jīng)測試,發(fā)現(xiàn)這個占位符必須以$args命名,否則不能識別,會拋出異常:Cannot validate argument on parameter ComputerName. The argument is null or empty. Supply an argnt that is not null or empty and then try the comman

38、d again. Powershell 快速編輯模式和標(biāo)準(zhǔn)模式 Powershell, 程序設(shè)計  添加評論 十一 232011  powershell控制臺有兩種模式,一個是快速編輯模式,一個是標(biāo)準(zhǔn)模式??焖倬庉嬆J胶蜆?biāo)準(zhǔn)模式的切換可以通過控制臺標(biāo)題欄->鼠標(biāo)右擊->屬性->選項->編輯選項 。powershell標(biāo)準(zhǔn)模式鼠標(biāo)右擊選擇標(biāo)記后才能實現(xiàn)復(fù)制和粘切功能。powershell快速編輯模式可以通過鼠標(biāo)右鍵選擇任意矩形區(qū)域內(nèi)的文本,并且鼠標(biāo)右擊實現(xiàn)復(fù)制功能。 Powershell 自定義控制臺 Powershell, 程序設(shè)

39、計  添加評論 十一 232011  右擊標(biāo)題欄選擇”屬性”彈出powershell控制臺對話框。在這里有三個四個選項卡:選項、字體、布局和顏色。“選項”設(shè)置光標(biāo),歷史記錄,編輯模式的切換。“字體”設(shè)置字體的名稱和大小“布局”設(shè)置窗口的緩沖區(qū)、窗口的大小、窗口起始坐標(biāo)“顏色”設(shè)置屏幕和對話框的背景色和前景色。Powershell Foreach 循環(huán) Powershell, 程序設(shè)計  添加評論 一 232012  Foreach-object 為cmdlet命令,使用在管道中,對管道結(jié)果逐個處理,foreach為遍歷集合的關(guān)鍵字。下面舉兩個例

40、子:幫助010203040506070809101112131415161718192021$array=7.10 foreach ($n in $array)     $n*$n   #49 #64 #81 #100   foreach($file in dir c:windows)     if($file.Length -gt 1mb)             

41、 $File.Name        #explorer.exe #WindowsUpdate.log這里只為了演示foreach,其實上面的第二個例子可以用Foreach-Object更簡潔。PS C:Powershell> dir C:Windows | where $_.length -gt 1mb |foreach-object $_.Nameexplorer.exeWindowsUpdate.logPowershell 條件操作符 Powershell, 程序設(shè)計  添加評論 一 1620

42、12  Powershell 中的比較運算符-eq :等于-ne :不等于-gt :大于-ge :大于等于-lt :小于-le :小于等于-contains :包含-notcontains :不包含進行比較可以將比較表達式直接輸入進Powershell控制臺,然后回車,會自動比較并把比較結(jié)果返回。PS C:Powershell> (3,4,5 ) -contains 2FalsePS C:Powershell> (3,4,5 ) -contains 5TruePS C:Powershell> (3,4,5 ) -notcontains 6TruePS C:Power

43、shell> 2 -eq 10FalsePS C:Powershell> "A" -eq "a"TruePS C:Powershell> "A" -ieq "a"TruePS C:Powershell> "A" -ceq "a"FalsePS C:Powershell> 1gb -lt 1gb+1TruePS C:Powershell> 1gb -lt 1gb-1False求反求反運算符為-not 但是像高級語言一樣”! “ 也支持求反。P

44、S C:Powershell> $a= 2 -eq 3PS C:Powershell> $aFalsePS C:Powershell> -not $aTruePS C:Powershell> !($a)True布爾運算-and :和-or :或-xor :異或-not :逆PS C:Powershell> $true -and $trueTruePS C:Powershell> $true -and $falseFalsePS C:Powershell> $true -or $trueTruePS C:Powershell> $true -or

45、$falseTruePS C:Powershell> $true -xor $falseTruePS C:Powershell> $true -xor $trueFalsePS C:Powershell> -not $trueFalse比較數(shù)組和集合過濾數(shù)組中的元素PS C:Powershell> 1,2,3,4,3,2,1 -eq 333PS C:Powershell> 1,2,3,4,3,2,1 -ne 312421驗證一個數(shù)組是否存在特定元素PS C:Powershell> $help=(man ls)PS C:Powershell> 1,9,4

46、,5 -contains 9TruePS C:Powershell> 1,9,4,5 -contains 10FalsePS C:Powershell> 1,9,4,5 -notcontains 10TruePowershell Where-Object 條件過濾 Powershell, 程序設(shè)計  添加評論 一 172012  本篇會對條件判斷進行實際應(yīng)用。在管道中可以通過條件判斷過濾管道結(jié)果,Where-Object會對集合逐個過濾,將符合條件的結(jié)果保留。過濾管道結(jié)果使用Get-Process返回所有的當(dāng)前進程 ,但是你可能并不對所有的進程感興趣,

47、然后通過每個Process對象的屬性進行過濾。首先得知道每個對象支持那些屬性。PS C:Powershell> Get-Process | select -First 1 | fl *_NounName : ProcessName : AcroRd32Handles : 287VM : 234819584WS : 32616448PM : 63488000NPM : 14584Path : C:Program FilesAdobeReader 10.0ReaderAcroRd32 .exeCompany : Adobe Systems IncorporatedCPU : 96.53341

48、88Description : Adobe ReaderProduct : Adobe ReaderId : 4820PriorityClass : NormalHandleCount : 287WorkingSet : 32616448PagedMemorySize : 63488000PrivateMemorySize : 63488000VirtualMemorySize : 234819584TotalProcessorTime : 00:01:36.5334188BasePriority : 8ExitCode :HasExited : FalseExitTime :Handle : 3568MachineName : .MainWindowHandle : 198686MainWindowTitle : Mastering PowerShell - Adobe ReaderMainModule : System.Diagnostics.ProcessModule (AcroRd32.exe)MaxWorkingSet : 1413120MinWorkingSet : 204800Modules : S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論