gpt4 book ai didi

powershell - 使用 powershell 将 元素添加到 WebDAV authoringRules

转载 作者:行者123 更新时间:2023-12-01 05:21:11 25 4
gpt4 key购买 nike

我正在添加一个 WebDAV authoringRule 使用

Add-WebConfiguration /system.webserver/webdav/authoringRules -PSPath IIS: -Location "$site_name/$app_name/VD" -Value @{users="*";path="*";access="Read,Write"}

在某些环境中,这与父级中的相同创作规则相冲突,从而引发错误。我想在 authoringRules 的开头添加一个 clear 元素,使其看起来像这样
<authoringRules>
<clear />
<add users="*" path="*" access="Read, Write" />
</authoringRules>

但是 Clear-WebConfiguration只清除现有规则。如何使用 powershell 添加 <clear />元素到配置文件?

最佳答案

我相信您指的是 applicationHost.config。

我还发现这是 WebAdministration commandlet 的一个问题,我使用 ServerManager 解决了这个问题。类(class)。我的特殊问题是 windowsAuthentication 提供程序集合,但我看不出为什么这对您不起作用。

您可能需要更正 GetSection 调用中的路径,但这应该会让您非常接近您所需要的。

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Administration") | Out-Null

$serverManager = new-object Microsoft.Web.Administration.ServerManager
$config = $serverManager.GetApplicationHostConfiguration()
$authoringRulesSection = $config.GetSection("/system.webserver/webdav/authoringRules", "$($site_name)/$($app_name)/VD");

# Grab a reference to the collection of authoringRules
$authoringRulesCollection = $authoringRulesSection.GetCollection("authoringRules");

# Clear the current collection this also adds the <clear /> tag
$authoringRulesCollection.Clear();

# Add to the collection
$addElement = $authoringRulesCollection.CreateElement("add")
$addElement["users"] = "*";
$addElement["path"] = "*";
$addElement["access"] = "Read, Write";
$authoringRulesCollection.Add($addElement);

# Save the updates
$serverManager.CommitChanges();

关于powershell - 使用 powershell 将 <clear/> 元素添加到 WebDAV authoringRules,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16619944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com