Это мой первый пост, и я немного новичок в PowerShell, поэтому извиняюсь за любые проблемы с публикацией.
У меня возникают некоторые проблемы при попытке импортировать значения реестра из отформатированного файла XML. Я могу читать содержимое XML и использовать foreach для циклического прохождения XML-кода, но я застрял, пытаясь создать команды New-ItemProperty. Вот пример XML:
<?xml version="1.0" encoding="utf-8" ?>
<REGUPDATES>
<SASR>
<Reg>
<Key>HKLM:\Some\Key\Path\000\111\22222</Key>
<Name>Something.exe</Name>
<Type>DWORD</Type>
<Value>00000001</Value>
</Reg>
<Reg>
<Key>HKLM:\Some\Key\Path\333\444\55555</Key>
<Name>Something.exe</Name>
<Type>DWORD</Type>
<Value>00000002</Value>
</Reg>
</SASR>
</REGUPDATES>
А вот пример кода PowerShell:
[xml]$RegUpdates = Get-Content C:\Temp\RegUpdates.xml
$SASRReg = $RegUpdates.REGUPDATES.SASR.Reg
$SASRKey = $RegUpdates.Regupdates.SASR.Reg.Key
$SASRName = $RegUpdates.Regupdates.SASR.Reg.Name
$SASRType = $RegUpdates.Regupdates.SASR.Reg.Type
$SASRValue = $RegUpdates.Regupdates.SASR.Reg.Value
foreach ($IAVA in ($SASRReg))
{
New-ItemProperty -Path ([string]$SASRKey) -Name ([string]$SASRName) -
PropertyType ([string]$SASRType) -Value ([string]$SASRValue)
Похоже, что значения ключей реестра (как и другие переменные) связаны друг с другом. Вот ошибка, которую я вижу:
New-ItemProperty : Cannot find path 'HKLM:\Some\Key\Path\000\111\22222
HKLM:\Some\Key\Path\333\444\55555' because it does not exist.
Заранее благодарим за любую помощь!