Попытка создать функцию, которая проверяет значения в редакторе реестра. Скрипт отлично работает, если я не пытаюсь найти значения двух разных свойств с одним и тем же путем. Например, если вы закомментируете второй путь HKLM, сценарий будет работать ... но если вы оставите его, сценарий не будет работать, потому что существует повторяющийся путь ("HKLM: \ SYSTEM \ CurrentControlSet \ Services \ hyperkbd") . Как это можно обойти?
function validate-registry{
$registrylist =
@{
"HKLM:\SYSTEM\CurrentControlSet\Services\hyperkbd" = "ErrorControl","0";
"HKLM:\SYSTEM\CurrentControlSet\Services\hyperkbd" = "Start","3";
}
foreach ($registry in $registrylist.Keys)
{
$namevaluearray = $registrylist[$registry]
$name = $namevaluearray[0]
$value = $namevaluearray[1]
if(
(Get-ItemProperty $registry -name $name).($name) -eq $value )
{
write-host $name "is set to the correct value."
}
else
{
write-host "The value of" $namevaluearray "is INCORRECT."
}
}
}