Я пытаюсь запустить скрипт (PoSh) как SYSTEM (т. е. при запуске, через SCCM или иным образом), которому необходимо прочитать некоторые защищенные ключи реестра, но он их не видит.
Обычный пользователь не имеет права видеть ключи. (В качестве примера мы используем ключ Mozilla, но в узле «Дерево» их может быть десятки.)
PS C:\> whoami
contoso\testuser
PS C:\> $KeyPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Mozilla"
PS C:\> $Key = Get-Item $KeyPath
Get-Item : Requested registry access is not allowed.
Пользователь с правами администратора может видеть (но не изменять) ключи:
PS C:\> whoami
LocalComputer\administrator
PS C:\> $KeyPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Mozilla"
PS C:\> Get-Item $KeyPath
Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree
Name Property
---- --------
Mozilla SD : {1, 0, 4, 140...}
Но учетная запись SYSTEM просто ничего не видит:
PS C:\> whoami
nt authority\system
PS C:\> $KeyPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Mozilla"
PS C:\> Get-Item $KeyPath
Get-Item : Cannot find path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Mozilla'
because it does not exist.
SYSTEM имеет полный контроль над разделом реестра и родительским разделом. Что видит администратор (с разрешениями).Это то, что СИСТЕМА видит в реестре.
Как SYSTEM может его не видеть? Как мне прочитать этот ключ через скрипт запуска (или другую активность SYSTEM)?
Спасибо.
Редактировать: Насколько я могу судить, это касается иВСЕWin10 1809+ инетвсего одна машина.