2016-09-21 57 views
4

我想追加以下的web.config中的HttpHandler的部分:从字符串在PowerShell中创建XML节点,追加

<add name="Telerik_Web_UI_DialogHandler_aspx" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" /> 

目前我创建一个节点,设置这样的属性:

$xmlDoc = (Get-Content $webConfig) -as [Xml] 
$root = $xmlDoc.get_DocumentElement(); 

$handler1 = $xmlDoc.CreateNode('element',"add",'') 
$handler1.SetAttribute('name','Telerik_Web_UI_DialogHandler_aspx') 
$handler1.SetAttribute('verb','*') 
$handler1.SetAttribute('preCondition','integratedMode') 
$handler1.SetAttribute('path','Telerik.Web.UI.DialogHandler.aspx') 
$handler1.SetAttribute('type','Telerik.Web.UI.DialogHandler') 
$root.'system.webServer'.handlers.AppendChild($handler1); 

有没有简单的方法来将字符串转换为节点并追加它?或者只是在孩子的尽头添加字符串?

+2

API命令不要修改'网络更快,更好的可读性。直接使用'appcmd.exe'或'WebAdministration'模块(特别是['Add-WebConfigurationProperty'](https://technet.microsoft.com/en-us/library/ee790572.aspx)) –

回答

1

我找到了答案在这里: https://stackoverflow.com/a/29693625/2165019

特别是如果你有很多的configs的改变,这是比使用在我看来

+1

I downvoted,因为你的答案几乎完全是一个单一的链接。您应该修改链接答案中的示例代码。 –