Introduction To Windows PowerShell Fundamentals
開始練習Lab時,請可參考「[VirtualLabs]使用Microsoft Virtual Labs注意的地方」。
主題:Introduction To Windows PowerShell Fundamentals
Windows PowerShell是Microsoft為Windows環境所開發的Shell及指令碼語言技術,採用命令列介面。
它建立在.NET Framework的基礎上,它接受和返回.NET物件。以下的練習,您將學習使用基本的 Windows PowerShell命令(稱為cmdlet)。
Exploring Windows PowerShell
以下介紹PowerShell的一些操作方式,
輸入 help * ,按下Enter鍵
輸出的資料會超過一頁
按下Enter會顯示 下一行 資料,按下 空白鍵 會輸出下一頁,如果要取消輸出,可按下 Q 。
輸入 help Get-Com ,按下 Tab鍵 ,會出現 help Get-Command ,再按下 Tab鍵 會顯示下一個Get-Com 開頭的命令,如果要往後找,可按下 Shift + Tab 就可以了。
以下說明如何查看命令的Help
輸入 help Get-Command ,按下Enter鍵
help Get-Command是取得Get-Command命令簡裋的說明,可加入 -examples 查看範例, –detailed 查看詳細資訊 , –full 查看全部的資訊。
Get-Command Cmdlet : 會取得工作階段中 Cmdlet 及其他 Windows PowerShell 命令元素 (例如別名、函數、篩選、指令碼和應用程式) 的基本資訊。
我們還可以針對輸出做篩選,如下列出 Service Name為spooler的Service
輸入Get-Service Spooler,按下Enter鍵
接受萬用字串,如下,
輸入Get-Service M*,按下Enter鍵
可透過 pipe (|) 將前一個輸出作為後面命令的輸入,比如可設定輸出的format (使用格式化命令變更輸出檢視),如下
輸入Get-Service M* | Format-List,按下Enter鍵
或是找出那些Service的狀態是在Running(執行中),如下,
輸入Get-Service M* | Where-Object {$_.Status –eq “Running”} ,按下Enter鍵
Where是Where-Object的Alias,所以也可用Where代替 Where-Object,如下,
也可依Service的Status來排序,如下,
輸入Get-Service M* | Sort-Object Status,按下Enter鍵
or
輸入Get-Service M* | Sort Status ,按下Enter鍵
PowerShell是建立在.NET Framework的基礎上,所以我們可以檢視物件的metadata,如下看Get-Service Command的Member,
輸入Get-Service | Get-Member ,按下Enter鍵
查詢Spooler Service所依賴的Service
輸入Get-Service Spooler | Select-Object ServicesDependedOn ,按下Enter鍵
Using whatif and confirm
[Command] –WhatIf : 會顯示結果,但不會真的去執行
輸入Stop-Service M* –WhatIf ,按下Enter鍵
[Command] –Confirm : 執行前都會先詢問
輸入Stop-Service M* –Confirm ,按下Enter鍵
Creating and manipulating variables (Windows PowerShell 講座(4)—變數)
以下建立一個字串變數 $var (Windows PowerShell 規定變數名稱的第一個字元必須是 $ )
PowerShell中的變數可放任意值,如數值、字串、陣列等等,
如果將字串指定給宣告成數值的變數將會引發錯誤,
Comparison operators: –ne (not equals) –gt (greater than), –lt (less than), -ge (greater than or equal) and –le (less than or equals).
–ceq and –ieq: The “c” variant is case-sensitive and the “I” variant is case-insensitive。
Creating a script file
指令碼雖然是功能強大的工具,不過也可能遭人惡意誤用。為了保護使用者資料和作業系統的完整性,Windows PowerShell 包括了幾種安全性功能,執行原則就是其中一種。
Restricted是預設原則(允許執行個別命令,但無法執行指令碼),其他資訊請參考about_Execution_Policies。
建立Script File可以使用 Windows PowerShell Integrated Scripting Environment (ISE).
執行Script File的方式,如下所示,
以下是建立Function的方式,
以上是Windows PowerShell的基本相關說明。
大家還能再參考Microsoft TechNet 上賴榮樞所寫的 Windows PowerShell 講座系列。
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^