2015-05-09 76 views
1

我想简单地使用PS管理单元中的powershell脚本在IIS(7.5/win 2008 R2)中添加一些.Net授权规则。到目前为止,我能够添加一些“允许”规则,但不是任何否认规则。使用PowerShell脚本管理IIS .Net授权规则

每次我尝试时,它或者什么也不做,或者创建一个“允许”规则,这看起来很奇怪,就像它默认允许所有的时间一样。

我尝试使用add-webconfigurationproperty和add-webconfiguration,但没有运气。

也许你们中的一个人有正确的命令行使用?

例如:

Add-WebConfiguration "/system.web/authorization" -value @{ElementTagName="Deny";users="*"} -PSPath "IIS:\Sites\Mysite" 

Add-WebConfigurationProperty "/system.web/authorization" -Name "collection" -value @{ElementTagName='deny';users='test'} -PSPath "IIS:\Sites\Mysite" 

将创建2个 “允许” 规则。

相同的行为,如果我删除。太奇怪了。就像拒绝“模式”以某种不同的方式访问一样。

例如,如果我去IIS 8并尝试在添加拒绝规则后生成脚本,则建议的命令行也不起作用。

我该如何解决这个问题?

+0

不完全是您的问题的答案...但为了实现您的目标,您可以从PowerShell调用'appcmd.exe'。看到这里的例子[添加拒绝规则](https://technet.microsoft.com/en-us/library/cc772441(v = ws.10).aspx)... –

+0

感谢彼得,的确我已经找到一种用appcmd.exe添加拒绝规则的方法,但我认为这是一种解决方法。我会很惊讶,这是不可能的与常规PS捕捉。 – Cedricc

回答

0

您应该使用在你的榜样拒绝规则的命令是:

Add-WebConfigurationProperty "/system.web/authorization" -PSPath "IIS:\Sites\Mysite" -Name "." -value @{users='test'} -Type "deny" 

这困扰我太多&我也有麻烦APPCMD做同样的事情。我确实得到它的工作到底&发现-Type参数是重要的。这并不是我所知的the documentation,只是说:

要添加的属性的类型。