在 IIS 中添加 authoringRules 不会设置访问权限

Adding authoringRules in IIS doesn't set access

我正在尝试在系统中添加新规则。webServer/webdav/authoringRules 文件中 $WebSite 位置的 applicationhost.config 部分使用此行:

Add-WebConfigurationProperty system.webServer/webdav/authoringRules IIS: -Location $WebSite -AtIndex 0 -name collection -value @{users="*";access="Read, Source";path="/"}

但令人惊讶的是,结果是在配置文件中只设置了用户和路径值:

<add users="*" path="/" />

我什至尝试过更改哈希表值的顺序或定义不同的访问值(例如仅读取),但结果始终相同。

有人知道吗?

使用数值而不是枚举名称解决了我的问题:

Add-WebConfigurationProperty system.webServer/webdav/authoringRules IIS: -Location $WebSite -AtIndex 0 -name collection -value @{users="*";access=17;path="/"}

但是,我认为 String 值会起作用,因为它在大多数情况下都起作用。如果有人找到使用 String 值的解决方案,我将不胜感激。

编辑: 我对这段脚本玩了一点,终于找到了正确的做法。问题实际上是我在逗号后添加了 space。因此,以这种方式重写该行,有效:

Add-WebConfigurationProperty system.webServer/webdav/authoringRules `
  -Location $webSite -name Collection `
  -value @{users="*";path="/";access="Read,Source"}