如何在 DSC 脚本资源中引用脚本参数
How to reference Script Arguments in DSC Script Resource
我正在使用 TFS 2015 Update 2 创建一个版本。我的发布步骤之一是 "PowerShell on Target Machines" 任务,我用它来应用 DSC 配置。
我想使用“脚本参数”字段将参数从 TFS 传递到 DSC 脚本。
我的脚本是这样的:
Param(
[string]$data
)
configuration ApplyConfig
{
Script Backup {
SetScript = {
#do some stuff with $data
}
TestScript = {
Write-Output "Print param"
Write-Output $data
return $true
}
GetScript = {
return @{"Test" = "test data"}
}
}
}
ApplyConfig
脚本参数字段包含:
-Destination "$(ApplicationPath)"
然而,在这一点上,$data 似乎始终为空。如何将脚本参数字段中定义的参数放入我的脚本资源中?
我的灵活性建议是在您的 DSC 脚本中声明配置哈希 table 并传入参数以对其进行配置。我的 Continuous Delivery with TFS / VSTS – Server Configuration and Application Deployment with Release Management 博客 post 完整介绍了如何在 TFS 2015 Update 2 中使用 DSC 和发布管理。
然后获取参数就变成了声明你的参数的情况如下:
param(
[Parameter(Position=1)]
[string]$myFirstParameter,
[Parameter(Position=2)]
[string]$mySecondParameter
)
然后直接传入值:
脚本参数字段包含 'myFirstValue' 'mySecondValue'
或更好的变量:
脚本参数字段包含 $(myFirstValue) $(mySecondValue)
当您在 TestScript 中引用 $data 时,您需要 'using' 范围:
TestScript = {
Write-Output "Print param"
Write-Output $using:data
return $true
}
TestScript 在不同的 PowerShell 上下文中执行; 'using' 允许您跨这些上下文复制 $data 的值。
我正在使用 TFS 2015 Update 2 创建一个版本。我的发布步骤之一是 "PowerShell on Target Machines" 任务,我用它来应用 DSC 配置。
我想使用“脚本参数”字段将参数从 TFS 传递到 DSC 脚本。
我的脚本是这样的:
Param(
[string]$data
)
configuration ApplyConfig
{
Script Backup {
SetScript = {
#do some stuff with $data
}
TestScript = {
Write-Output "Print param"
Write-Output $data
return $true
}
GetScript = {
return @{"Test" = "test data"}
}
}
}
ApplyConfig
脚本参数字段包含:
-Destination "$(ApplicationPath)"
然而,在这一点上,$data 似乎始终为空。如何将脚本参数字段中定义的参数放入我的脚本资源中?
我的灵活性建议是在您的 DSC 脚本中声明配置哈希 table 并传入参数以对其进行配置。我的 Continuous Delivery with TFS / VSTS – Server Configuration and Application Deployment with Release Management 博客 post 完整介绍了如何在 TFS 2015 Update 2 中使用 DSC 和发布管理。
然后获取参数就变成了声明你的参数的情况如下:
param(
[Parameter(Position=1)]
[string]$myFirstParameter,
[Parameter(Position=2)]
[string]$mySecondParameter
)
然后直接传入值:
脚本参数字段包含 'myFirstValue' 'mySecondValue'
或更好的变量:
脚本参数字段包含 $(myFirstValue) $(mySecondValue)
当您在 TestScript 中引用 $data 时,您需要 'using' 范围:
TestScript = {
Write-Output "Print param"
Write-Output $using:data
return $true
}
TestScript 在不同的 PowerShell 上下文中执行; 'using' 允许您跨这些上下文复制 $data 的值。