【问题标题】:Managing IIS .Net Authorization Rules with a powershell script使用 powershell 脚本管理 IIS .Net 授权规则
【发布时间】: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


【解决方案1】:

在示例中添加拒绝规则应使用的命令是:

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

这也困扰着我,我也很难让 appcmd 做同样的事情。我确实让它最终工作并发现-Type 参数是重要的参数。 the documentation 对我来说并不是很清楚,它只是说:

要添加的属性类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 2010-12-09
    • 1970-01-01
    • 2021-03-15
    相关资源
    最近更新 更多