
Die Zwischenablage und PowerShell werden beschleunigt, aber nicht blind.
Die Verwendung von GPP zum Hinzufügen von Registrierungsdateien ist gruselig und unpraktisch - all diese Registrierungszweige, Schlüsseltypen, Werte ... Besonders wenn die Zweige und Werte ziemlich gut sind. Es gibt jedoch einige Life-Hacks, die die Arbeit mit Gruppenrichtlinien erheblich beschleunigen können.
Sie können natürlich ein Anmeldeskript mit dem Importbefehl des Registrierungszweigs aufhängen. Dies ist jedoch nicht unsere Methode.
Der erste Weg. Etwas kompliziert
Die erste Option besteht darin, eine eigene Gruppenrichtlinienobjektvorlage zu erstellen. Diese Methode ist besonders praktisch, wenn Sie die Werteparameter je nach Benutzer ändern müssen. Wenn Sie die Prinzipien der Vorlagenbildung nicht kennenlernen möchten, können Sie einfach die „richtige“ Registrierungsdatei exportieren und mit dem in der Technet- Skriptgalerie veröffentlichten Skript REG_2_ADMXL.vbs in eine Vorlagendatei konvertieren.
Angenommen, wir möchten den Benutzern das Leben erleichtern, indem wir mehrere Suchmaschinen wie folgt an Internet Explorer anschließen:
- Wenn Sie den Abfragetext in die Adressleiste " g " eingeben, wird die Abfrage bei Google durchsucht.
- " Y Anfrage Text" - in Yandex;
- und " w Abfragetext" in der russischen Wikipedia.
Bereiten Sie dazu einfach die Registrierungsdatei vor:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchUrl\W] @="http://ru.wikipedia.org/wiki/:Search?search=%s" [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchUrl\Y] @="http://www.yandex.ru/yandsearch?rpt=rad&text=%s" [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchUrl\G] @="http://www.google.com/search?q=%s"
Konvertieren Sie es mit dem folgenden Befehl in eine Vorlage:
cscript REG_2_ADMXL.vbs IE-search.reg Ru-ru IE-search.admx
Die resultierende Vorlage und der Ordner mit der Sprachdatei werden in das Vorlagenverzeichnis geworfen. Jetzt wird unsere Richtlinie im Gruppenrichtlinienobjekt-Verwaltungs-Snap-In angezeigt.

Installierte Vorlage.
Der Mechanismus ist in Bezug auf die Wartung nicht sehr praktisch, funktioniert aber im Prinzip. Und fahren Sie nichts manuell.
Eine andere Option wäre die Verwendung von PowerShell-Cmdlets für die Arbeit mit dem Gruppenrichtlinienobjekt. Um beispielsweise das Kontextmenüelement "Senden" an Benutzer wiederherzustellen, lauten die Cmdlets wie folgt:
Import-module -Name GroupPolicy New-GPO -Name SendTo Set-GPRegistryValue -Name "SendTo" -key "Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -ValueName SendTo -Type ExpandString -value "C:\Users\Default\AppData\Roaming\Microsoft\Windows\SendTo" Set-GPLink -Name SendTo -Target "ou=Users,dc=domain,dc=com" -LinkEnabled Yes
Es sieht aus wie die Option für nur einen Schlüssel. Wenn viele Schlüssel vorhanden sind, müssen Sie das Rad der Einfachheit halber neu erfinden und die Registrierungsdatei erneut in eine Reihe von PowerShell-Cmdlets konvertieren.
Weitere Informationen zum Arbeiten mit Gruppenrichtlinien und zum Automatisieren all dessen finden Sie in einem der vorherigen Artikel, " Eintauchen in Vorlagen und Zähmen von Windows-Gruppenrichtlinienobjekten ". Nun, ich werde über meine Lieblingsmethode sprechen.
Der zweite Weg. Kopieren - Einfügen (fast)
Wie Sie vielleicht bemerkt haben (ich habe dies nicht sofort bemerkt), sind Aktionen für Objekte, einschließlich Standardoperationen in der Zwischenablage, im Gruppenrichtlinienverwaltungs-Snap-In verfügbar.

