Dienstag, 13. September 2022

OPSI-capture

Neues Schuljahr, neue Software... Und es wurde mal wieder Zeit für ein neues Image...

Ein Großteil meiner Rechner kommt gut mit dem Standard Windows aus, aber für CNC Anwendungen und Arzt-Abrechnungs-Software muss es manchmal ein Image sein. 

Meinen Dickkopf auf "Ich mach das jetzt" gestellt und knappe 4 Tage gegen eine Wand gelaufen. Damit mir und auch anderen dies nicht passiert, hier nochmal eine Anleitung:

1. Allgemeine Vorbereitung 

Z.B. über \\backup\opsi_depot_rw\update72\Skripte die Datei austausch-windows21h2.exe verwenden um opsi-local-image-win10-x64 mit dem Image zu versorgen. 

Danach den Ordner \\backup\opsi_depot_rw\opsi-local-image-win10-x64\installfiles nach 

\\backup\opsi_depot_rw\opsi-local-image-win10-x64-capture\installfiles kopieren, am besten per WinSCP oder Putty. Sonst könnten gegebenenfalls die Rechte "beeinflusst" werden. 

Nun sinnvollerweise die Rechte prüfen, mit Putty auf dem Opsi

 cd /var/lib/opsi/depot/opsi-local-image-win10-x64-   capture/installfiles/sources/

 ls -l

In der Übersicht die Rechte der Datei install.wim kontrollieren, sollte -rwxrwx--- sein. Bei mir war leider ein + hinter dieser Liste, wodurch ich leider zu oft scheiterte, daher dann 

 setfacl -bR *

und ein 

 opsi-set-rights .

und danach mit ls -l nochmal prüfen. 

EDIT: Das entfernen der LOCK-Datei, wie hier gleich beschrieben, kann ignoriert werden, wenn im opsi-local-imgage-wim-capture der Wert force_clear_lock auf true gesetzt wird.
Danke an Martin für den Tipp!

Jetzt noch nachsehen, ob im Ordner 

/var/lib/opsi/depot/opsi-local-image-win10-x64-capture/ 

eine Datei mit der Endung .LOCK ist, ich glaube es war opsi-local-image-win10-x64-capture.LOCK. Diese wird geschrieben, wenn ein Capture-Versuch läuft, aber auch wenn einer fehlschlägt. Nicht vergessen, wenns schief geht --> LOCK entfernen...

2. Client vorbereiten

Nun muss ein Client erstellt werden von dem aus das Capture Image gemacht werden soll. 

Meine Probleme:
Meine erste Idee war es, diesen Client in einer virtuellen Umgebung (vSphere) anzulegen. Leider bekam ich nach der Installation der Software beim "Sysprep" einen Bluescreen wegen PNPUTIL (Treibern), von daher habe ich das bespielen von Windows dann auf echter Hardware gemacht. Auch hier kann man auf die Nase fallen. Eine Generation meiner Computer braucht einen speziellen Treiber für das Netzwerk in WinPE. Bei der Installation von Windows wurde der über die in Opsi eingebundenen Treiber übergeben, beim Capture-Vorgang waren diese dann aber nicht verfügbar. Ich habe dann auf einen anderen Client mit unterstützter Netzwerkkarte  gewechselt und damit waren dann alle Probleme beseitigt. 

Nun zur Vorbereitung:
Im Opsi bitte bei opsi-local-image-prepare auf die Backup Partition achten, wenn diese zu klein ist kann das Image nicht übertragen werden. Ich hab bei einem 256GB PC 100GB als Partition, 6GB fürs WinPE und 51% für Backup eingestellt. 

Gerne das Windows direkt mit opsi-local-image-win10-x64-capture ausrollen (dann ist die Version garantiert passend!), dazu die Version Education einstellen. Im Opsi ConfigEditor gegebenenfalls auf "Server-Konsole" -> paedML Linux -> Imageliste ... Capture aktualisieren, damit man Education auswählen kann. Dies sollte man vor allem auch nach dem Capture-Vorgang wiederholen um die Übersicht über erstellte Images zu behalten. 


Windows nun wie gewohnt ausrollen opsi-local-image-prepare -> opsi-local-image-win10x64-capture (Imagename: Education), jedoch verzichte ich auf die Installation der meisten Ospi-Pakete, daher entferne ich aus "setup_after_install" die Clientprodukte und mein Schul-Metapaket. 


Wichtig ist aber, dass das Paket "win10-sysprep-app-update-blocker" installiert wird, dies verhindert das Nachladen von Windows Apps welche sonst den Capture-Vorgang verhindern können. 
Das Paket config-win10 kann aber auch nicht schaden. 

Nun kann das Bespielen des Clients losgehen. 
Bei meiner Schule sind dies CNC Anwendungen wie SolidWorks, SolidCAM und Simulationssoftware von Siemens und vieles mehr.  

Hier kann es auch sinnvoll sein gegebenenfalls den Autostart etwas zu bereinigen, da viele Programme gerne ihre "Updater" oder irgendwelche "Schnellstart" Software beim Hochfahren von Windows starten. 

Letztlich startet man den Capture-Vorgang mit "opsi-local-image-wim-capture".  Dieses Produkt sollte vorher richtig eingestellt werden. die "image_flag" sollte auf "Education" gesetzt werden, den "imagename" auf eine Schuleigene Bezeichnung wie "Technik 2022" oder "Medizin". "image_description" kann natürlich mit Details über das Image befüllt werden, darf aber auch leer bleiben. Beim "target_product" muss natürlich "opsi-local-image-win10x64-capture" eingetragen werden. 
Wenn nun nichts schief geht schreibt opsi ein lokales Image, führt danach Windows sysprep aus, überträgt danach das Sysprep Image an den Opsi-Server in das Capture-Produkt. Im Anschluss stellt Opsi das lokale Image (von vor dem Sysprep) wieder her. 

Wenn nun kein "failed" in Opsi angezeigt wird wurde das Image übertragen und das Capture war erfolgreich. Im Opsi-ConfigEd kann nun noch "Server-Konsole" -> paedML Linux -> Imageliste ... Capture aktualisieren
Danach sollte der neue Image-Name in "opsi-local-image-win10x64-capture" vorhanden sein. 

Keine Kommentare:

Kommentar veröffentlichen

Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.