Netboot-Produkt ausrollen ohne Client-Agent

Antworten
l.gremme
Beiträge: 51
Registriert: 27 Okt 2016, 09:08

Netboot-Produkt ausrollen ohne Client-Agent

Beitrag von l.gremme »

Hallo zusammen,

vielleicht habt ihr eine Idee, wie ich das Netboot-Produkt anpassen muss, sodass der OPSI-Client-Agent nicht mit installiert wird.
Verzeichnis /opsi
- postinst.cmd?
- Verzeichnis postinst.d?

Viele Grüße
Lars
bernd670
Beiträge: 90
Registriert: 16 Mär 2018, 10:44

Re: Netboot-Produkt ausrollen ohne Client-Agent

Beitrag von bernd670 »

Hallo,

ich habe mir als Beispiel mal das Win10-x64 Paket angeschaut.

In opsipreparelib.py (zeile 244 - 246) wird die productProperty install_opsi-client-agent ausgewertet, wenn die nicht existiert wird sie auf true gesetzt. Leg sie doch einfach mal als Bool an und weise ihr false zu, wenn das funktioniert, ist es wahrscheinlich der einfachste Weg.
MfG
Bernd
l.gremme
Beiträge: 51
Registriert: 27 Okt 2016, 09:08

Re: Netboot-Produkt ausrollen ohne Client-Agent

Beitrag von l.gremme »

Hallo Bernd,

entschuldige, ich sehe deinen Beitrag gerade erst.
Ich habe auch manuell versucht, dort in den Bibliotheken bzw. Dateien etwas zu verändern.
Heute musste ich feststellen, es gibt einen noch einfacheren Weg:
In der unattend.xml den Bereich:

Code: Alles auswählen

<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<RequiresUserInput>false</RequiresUserInput>
<Description>Opsi tasks</Description>
<Order>1</Order>
<CommandLine>cmd.exe /c #@winpe_partition_letter*#:\opsi\postinst.cmd</CommandLine>
</SynchronousCommand>
</FirstLogonCommands>
auszukommentieren. Genau hier verbirgt sich das automatische Setup des Client-Agents und im Anschluss wird vom Agent die WinPE-Partition gelöscht.

An dieser Stelle kommt bei mir jetzt ein kleines PowerShell-Skript zum Einsatz, aus wenigen Zeilen Code.
Auf Wunsch kann ich das nachliefern.

VG Lars
bernd670
Beiträge: 90
Registriert: 16 Mär 2018, 10:44

Re: Netboot-Produkt ausrollen ohne Client-Agent

Beitrag von bernd670 »

Hallo,

das mit dem Auskommentieren war auch meine erste Idee, aber durch das script postinst.cmd wird ja mehr gemacht als nur die Installation des opsi_client_agent.
MfG
Bernd
l.gremme
Beiträge: 51
Registriert: 27 Okt 2016, 09:08

Re: Netboot-Produkt ausrollen ohne Client-Agent

Beitrag von l.gremme »

Die postinst.cmd wird für mich bei der Installation des Client-Agents mit ausgeführt, da dort fest das Laufwerk C: mit entsprechenden Variablen verankert ist. Spätestens wenn dort mehrere Dateien von A nach B kopiert werden.

Um hier Gewissheit zu bekommen, muss ich mal eine Testinstallation durchführen und gezielt auf die WinPE-Partition schauen, was dort nachher noch an Dateien vorhanden ist.
uncle_scrooge
Beiträge: 650
Registriert: 21 Feb 2012, 12:03
Wohnort: Mainz

Re: Netboot-Produkt ausrollen ohne Client-Agent

Beitrag von uncle_scrooge »

Eine andere Möglichkeit wäre, den postinst-Mechanismus selber zu nutzen.
Im Netboot-Produkt in ./opsi/postinst.d einen Batch (say 49_del_opsi_installer.cmd) erstellen.
Der wiederum per del c:\opsi.org\tmp\50_opsi-client-agent.cmd das Installationsskript vor Ausführung putzt.
l.gremme
Beiträge: 51
Registriert: 27 Okt 2016, 09:08

Re: Netboot-Produkt ausrollen ohne Client-Agent

Beitrag von l.gremme »

uncle_scrooge hat geschrieben:Eine andere Möglichkeit wäre, den postinst-Mechanismus selber zu nutzen.
Im Netboot-Produkt in ./opsi/postinst.d einen Batch (say 49_del_opsi_installer.cmd) erstellen.
Der wiederum per del c:\opsi.org\tmp\50_opsi-client-agent.cmd das Installationsskript vor Ausführung putzt.
Auch eine gute Idee, habe ich jetzt nicht getestet.

Meine Lösung bisher:
psdrive.ps1:

Code: Alles auswählen

$peletter = Get-PSDrive | ? { $_.Description -eq 'WINPE' } | Select -ExpandProperty Name
Remove-Partition -DriveLetter $peletter -Confirm:$false

$sysletter = Get-PSDrive | ? { $_.Description -eq 'System' } | Select -ExpandProperty Name
$size = Get-PartitionSupportedSize -DriveLetter $sysletter
Resize-Partition -DriveLetter $sysletter -Size $size.SizeMax
unattend.xml

Code: Alles auswählen

<FirstLogonCommands>
				<SynchronousCommand wcm:action="add">
					<RequiresUserInput>true</RequiresUserInput>
					<Description>Laufwerk konfigurieren</Description>
					<Order>2</Order>
					<CommandLine>cmd /c %WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe -File "%SYSTEMDRIVE%\psdrive.ps1"</CommandLine>
				</SynchronousCommand>
			</FirstLogonCommands>
Danke für Eure Hilfe und VG Lars
Antworten