PowerShell: Auf die Registry remote zugreifen

Der lokale Zugriff auf die Windows-Registry ist dank Registry-PSProvider recht einfach und komfortabel möglich. Hat der Zugriff hingegen remote zu erfolgen, steht mit nativen PowerShell-Mitteln nur PowerShell Remoting zur Verfügung. Und innerhalb einer AD-„Vertrauensblase“, also innerhalb eines Forests oder zwischen Forests, die sich vertrauen, ist PowerShell Remoting dank Kerberos total easy.

Interessanter wird es, wenn der Zugriff außerhalb der Vertrauensblase erfolgen soll, beispielsweise von einem Workgroup-Client auf einen Domänen-Server oder umgekehrt. Du muss entweder im Ziel ein HTTPS-Listener in WinRM eingerichtet worden sein, oder die Adresse des Ziels muss auf dem Client in die „Trusted Hosts“ aufgenommen werden. Hat man auf dem Client keine Adminrechte, wird man hier auch nicht weiterkommen.

Zum Glück gibt es manchmal alte Technologien, die hier Abhilfe schaffen, in diesem Fall ist WMI besonders hilfreich. So gelingt der Zugriff mit NTLM-Authentifizierung zwischen unvertrauten Maschinen:

Die nummerischen Konstanten für die einzelnen Hives sind in den Docs dokumentiert. Beim Zugriff auf HKEY_CURRENT_USER ist natürlich der zugreifende User gemeint, sofern er ein Profil auf der Maschine hat und gerade angemeldet ist.

Ich habe die gängigsten Operationen als Modul „PSWMIRegistry“ in der PowerShell Gallery veröffentlicht. Viel Spaß damit!