脚本

摘要

运行 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 方法时运行。

此脚本块应返回一个哈希表,其中包含一个名为 且具有字符串值的键 Result

Type: System.String

SetScript

指定将资源配置为所需状态的 PowerShell 脚本块。 此脚本块在调用此资源的 Set 方法时运行。

此脚本块不应输出任何对象。 应以幂等方式编写此脚本块,以便调用 Set 方法两次会使目标处于与调用一次相同的状态。

Type: System.String

TestScript

指定一个 PowerShell 脚本块,用于验证资源是否处于所需状态。 此脚本块在调用此资源的 Test 方法时运行。

如果资源处于所需状态且$false未处于所需状态,则此脚本块应返回$true

Type: System.String

可选属性

凭据

根据需要指定帐户的凭据,以便在下运行脚本块。

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

只读属性

结果

GetScript 脚本块的结果。

Type: System.String

示例