Windows-Installation und Einschreibung

Einführung

Diese Anleitung bietet eine detaillierte Beschreibung des Prozesses zur Einrichtung eines opsi-Servers, um Windows-Installationen effizient bereitzustellen und die Geräteanmeldung in Relution zu automatisieren. Ziel ist es, einen funktionierenden opsi-Server zu konfigurieren, der über Netboot Windows-Betriebssysteme auf Client-Geräten installieren und diese nahtlos in Relution zur zentralisierten Verwaltung integrieren kann.

Die Anleitung umfasst alle wesentlichen Schritte, einschließlich der Installation und Konfiguration des opsi-Servers, der Vorbereitung von Windows- und WinPE-Installationsdateien. Darüber hinaus wird der Prozess der automatisierten Relution-Registrierung unter Verwendung lokaler opsi-Produkte erklärt.

Glossar

BegriffErklärung
AdministrationskonsoleBezieht sich auf die Benutzeroberfläche, die im opsi-Server enthalten ist und unter https://localhost:4447 läuft.
configedBezieht sich auf die zusätzliche Java-Anwendung, die auf jedem Gerät ausgeführt werden kann, um sich mit dem opsi-Server zu verbinden.
Client-Debug-KonsoleBezieht sich auf die Benutzeroberfläche des opsi-Agents, die unter https://<opsi-client-IP>:4441 läuft.

Einrichtung des opsi-Servers

Dieser Abschnitt leitet Sie durch den Prozess der Einrichtung des opsi-Servers und bietet eine detaillierte Anleitung zu den erforderlichen Konfigurationen, Installationsschritten und der Vorbereitung der notwendigen Pakete.

Serverinstallation

Wir empfehlen die Docker-basierte Installation, um den opsi-Server in Linux-Umgebungen einzurichten. Beachten Sie jedoch, dass die Docker-Installation auf Geräten mit macOS aufgrund von Kompatibilitätsproblemen mit dem integrierten TFTP-Server nicht verwendet werden kann. Für macOS-Systeme sollte die vorkonfigurierte VirtualBox verwendet werden.

Folgen Sie den Anweisungen der opsi-Dokumentation unten, um den opsi-config-Server einzurichten. Nach der Installation läuft die Administrationskonsole unter https://localhost:4447. Laden Sie auch die Java-Anwendung für configed herunter.

Dokumentation

Installation der benötigten opsi-Pakete

Öffnen Sie die Administrationskonsole und navigieren Sie zum Terminal-Tab. Verwenden Sie im Terminal folgenden Befehl, um die benötigten opsi-Pakete zu installieren:

opsi-package-updater -v install <paketname>

Eine Übersicht über alle verfügbaren lokalen und Netboot-Produkte finden Sie im opsi-Repository.

Installieren Sie die folgenden Pakete:

PaketBeschreibung
opsi-client-agentClient, der auf dem Gerät installiert ist, um Befehle auszuführen
opsi-scriptWird vom Client-Agent verwendet, um opsi-Skripte auszuführen
opsi-uefi-netbootErforderlich für UEFI-Netboot, um die Bootreihenfolge zu ändern
opsi-winpeErstellt ein WinPE auf dem Gerät
hwaudit (optional)Inventarisierungstool, das Informationen über das Gerät sammelt

Client-Registrierung

Dieser Abschnitt behandelt die Registrierung von Geräten, auf denen bereits ein Windows-Betriebssystem installiert ist, mit dem opsi-Server. Der opsi-Client-Agent wird auf dem Gerät installiert, um die Kommunikation mit dem Server herzustellen und eine zentrale Steuerung und Aktionen zu ermöglichen.

Für Clients ohne installiertes Windows sind zusätzliche Schritte erforderlich, um das Betriebssystem über Netboot zu installieren. Prüfen Sie in diesem Fall die offiziellen opsi-Dokumentationen für detaillierte Anweisungen zur Client-Initiierung.

Der opsi-Client-Agent kann unter https://<opsi-server-ip>:4447/public/opsi-client-agent/ heruntergeladen werden. Nach der Installation auf dem Gerät müssen die Adresse des opsi-Servers und die Anmeldedaten eines Admin-Kontos eingegeben werden.

Nach Abschluss der Registrierung wird der Client im Geräteinventar des configed angezeigt. Um die Verbindung zwischen opsi-Server und Client zu überprüfen, kann eine Popup-Nachricht gesendet werden (Top-Menü > Client > Popup-Nachricht senden).

