2017-05-06 38 views
0

場景:試圖使用Azure自動化帳戶使用DSC創建https網站。我得到下面的錯誤。你面對同樣的情況嗎?任何幫助都會很棒。 HTTP綁定工作正常。PowerShell DSC:xWebSite錯誤:期望的網站綁定對於網站無效

的Windows 2012 R2

XWebAdministration模塊版本:1.17.0.0

錯誤:PowerShell的DSC資源MSFT_xWebsite失敗,錯誤消息來執行測試,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"}) 
    }) 
    } 
+0

如果您只添加一個https站點,會發生什麼情況? – CtrlDot

+0

仍是同樣的問題。看起來像xwebsite不支持獲取命令在證書thumbprint.if我輸入證書thumbprint作爲一個字符串,它工作正常..基本上我們不能動態地傳遞值.. – CKS

+0

你可以設置它作爲一個變量更高,然後通過它作爲字符串 – CtrlDot

回答

0

在編譯時執行在DSC配置中的腳本資源之外使用的表達式。以下行將在管理計算機上執行,其中證書可能不存在,並將.mof文件中的指紋設置爲NULL。您可以通過查看生成的mof文件來驗證這一點。

CertificateThumbprint = $(Get-ChildItem cert:\LocalMachine\My | where { $_.Subject -match "WMSvc" } | select -First 1).Thumbprint 

你需要指定的指紋作爲一個字符串值,或使用腳本資源以設置綁定在那裏你可以運行你的Get-ChildItem -command作爲SetScript-腳本塊的一部分。

+0

嘿Frode,謝謝你的回覆..我試着做你的建議,但仍然是同樣的問題。 – CKS

+0

GetScript = {} TestScript = {$ False} SetScript = { $ certificatestore = $(Get-ChildItem cert:\ LocalMachine \ My | where {$ _。Subject -match「WMSvc」} | select -First 1) 寫主機「這是$ certificatestore」 } }和bindinginfo我試着這個CertificateThumbprint =「$($ certificatestore.Thumbprint)」..但仍然是相同的問題..這是你在暗示什麼?錯誤:期望的網站綁定對於網站無效 – CKS

+0

不,請在setscript中使用適當的cmdlet添加綁定(記得設置工作testscript和getscript)。如果您無法爲指紋AFAIK指定靜態值,則無法使用xWebsite設置bindinginfo。 –