删除IIS授权规则"所有用户"

时间:2016-02-24 09:49:35

标签: powershell iis authorization

我尝试从我们的某个Web服务中删除特定的IIS授权规则。 我需要删除用户"所有用户"使用模式"允许"。

我尝试使用此命令

Clear-Webconfiguration -Filter /system.webServer/security/authorization -Force -PSPath 'IIS:\sites\IAI Application Customizer'

我可以删除所有创建的规则,但只删除"所有用户"规则仍然存在。

我希望你能帮我解决这个问题。 谢谢

4 个答案:

答案 0 :(得分:2)

这是一个已知问题,我至少可以使用IIS7重现:https://social.technet.microsoft.com/Forums/en-US/46cb1905-424e-4bf1-a9e4-514e274b7582/iis-clearwebconfiguration-cmdlet-needs-to-be-executed-twice-for-inherited-url-authorization-rules?forum=winserverpowershell

您必须两次调用effect才能删除所有继承的规则。例如:

Clear-WebConfiguration

答案 1 :(得分:0)

也许您可以更改该服务的web.config文件。

<authorization>
    <remove accessType="Allow" users="*" />
</authorization>

答案 2 :(得分:0)

这是我的解决方案。

$webConfigPath = "C:\Users\SOGL_D\Desktop\test.xml"

$xml = [xml](get-content $webConfigPath)   # Create XML object and open the web.config file


foreach( $item in  $xml.configuration."system.webServer".security.authorization.add )  # Traverse through all modules 
{ 
        if( $item.users -eq "*" )                          # Checking if the current module is to be removed 
        { 
           $xml.configuration."system.webServer".security.authorization.RemoveChild($item);   # Remove the desired module when found 
        } 
}

$xml.Save($webConfigPath)   # Save the updated web.config file

答案 3 :(得分:0)

这对我有用:

  

C:\ Windows \ System32 \ inetsrv \ appcmd.exe设置配置   /section:system.webServer/安全性/授权   /-“ [accessType ='Allow',users ='*']”