摘要
运行 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