【发布时间】:2017-04-11 12:51:21
【问题描述】:
我有一个看起来像这样的 DSC 配置
configuration DBServer
{
param(
[PSCredential]$SqlAdminCredential
)
node "localhost"
{
Script ConfigureSSRS {
SetScript = {
& sqlcmd -S $RSConnection -i $DBCreateFile -U $SQLAdminCredential.UserName -P $SQLAdminCredential.GetNetworkCredential().Password
我使用 JSON 模板部署在 azure VM 上运行它,其 DSC 扩展包含此 Properties 节点:
"Properties": {
"SqlAdminCredential": {
"userName": "PrivateSettingsRef:SQLAdmin",
"password": "PrivateSettingsRef:SQLAdminPass"
},
这两个值确实在protectedSettings 节点中定义:
"SQLAdmin": "[parameters('sqlAuthenticationLogin')]",
"SQLAdminPass": "[parameters('sqlAuthenticationPassword')]"
但是,每当我尝试使用凭据时,上面列出的代码中都会出现空引用异常。我试过$using:SqlAdminCredential,我相信昨天我也试过$global:SqlAdminCredential。
我目前正在尝试解决此问题,但我不喜欢更改我的配置然后花费 15 分钟等待部署以查看它是否有效。但是,我不知道如何使用Start-DscConfiguration 传递此凭据对象参数,以便在现有 VM 上对其进行故障排除。我该怎么做?
如果您能解决我的实际问题并告诉我如何从ConfigureSSRS.SetScript 内部访问$SqlAdimCredential,则可以加分
【问题讨论】:
标签: powershell azure dsc