Neben dem Ausrollen des Betriebssystems sowie benötigter Softwarekomponenten kann es vorkommen, dass weitere Konfigurationsschritte notwendig sind, um ein lauffähiges System zu erhalten. Häufiges Szenario bei Windows 10 IoT ist z.B. das Setzen von Werten in der Registrierungsdatenbank (Registry).
Für das Lesen und Schreiben von Registry-Werten stehen unter Windows mehrere Optionen zur Verfügung.
- Der Registrierungseditor regedit.exe
- Das Kommandozeilenwerkezug reg.exe
- Die PowerShell-Cmdlets Get-ItemProperty, Set-ItemProperty und Add-ItemProperty
Für viele scheint der Registrierungseditor die beste Wahl, erlaubt er doch den schnellen und einfachen Import von umfangreichen Registry-Daten. Hierzu wird folgender Aufruf benötigt: REGEDIT /S filename
Leider waren diese Aufrufe in unseren Szenarien nicht immer zielführend. So traten Situationen auf, in denen der Befehl ausgeführt wurde, die Änderungen aber nicht in der Registry vorhanden waren.
Die zweite Option ist das Werkzeug reg.exe, welches Bestandteil eines jeden Windows-Systems ist. Mit ihm lassen sich nicht nur ganze reg-Dateien importieren, es ist auch möglich auf einzelne Werte zuzugreifen bzw. diese zu schreiben.
Unser bevorzugter Weg ist aber PowerShell: Über die Cmdlets Get-ItemProperty, Set-ItemProperty und Add-ItemProperty lassen sich ebenso wie bei reg.exe die einzelnen Registry-Werte lesen und schreiben. Der Vorteil der Cmdlets liegt darin, dass die Ergebnisse der Ausführung in PowerShell weiterverarbeitet und somit komplexe Szenarien adressiert werden können.
Da in unserem Deployment spätestens zu diesem Zeitpunkt ein PowerShell-Skript zur Anwendung kommt, sollte die PowerShell ExecutionPolicy nicht vergessen werden. Diese sollte vor der Ausführung eines Skriptes gelockert (powershell.exe Set-ExecutionPolicy Unrestricted -force) und nach der Ausführung wieder eingeschränkt werden (powershell.exe Set-ExecutionPolicy Restricted).
Im nächsten Teil unserer Serie schauen wir uns an, wie die Registry-Einträge für andere Benutzer angepasst werden können.
Haben Sie Ideen für IoT Lösungen auf der Edge oder in der Cloud? Wir unterstützen Sie gerne bei der Planung und der Umsetzung Ihrer Lösung. Mit unserem Baukastensystem AIT Smart Edge (aitgmbh.de) ermöglichen wir es Ihnen, schneller zu einem ersten Produkt zu gelangen, damit Sie möglichst schnell einen Mehrwert für Ihre Kunden schaffen können.