场景:尝试使用Azure自动化帐户使用DSC创建https网站。我收到以下错误。您是否遇到相同的场景?任何帮助都很好。HTTP绑定工作正常。
Windows 2012 R2
XWebAdministration模块版本:1.17.0.0
错误:PowerShell DSC资源MSFT_xWebsite无法执行Test-TargetResource功能,并显示错误消息:所需的网站绑定对网站无效
DSC节点配置:
foreach ($Site in $Node.Sites)
{
xWebSite "$($Site.Name)WebSite"
{
Ensure = "Present"
Name = $Site.Name
ApplicationPool = "$($Site.Name)"
PhysicalPath = $Site.Path
State = 'Started'
DependsOn = "[xWebAppPool]$($Site.Name)AppPool"
BindingInfo = MSFT_xWebBindingInformation
{
Protocol = 'https'
Port = $Site.Port
CertificateStoreName = 'MY'
CertificateThumbprint = $(Get-ChildItem cert:\LocalMachine\My | where { $_.Subject -match "WMSvc" } | select -First 1).Thumbprint
}
}
DSC配置:
$data = @{
AllNodes = @(
@{
Sites = @(
@{Name="website1";Port="8643";Path="C:\inetpub\www\website1";Apps="App1","App2"}, @{Name="website2";Port="9643";Path="C:\inetpub\www\website2";Apps="App3","App4"})
})
}
2条答案
按热度按时间irtuqstp1#
在DSC配置中脚本资源之外使用的表达式在编译时执行。下面的行将在管理计算机上执行,其中证书可能不存在,并将.mof-file中的指纹设置为
NULL
。您可以通过查看生成的mof-file来验证这一点。您需要将指纹指定为string-value,或者使用Script-resource来设置绑定,在该绑定中,您可以将
Get-ChildItem
-命令作为SetScript-scriptblock的一部分运行。fdx2calv2#
意识到这是旧的和相当冗余的指导,但基本上你要么有一个命令传递到DSC的拇指指纹作为一个参数,或者你可以让你的DSC在编译过程中强制调用服务器的拇指指纹如下(除了我的例子通过主题名称,以防有dupes并获得最新的)。