Installieren Sie das UEFI-Netboot-Produkt, indem Sie die gewünschte Aktion auf einmal setzen.

Der Tab Logdateien enthält detaillierte Informationen zur Fehlerbehebung beim opsi-Client-Agent und dem Linux-Bootimage. Dies ist nützlich, um die Installation von lokalen und Netboot-Produkten zu debuggen.

Installation von opsi Localboot-Produkten

Dokumentation

Vorbereitung der Windows-Installationsdateien

In diesem Abschnitt erhalten Sie Anweisungen zum Erwerb der erforderlichen Windows-ISO-Datei, zum Erstellen einer kompatiblen Windows-Preinstallation-Umgebung (WinPE) und zur Organisation dieser Dateien in der erforderlichen Verzeichnisstruktur für Netboot-Produkte. In diesem Beispiel wurde Windows 11 auf dem Gerät installiert.

Windows-ISO und WinPE

Um den opsi-Server für die Bereitstellung von Windows-Installationen vorzubereiten, sind mehrere Schlüsselkomponenten erforderlich. Zunächst benötigen Sie die Windows-ISO-Datei für die spezifische Version, die Sie installieren möchten, z. B. Windows 11. Die ISO-Datei kann von der offiziellen Microsoft-Website heruntergeladen werden.

Als Nächstes muss ein WinPE erstellt werden. Das WinPE muss mit der Version des Windows-Images übereinstimmen, die Sie bereitstellen. Dies kann durch die Nutzung des opsi-winpe-Pakets erreicht werden, welches die Installation von Windows ADK und dem PE-Plugin erfordert. Alternativ kann das WinPE direkt mit Windows ADK erstellt werden, wie in der opsi-Dokumentation beschrieben.

Die Dokumentation zu Netboot-Produkten beschreibt zwei Möglichkeiten zur Erstellung eines WinPE:

  1. Verwendung des Pakets opsi-winpe (Windows ADK und das PE-Plugin müssen installiert sein!)
  2. Verwendung des Windows ADK.

Verzeichnisstruktur für Netboot-Produkt einrichten

Installieren Sie das passende Wrapper-Paket für Ihr Windows-Image aus dem opsi-Netboot-Repository mithilfe des Paketmanagers, z. B. opsi-local-image-win11-x64_4.3.0.2-13 für Windows 11.

Auf Ihrem opsi-Server wird ein neues Verzeichnis hinzugefügt (z. B. /var/lib/opsi/depot/win11-x64). Die Windows-Image-Dateien und die WinPE-Dateien müssen in die entsprechenden Verzeichnisse platziert werden (siehe Übersicht der Verzeichnisstruktur).

Installationsdateien

Der Inhalt der Windows-ISO-Datei muss in das Verzeichnis installfiles verschoben werden.

WinPE

Das WinPE muss in das Verzeichnis winpe verschoben werden.

Extrahieren Sie alle Dateien aus den Unterverzeichnissen (fwfiles, media, mount) und platzieren Sie sie auf der obersten Ebene. Es kann zu Problemen bei der Erkennung der setup.exe kommen, daher sollten auch die Verzeichnisse auf der obersten Ebene abgelegt werden.

Am Ende befinden sich alle Dateien und Verzeichnisse des WinPE auf der obersten Ebene des folgenden Verzeichnisses:

/var/lib/opsi/depot/win11-x64/winpe/
├── fwfiles
├── media
├── mount
├── bg-bg
├── Boot
├── bootmgr
├── bootmgr.efi
├── cs-cz
├── da-dk
├── de-de
├── EFI
├── el-gr
├── en-gb
├── en-us
├── es-es
├── es-mx
├── et-ee
├── fi-fi
├── fr-ca
├── fr-fr
├── hr-hr
├── hu-hu
├── it-it
├── ja-jp
├── ko-kr
├── lt-lt
├── lv-lv
├── nb-no
├── nl-nl
├── pl-pl
├── pt-br
├── pt-pt
├── ro-ro
├── ru-ru
├── sk-sk
├── sl-si
├── sources
├── sr-latn-rs
├── sv-se
├── tr-tr
├── uk-ua
├── zh-cn
└── zh-tw

Dokumentation

DHCP-Server konfigurieren

Um einen DHCP-Server für PXE-Boot einzurichten, müssen spezifische Optionen definiert werden, mit denen PXE-Boot-Clients die benötigten Informationen erhalten, um den TFTP-Server zu finden und die Bootloader-Datei herunterzuladen. Diese Optionen werden üblicherweise als DHCP-Optionen 66 (TFTP-Server) und 67 (Bootloader-Datei) bezeichnet.

