我试图将一个子节点()添加到reportserver.config文件中,但是我得到了一个错误,我实际上并不知道如何努力。以下是我的所作所为。
$ webConfigPath =" C:\ Program Files \ Microsoft SQL Server \ MSRS10_50.SNDPRO \ Reporting Services \ ReportServer \ rsreportserver.config"
$ xml = [xml](get-content $ webConfigPath)
$ child = $ xml.CreateElement(" RSWindowsNegotiate")
$ xml.Configuration.Authentication.AuthenticationTypes.InsertBefore($ child," $ xml.Configuration.Authentication.AuthenticationTypes.RSWindowsNTLM")
$ xml.Save($ webConfigPath)
错误是:无法转换参数" 1",值为:"",for" InsertBefore"输入" System.Xml.XmlNode":"无法转换"" type" System.String"的值输入" System.Xml.XmlNode"。"
非常感谢您的帮助。
答案 0 :(得分:1)
我认为使用空XML元素作为属性时,powershell会做一些奇怪的事情(在本例中为RSWindowsNTLM)。试试这个:
$RSWindowsNTLM = $xml.Configuration.Authentication.AuthenticationTypes.SelectSingleNode("RSWindowsNTLM");
$xml.Configuration.Authentication.AuthenticationTypes.InsertBefore($child, $RSWindowsNTLM)