MDOP: UE-V–Teil 3 – Verwendung von UE-V in WHS

Da ich zu hause einen Windows Home Server (WHS) mit mehreren Clients aber ohne zentrale Profile (da keine Windows Domäne vorhanden ist) einsetze, ist User Environment Virtualization (UE-V) die optimale Ergänzung.

Dazu bin ich folgendermaßen vorgegangen:

Über das Dashboard habe ich ein neue Freigabe namens Settings angelegt. Um mir die Berechtigungsvergabe zu vereinfachen habe ich für alle relevanten Benutzer Read/Write Berechtigungen vergeben.

In einem Unterordner namens Agent liegt darin der Agent mit einem Installationsscript. Parallel zu diesem Ordner existiert ein Ordner Templates, in dem ich die selbsterstellten Vorlagen abgelegt habe.

Im Agent Ordner liegt der komplette Inhalt des heruntergeladenen Installationspakets (der Ordner mit AgentSetup.exe). Zusätzlich existiert die Datei install.cmd zur Einfachen Installation:

"%~dp0agentsetup.exe" /quiet /norestart /l*v "%systemroot%\UE-VAgentInstaller.log" SettingsStoragePath="\\whsserver\settings\%%username%%" SettingsTemplateCatalogPath="\\whsserver\settings\Templates"
call "%~dp0settings.cmd"

Diese Datei führt nach der Installation die zusätzliche Datei settings.cmd aus. Diese Batchdatei ist für den Import der Templates zuständig:

rem reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\UEV\Agent\Configuration /v DisableOfflineSupport /t REG_DWORD /d 1 /f
powershell -Command "set-executionpolicy remoteSigned"
copy "%~dp0importall.ps1" "%temp%\importall.ps1"
powershell "%temp%\importall.ps1"
pause

Der Import erfolgt über Powershell. Da Powershell standardmäßig keine Scripts ausführt, wird zuerst die Execution Policy angepasst. Danach wird das Powershell Script lokal kopiert und ausgeführt. Das Powershell Script ist sehr übersichtlich:

Import-module Microsoft.UEV.commands
get-childitem -Recurse \\whsserver\settings\templates\*.xml  | ForEach-Object { $_.fullname | Register-UevTemplate }
get-childitem -Recurse \\whsserver\settings\templates\*.xml  | ForEach-Object { $_.fullname | Update-UevTemplate }

Zuerst registriert es alle Templates die in dem Templates Ordner vorhanden sind. Sollte das Template schon registriert sein, so wird es automatisch ignoriert. Danach werden alle Templates aktualisiert, d.h. ist ein Templates schon registriert worden aber es liegt eine neuere Version vor, so wird es in diesem Schritt auf die neue Version gebracht. Somit ist das settigns.cmd Script auch für spätere Templateaktualisierungen verwendbar.

This entry was posted in Deutsch, MDOP, Powershell and tagged , , , , . Bookmark the permalink.