Falls Ihr Router keine Benutzeroberfläche zur Konfiguration dieser Optionen bereitstellt, beispielsweise wenn Sie einen Linux- oder Windows-DHCP-Server verwenden, müssen die folgenden Optionen zur Datei dhcpd.conf hinzugefügt werden:

next-server <opsi-server-IP>;
filename "opsi/opsi-linux-bootimage/loader/opsi-netboot.efi";

Netboot starten

Um die Installation eines Netboot-Produkts zu starten, navigieren Sie zum Tab Netboot-Produkte in der Configed-Oberfläche. Setzen Sie die Angeforderte Aktion des gewünschten Produkts auf Setup und klicken Sie auf das Speichersymbol in der oberen linken Ecke.

Nachdem der Auftrag übermittelt wurde, können Sie den Prozess überwachen, indem Sie die Logs in den Client-Details von configed sowie in der Client-Debug-Konsole überprüfen. Diese Logs zeigen an, ob der opsi-Client den Auftrag erfolgreich erhalten und verarbeitet hat. Nach Abschluss dieser Schritte wird der Windows-Client beim nächsten Neustart nach Netboot-Quellen suchen und den Installationsprozess starten.

Installation eines Netboot-Produkts starten

Für die Fehlerbehebung können Sie die folgenden Befehle ausführen, um den TFTP-Verkehr auf dem opsi-Server einzusehen:

sudo tcpdump -i lo0 port 69
journalctf -f

Dokumentation

Für Windows-11-Installationen müssen Sie sicherstellen, dass das Gerät TPM 2.0 unterstützt. Überprüfen Sie im BIOS-Menü, ob die Option aktiviert ist. Gelegentlich ist es notwendig, TPM aus- und wieder einzuschalten oder es beim nächsten Neustart zurückzusetzen.

Relution-Einschreibung

Dieser Abschnitt beschreibt den Prozess der Einschreibung von Geräten in Relution mithilfe des relution-enrollment-Pakets. Dieses Produkt automatisiert die Installation eines Bereitstellungspakets über PowerShell und sorgt so für eine nahtlose Integration der Geräte in Relution.

Bereitstellungspaket vorbereiten

Ein Bereitstellungspaket muss gemäß den Anweisungen zum Windows bulk enrollment erstellt werden.

Das Paket muss den Namen relution tragen, damit das opsi-Skript die richtige Datei erkennen kann.

opsi-Paket für die Relution-Einschreibung installieren

Das Paket relution-enrollment ist als experimentelle Version im öffentlichen opsi-Repository verfügbar.

Laden Sie die relution-enrollment_<package-version>.opsi-Datei mit dem Befehl wget herunter und führen Sie den folgenden Befehl aus, um das opsi-Paket zu installieren, damit es in der configed-Oberfläche verfügbar wird:

opsi-cli package install relution-enrollment-<package-version>.opsi

Nach der Installation ist das Paket im Depot-Ordner (var/lib/opsi/depot) vorhanden. Platzieren Sie das generierte Bereitstellungspaket in diesem Ordner und führen Sie opsi-set-rights in diesem Verzeichnis aus.

/var/lib/opsi/depot/relution-enrollment/
├── enrollment-opsiscript
├── relution.ppkg
├── relution-enrollment.files

Relution-Enrollment-Depot-Ordner

Produkt installieren

Um das Paket zu installieren, wählen Sie den Client aus und navigieren Sie zum Tab Localboot products. Setzen Sie für das Produkt relution-enrollment die gewünschte Aktion auf einmal. Speichern Sie den Status und lösen Sie eine on_demand-Aktion aus (Menü > Client > Event opsiclientd auslösen > on_demand).

Da der PowerShell-Befehl zur Installation des Bereitstellungspakets die Aktion immer als erfolgreich markiert, überprüfen Sie die Logs auf eventuelle Fehler. Der Fehler “Package installation failed, error code -2147024713 (800700B7)” zeigt an, dass ein Paket mit derselben ID bereits installiert ist.

Wenn das Bereitstellungsprofil bereits installiert wurde, muss es zuerst entfernt werden.

Relution-Einschreibung starten

Tipps zur Fehlerbehebung

In diesem Abschnitt werden häufige Probleme beschrieben, die während der Einrichtung des opsi-Servers und der Netboot-Installation auftreten können. Zudem werden Lösungen oder Verweise auf relevante Dokumentationen zur Fehlerbehebung bereitgestellt: