Ich versuche, ein (PoSh-)Skript als SYSTEM auszuführen (d. h. beim Start, über SCCM oder auf andere Weise), das einige geschützte Registrierungsschlüssel lesen muss, und es kann sie nicht sehen.
Ein normaler Benutzer hat keine Berechtigung, die Schlüssel anzuzeigen. (Als Beispiel wird ein Mozilla-Schlüssel verwendet. Unter dem Knoten „Tree“ können sich jedoch Dutzende davon befinden.)
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.
Ein Administratorbenutzer kann die Schlüssel sehen (aber nicht ändern):
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...}
Aber das SYSTEM-Konto sieht einfach nichts:
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 hat die volle Kontrolle über den Registrierungsschlüssel und den übergeordneten Schlüssel. Was der Administrator sieht (mit Berechtigungen).Dies ist, was SYSTEM in der Registrierung sieht.
Wie kann SYSTEM ihn nicht sehen? Wie kann ich diesen Schlüssel über ein Startskript (oder eine andere SYSTEM-Aktivität) lesen?
Danke.
Edit: Soweit ich das beurteilen kann, ist dies der Fall beiALLEWin10 1809+ undnichtnur eine einzelne Maschine.