Почему я могу прочитать значения ключей реестра, но не записать их таким же образом?

Чтобы укрепить Windows, я хочу отключить netbios на всех компьютерах. С помощью следующего сценария PowerShell я могу легко прочитать все настройки Netbios сетевых адаптеров.

$RegKeys = Get-ChildItem 'HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces'
$RegKeys | ForEach-Object {
  $_.GetValue("NetbiosOptions")
}

Это отлично работает, поэтому я подумал, что аналогично этому, я могу изменить настройки следующим образом:

$RegKeys = Get-ChildItem 'HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces'
$RegKeys | ForEach-Object {
$_.SetValue("NetbiosOptions", 2)
}

Но там написано, что это нельзя записать в ключ реестра. Так почему чтение работает, а не письмо? Конечно, я запускаю оба с правами администратора.

Если я сделаю это так, то возможно:

Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces\Tcpip_{Example}" -Name NetbiosOptions -Value 2

Вы не можете записать ключ, если он открыт только для чтения. Вам нужно повторно открыть его для записи.

user4003407 10.09.2018 13:24

спасибо за ответ, но как я могу снова открыть его для написания?

SanderK 11.09.2018 10:11
.OpenSubKey('', $true)
user4003407 11.09.2018 11:56
1
3
126
0

Другие вопросы по теме