Я знаком со ссылками на узлы в powershell, но не совсем уверен, как редактировать следующие узлы, потому что каждое значение не имеет уникального идентификатора.Можно ли как-то редактировать значения, основанные на пути?Каждый путь ссылается на переменную SSIS.Мне нужно редактировать только сконфигурированное значение, но это через 15 узлов.Ниже приведены 2 примера этих узлов:
<Configuration ConfiguredType="Property" Path="\Package.Variables[User::var1].Properties[Value]"
ValueType="String">
<ConfiguredValue>SomeValue</ConfiguredValue>
</Configuration>
<Configuration ConfiguredType="Property" Path="\Package.Variables[User::var2].Properties[Value]"
ValueType="String">
<ConfiguredValue>AnotherValue</ConfiguredValue>
</Configuration>
В приведенном выше примере я пытаюсь отредактировать «someValue» на основе Path, возможно ли это?Первоначально я редактировал по номеру строки, но вскоре понял, что номера строк меняются для каждого клиентского файла.
В идеале я хотел бы просмотреть все файлы в пути к файлу и сделать это для каждого отдельного файла.
ОБНОВЛЕНО: прикреплен мой рабочий код, спасибо @ gms0ulman!
$filePath = ("\\server1\test") #location of all files
Foreach($file in Get-ChildItem $filePath | where {!$_.PSIsContainer}){
$xml = [xml](Get-Content $file.FullName)
#updating attribute
$node = $xml.root.Configuration
($xml.root.Configuration | Where-Object {$_.Path -like "*var1*"}).ConfiguredValue = "newValue"
$xml.Save($file.FullName)
}