檢閱 Windows PowerShell 指令碼中的函式

已完成

函式是可重複使用的程式碼區塊。 您可以使用函式在指令碼內執行重複的動作,而不是多次將相同的程式碼放在指令碼中。 例如,如果您有可執行多個動作的大型指令碼,而不是使用每個動作放入可將資料記錄到磁碟的程式碼,您可以有一個函式可將資料記錄到磁碟。 然後在每次執行動作時呼叫記錄函式。 稍後,如果您想要變更該記錄函式,只需要在一個位置進行變更。

當您呼叫函式時,您可將資料傳遞至該函式。 您在函式中使用 Param() 區塊的方式,與在指令碼中相同。 在宣告函式之後,插入 Param() 區塊,以及任何預期要傳遞至函式之變數的定義。 下列範例是使用 Param() 區塊來接受電腦名稱的函式:

Function Get-SecurityEvent {
   Param (
      [string]$ComputerName
   ) #end Param
   Get-EventLog -LogName Security -ComputerName -$ComputerName -Newest 10
}

若要在指令碼內呼叫函式,請使用下列語法:

Get-SecurityEvent -ComputerName LON-DC1

在上一個範例中,-Computer 參數的值會傳遞至函式中的 $ComputerName 變數。 Get-EventLog 接著會從該電腦的安全性記錄檔查詢最近的 10 個事件,並在畫面上顯示它們。 如果您想要將這些事件放在變數中並可用於指令碼的其餘部分,請使用下列語法:

$securityEvents = Get-SecurityEvent -ComputerName LON-DC1