2015-10-06 43 views
1

我正在爲DSC編寫一些邏輯以檢查Negotiate:Kerberos是否位於我們網站之一的Windows身份驗證的提供程序列表中。我寫的邏輯來檢查Windows身份驗證和確認,翻回上:在PowerShell中爲所需的狀態配置腳本返回IIS Windows身份驗證提供程序

Script ActiveSyncAuthentication 
      { 
       SetScript = { 
        Set-WebConfiguration system.webServer/security/authentication/windowsAuthentication -PSPath IIS:\ -Location 'Default Web Site/MySite' -Value @{enabled="True"} 
       } 
       TestScript = { 
        return ((Get-WebConfigurationProperty //system.webServer/security/authentication/windowsAuthentication -PSPath IIS:\ -Location 'Default Web Site/MySite' -Name Enabled) -eq "True") 
       } 
       GetScript = { }  
      } 

我知道,我可以添加到供應商的名單與以下:

Add-WebConfiguration -Filter system.webServer/security/authentication/windowsAuthentication/providers -PSPath IIS:\ -Location 'Default Web Site/MySite' -Value Negotiate:Kerberos 

不過,我m正努力使用Get-WebConfiguration或Get-WebConfigurationProperty來返回它。

回答

1

您可以使用此:

 $WinAuthen = Get-WebConfigurationProperty -filter /system.webServer/security/authentication/windowsAuthentication -PSPath $PSPath -Name enabled | Select Name,Value 
    $WinProviders = Get-WebConfigurationProperty -filter /system.webServer/security/authentication/windowsAuthentication -PSPath $PSPath -Name Providers 
    $WinProviders = $WinProviders.Collection | Select Value 
+0

如果你這樣做,它會複製Windows驗證提供者繼承的網站,這可能不是所期望的行爲。 – brianary

相關問題