【发布时间】:2017-09-15 05:17:51
【问题描述】:
我想使用带有 PS 管理单元的 powershell 脚本在 IIS(7.5 / win 2008 R2)中简单地添加一些 .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 个“允许”规则。
如果我删除 ElementTagName='deny',行为相同。太奇怪了。就像拒绝“模式”以某种不同的方式访问一样。
例如,如果我转到 IIS 8 并在添加拒绝规则后尝试生成脚本,则建议的命令行也不起作用。
我该如何解决这个问题?
【问题讨论】:
-
不完全是您问题的答案......但为了实现您的目标,您可以从 powershell 调用
appcmd.exe。在这里查看add a deny rule的示例... -
谢谢彼得,确实我已经找到了一种使用 appcmd.exe 添加拒绝规则的方法,但我认为这是一种解决方法。我会惊讶于常规的 PS 管理单元是不可能的。
标签: powershell authorization iis-7.5