【发布时间】:2017-09-16 10:26:30
【问题描述】:
我正在尝试将 pscredentials 传递给旨在通过 Azure 自动化 DSC 进行部署的 dsc 配置,但我似乎无法使用记录在案的两种方法使其正常工作。
1) 第一种方法表明可以将 PSCredential 添加到与用于 dsc 的自动化帐户关联的凭据存储中。我能找到的所有文档都是指 azure classic 门户,并指示您选择凭证“类型”。但是,经典门户中不再提供 Azure 自动化管理,并且新门户没有新凭据的“类型”下拉菜单,类型为“Microsoft.Azure.Commands.Automation.Model.CredentialInfo” -- 它不包含 pscredential 类型具有的 getnetworkcredential() 方法(需要从 dsc 配置中获取纯文本密码以设置新用户 [用户 dsc 资源])。我是在这里遗漏了什么,还是 Azure 处于一种奇怪的状态,因为它已经从经典门户切换到了自动化功能的新门户。我还尝试使用 Get-AutomationPSCredential 读取我添加到新门户的凭据,以查看它是否隐式进行类型转换,但这也不起作用(没有找到该名称下的任何对象)。
2) 文档还指出,添加一个 param() 块,并将 pscredentials 指定为参数将在编译期间动态填充这些非常相同的参数,因此在通过门户编译时可以填写值......尽管这没有发生,并且编译作业无法识别“参数”,引发终止异常并停止。
代码看起来像这样:
$configdata = @{
AllNodes = @(
@{
NodeName = "samplenode"
PSDSCAllowPlainTextCredential = $true
}
)
}
configuration testconfig {
Import-DSCResource -ModuleName PSDesiredStateConfiguration
param (
[pscredential]$cred
)
Node $AllNodes.NodeName {
User testuser {
"blah blah blah"
}
}
}
任何帮助将不胜感激,谢谢!
【问题讨论】:
标签: powershell azure azure-powershell dsc azure-automation