Share via


指令碼

概要

執行 PowerShell 腳本區塊。

語法

Script [String] #ResourceName
{
    GetScript = [string]
    SetScript = [string]
    TestScript = [string]
    [Credential = [PSCredential]]
    [DependsOn = [string[]]]
    [PsDscRunAsCredential = [PSCredential]]
}

描述

資源 Script 可讓您撰寫 PowerShell 程式碼,以在無法使用特定 DSC 資源時取得、測試及設定資源。 您必須提供這些方法的程式碼、處理所有相依性,並確保程式碼具有等冪性。

提示

可能的話,最佳做法是使用定義的 DSC 資源,而不是這個資源。 資源 Script 有缺點,讓測試、維護和預測更為困難。

不同于其他 DSC 資源,資源的每個屬性 Script 都是索引鍵屬性,而此資源的 Get 方法只能傳回目前狀態的單一字串。 不保證此資源會以等冪方式實作,或在任何系統上如預期般運作,因為它使用自訂程式碼。 在目標系統上叫用它,就無法進行測試。

使用 Script 資源之前,請考慮您是否可以改為 撰寫資源 。 使用定義完善的 DSC 資源可讓您的設定更容易閱讀和維護。

規格需求

無。

屬性

金鑰屬性

GetScript

指定擷取資源目前狀態的 PowerShell 腳本區塊。 叫用此資源的 Get 方法時,就會執行此 Scriptblock。

此 scriptblock 應該會傳回雜湊表,其中包含一 Result 個名為 且具有字串值的索引鍵。

Type: System.String

SetScript

指定將資源設定為所需狀態的 PowerShell 腳本區塊。 此腳本區塊會在叫用此資源的 Set 方法時執行。

此腳本區塊不應該輸出任何物件。 此腳本區塊應該以等冪方式撰寫,以便叫用 Set 方法兩次,讓目標處於與叫用一次相同的狀態。

Type: System.String

TestScript

指定 PowerShell 腳本區塊,以驗證資源是否處於所需狀態。 當叫用此資源的 Test 方法時,就會執行此腳本區塊。

如果資源處於所需狀態,且 $false 其不是預期狀態,則此腳本區塊應該會傳回 $true

Type: System.String

選擇性屬性

認證

視需要指定要執行 scriptblock 的帳號憑證。

Type: System.Management.Automation.PSCredential
Default Value: None

唯讀屬性

結果

GetScript腳本區塊的結果。

Type: System.String

範例