Я начинаю с powershell, и мне нужна помощь для сценария развертывания, который изменяет значения в файле конфигурации (xml). Все значения параметров находятся в CSV-файле:
ID,CountryCode,LanguageCode,SiteID,SiteName
00000001,1,us001,01,site1
00000002,1,us001,01.1,site1.1
00000003,2,fr002,02,site2
00000004,3,uk003,03,site3
00000005,4,de004,04,site4
00000006,4,de004,04.1,site4.1
Идентификатор уникален в реестре локального компьютера, созданного развернутым приложением
HKEY_LOCAL_MACHINE\SOFTWARE\EDITOR\APP ID reg_sz 00000001
Конфигурация xml для этого приложения необходимо обновить, я пытаюсь сделать это с помощью powershell
<?xml version="1.0" encoding="utf-8"?>
<LocalSetting xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CountryCode>1</CountryCode>
<LanguageCode>0001</LanguageCode>
<SiteID>000000</SiteID>
<SiteName>test</SiteName>
это часть кода powershell
$csv = Import-Csv 'C:\test\testvaluesFile.csv' | Select-Object "ID","CountryCode","LanguageCode","SiteID","SiteName"
$XMLpath = ("C:\test\testconfigFile.xml")
$XMLcontents = [XML] (Get-content $XMLpath)
$nodes = $XMLcontents.SelectNodes("/LocalSetting/CountryCode","/LocalSetting/LanguageCode","/LocalSetting/SiteID","/LocalSetting/SiteName")
$ID = (Get-ItemProperty "HKLM:\SOFTWARE\EDITOR\APP").ID
foreach($row in $csv) {
foreach($node in $nodes) {
if ($ID -eq $row.ID) {
$node.SetAttribute = $row.$nodes
}
}
}
$xml.Save("C:\test\testconfigFile.xml")
Заранее спасибо