【发布时间】:2020-04-19 08:33:26
【问题描述】:
Powershell 新手在这里!我需要一些帮助来替换我的配置文件中的值以匹配 Active Directory 中用户扩展属性的值。
这是我所拥有的:
$XML = "C:\Users\Test.User04\Documents\test.config"
$Variable = Get-ADUser -Identity $env:username -prop othertelephone -Server generic.com.au |选择@{n="othertelephone";e={$_.othertelephone -join ";"}}
(获取内容 $XML | Foreach 对象 {$_ -replace '10586',"$Variable"} | 设置内容 C:\Users\Test.User04\Documents\test2.config)
问题:
当我只需要值时,来自 AD 扩展属性的查询提供名称和值
如何精确定位配置文件中的特定位置(屏幕截图中的红框),仅需要用扩展属性值替换。
如您所见,上述代码的当前限制是我必须在配置文件中手动指定值,在本例中为“10586”。我想要做的是始终替换配置文件中的值,无论数字是多少。 Screenshot of config file with red box around value requiring replacement
【问题讨论】:
-
[1] 为什么不将加载的 XML 文本转换为 XML object?这将允许您访问和修改各种项目作为道具,然后将结果导出为 XML 文本文件。 [2] 由于您发布了 XML 文件的图片,因此没有人可以使用该数据来测试代码。 [叹息...]
-
我将研究 XML 对象。我是该站点的新手,并注意到您无法附加文件。感谢您的及时回复。
-
是的...您不能附加文件。如果您需要使用一个太大而无法粘贴到问题中的文件,那么您可能需要将文件修剪到一个可行的大小。
标签: xml powershell