嗨,我试图改变powershell中的目标值,但没有运气。 这是我正在使用的脚本。它可以很好地改变应用程序的设置值,但不是目标值如何使用powershell修改web.config中的目标值
$webConfig = 'C:\Users\Desktop\xml\web.config'
$doc = (Get-Content $webConfig) -as [Xml]
$obj = $doc.configuration.targets | where {$_.filename -eq 'test.log.txt'}
$obj.value = 'C:\test_logs\test.log.txt-${shortdate}.log.txt'
$doc.Save($webConfig)
我收到以下错误。 无法在此对象上找到属性“值”。验证该属性是否存在并可以设置。
这是在web.config
<targets>
<target name="f1" xsi:type="File" fileName="test.log.txt" layout="${threadname} ${longdate}
${callsite} ${logger}[${level}] ${message}" />
<target name="console" xsi:type="Console" layout="${threadname} ${longdate} ${callsite}
${logger}[${level}] ${message}" />
</targets>
编辑的脚本 $ webConfig = 'C:\用户\桌面\ XML \的web.config' $ DOC =(获取内容$ webConfig)-as [Xml] $ obj = $ doc.configuration.targets.target |其中{$ _。fileName -eq'test.log.txt'} $ obj.SetAttribute'C:\ test_logs \ test.log.txt - $ {shortdate} .log.txt' $ doc.Save($ webConfig )
我收到此错误消息,当我使用上面的代码 – san 2014-09-08 13:51:46
你不能调用一个空值表达式的方法。我修改了有问题的脚本 – san 2014-09-08 13:52:07