Das Kontextmenü in den GPP-Registrierungseinstellungen.
Wenn Sie ein Objekt in die Zwischenablage kopieren und einfügen, stellt sich heraus, dass es sich bei diesem Objekt um eine XML-Datei handelt. Dies bedeutet, dass die Datei vorgeneriert und dem Snap-In hinzugefügt werden kann, ohne die Felder manuell auszufüllen.
Dafür hat Malcolm McCaffery ein spezielles Drehbuch geschrieben. Es generiert eine XML-Datei basierend auf der exportierten Registrierungsdatei. Das Skript finden Sie im Blog des Autors.
Das Skript des Autors enthält zusätzliche Aufrufe der Convert-Reg2Xml-Funktion und einen zusätzlichen Parameterblock. Diese Fehler können während eines Testlaufs über PowerShell ISE leicht behoben werden. Trotzdem habe ich für alle Fälle die korrigierte Version auf Pastebin geworfen . Es gibt auch eine Abzweigung dieses Skripts auf Github und sogar einen Onlinedienst , der dasselbe tut.
Die Verwendung eines Skripts ist äußerst einfach.
Convert-Reg2Xml -regPath input.reg -xmlPath output.xml
Die resultierende XML kann sogar einfach in das Feld für die Registrierungseinstellungen gezogen werden.
Lassen Sie uns ein bestimmtes Beispiel analysieren. Exportieren Sie zunächst den „richtigen“ Registrierungszweig. In diesem Beispiel erstellen wir eine Richtlinie, um die Anzeige versteckter Dateien, Ordner und Erweiterungen zu ermöglichen, und führen gleichzeitig den automatischen Start von ctfmon.exe durch, um das Layout nahtlos zu ändern.
Die Registrierungsdatei lautet wie folgt:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] "Hidden"=dword:00000001 "HideFileExt"=dword:00000000 "ShowSuperHidden"=dword:00000001 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] "Language Bar"=""ctfmon”=”CTFMON.EXE”
Konvertieren Sie es in XML. Wenn Sie sich die resultierende Datei ansehen, sieht sie bereits folgendermaßen aus:
Vollständige XML-Liste unter dem Spoiler. <?xml version="1.0" encoding="utf-8"?> <Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="HKEY_CURRENT_USER"> <Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Software"> <Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Microsoft"> <Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Windows"> <Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="CurrentVersion"> <Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Explorer"> <Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Advanced"> <Registry clsid="{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}" name="Hidden" descr="Imported Reg File" image="17"> <Properties action="U" hive="HKEY_CURRENT_USER" key="Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" name="Hidden" default="0" type="REG_DWORD" displayDecimal="0" value="00000001" /> </Registry> <Registry clsid="{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}" name="HideFileExt" descr="Imported Reg File" image="17"> <Properties action="U" hive="HKEY_CURRENT_USER" key="Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" name="HideFileExt" default="0" type="REG_DWORD" displayDecimal="0" value="00000000" /> </Registry> <Registry clsid="{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}" name="ShowSuperHidden" descr="Imported Reg File" image="17"> <Properties action="U" hive="HKEY_CURRENT_USER" key="Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" name="ShowSuperHidden" default="0" type="REG_DWORD" displayDecimal="0" value="00000001" /> </Registry> </Collection> </Collection> <Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Run"> <Registry clsid="{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}" name="Language Bar" descr="Imported Reg File" image="7"> <Properties action="U" hive="HKEY_CURRENT_USER" key="Software\Microsoft\Windows\CurrentVersion\Run" name="Language Bar" default="0" type="REG_SZ" displayDecimal="0" value=""ctfmon”=”CTFMON.EXE”" /> </Registry> </Collection> </Collection> </Collection> </Collection> </Collection> </Collection>
Jetzt können Sie es einfach in das Feld für die Registrierungseinstellungen einfügen. Diese Schönheit wird sich herausstellen:

Kundenspezifische Richtlinie.
Bei richtiger Geschicklichkeit dauert der Vorgang weniger lange als das Lesen dieses Textes.
Zur Vereinfachung können Sie im Kontextmenü ein Element für Registrierungsdateien hinzufügen, um Dateien im Allgemeinen mit zwei Klicks zu konvertieren.
Es reicht aus, einen neuen Aktionstyp für Objekte vom Typ regfile zu erstellen und den Pfad zum gewünschten Skript zu schreiben. Für Ihre Bequemlichkeit habe ich dies natürlich in einer Registrierungsdatei zusammengestellt:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Classes\regfile\shell\convert2xml] @="convert2xml" [HKEY_CURRENT_USER\Software\Classes\regfile\shell\convert2xml\command] @="powershell.exe -File C:\\temp\\script.ps1 %1"
Der Pfad zum Skript wird in der letzten Zeile angegeben.
Damit das Skript dies funktioniert, müssen Sie die folgenden Zeilen hinzufügen:
$output=(Split-Path -Path $args[0]) + "\output.xml" Convert-Reg2Xml -regPath $args[0] -xmlPath $output
Wenn Sie jetzt das Kontextmenü aufrufen, wird ein weiteres Element angezeigt. Wenn Sie darauf klicken, wird die benötigte XML-Datei neben der Registrierungsdatei angezeigt.

Neuer Kontextmenüpunkt.
Um einfache Änderungen an der Registrierung von Benutzern und Computern vorzunehmen, sind solche Mechanismen natürlich überflüssig. Für die Einrichtung einer großen Anzahl von Parametern sind diese Life-Hacks jedoch sehr praktisch.