Abgeschlossene Paket-Installation - Skript/Befehl vor Neustart ausführen

Unterstützung und Diskussion zur Installation von Empirum (Agentenverteilung, Depotserver ...)

Moderator: MVogt

Post Reply
matthias.schulte
Posts: 7
Joined: 13. Mar 2013, 17:56
Contact:

Abgeschlossene Paket-Installation - Skript/Befehl vor Neustart ausführen

Post by matthias.schulte » 04. Apr 2023, 10:03

Guten Morgen,

für einen größeren Rollout soll die Pre-Boot-Authentication der Festplattenverschlüsselung deaktiviert werden, wenn nach einer Software-Installation der UEM-Agent einen Neustart anfordert. Dazu kann mittels einer Anwendung die PBA temporär deaktiviert werden. Analog zu der bereits implementierten PBA-Deaktivierung von Bitlocker und EgoSecure im UEM-Agent.

Gibt es eine Möglichkeit vor dem Neustart oder generell bei der De-/Installation von Software-Paketen einen Befehl/Skript auszuführen, um dann bspw. bestimmte Aktionen unabhängig der Setup.inf auszuführen?

Danke!

Gruß
Matthias Schulte

munzur
Posts: 262
Joined: 23. Jun 2020, 19:26
Contact:

Re: Abgeschlossene Paket-Installation - Skript/Befehl vor Neustart ausführen

Post by munzur » 04. Apr 2023, 10:43

Hi,

Bitlocker lässt sich über Powershell deaktivieren:
powershell -executionpolicy bypass -command "& Suspend-BitLocker -MountPoint C: -RebootCount 1

Kann dann entsprechend im Paket umgesetzt werden.

User avatar
r.wiegel
Posts: 896
Joined: 05. Feb 2010, 13:45
Location: Regensburg
Contact:

Re: Abgeschlossene Paket-Installation - Skript/Befehl vor Neustart ausführen

Post by r.wiegel » 06. Apr 2023, 16:07

Käme die Option in Agent-Template?: "Pre-Boot Authentifizierung überspringen"

Wenn nach Paketinstallationen ein Neustart benötigt wird, deaktiviert der Agent die Pre-Boot-Authentifizierung für diesen Neustart. In diesem Fall ist eine Eingabe des Passwortes nicht nötig und die Installation kann ohne Benutzereingriff weiterlaufen.
Viele Grüße
Roman Wiegel
IT-Consultant

MR Datentechnik - Vertriebs- und Service GmbH

matthias.schulte
Posts: 7
Joined: 13. Mar 2013, 17:56
Contact:

Re: Abgeschlossene Paket-Installation - Skript/Befehl vor Neustart ausführen

Post by matthias.schulte » 11. Apr 2023, 19:33

Danke für die Informationen. Aber das passt nicht so ganz. Wir benutzen auch keinen Bitlocker.

Allgemein gefragt: Gibt es eine Möglichkeit einen beliebigen Befehl auszuführen, wenn der Empirum Agent einen Neustart anfordert? (Mit diesem Befehl kann dann unabhängig von der Setup.inf die Pre-Boot-Authentifizierung deaktiviert werden.)

matthias.schulte
Posts: 7
Joined: 13. Mar 2013, 17:56
Contact:

Re: Abgeschlossene Paket-Installation - Skript/Befehl vor Neustart ausführen

Post by matthias.schulte » 22. Aug 2023, 09:53

Update dazu:

Das nachfolgende Skript läuft beim Herunterfahren des Systems per GPO ab. Damit wird die Pre-Boot-Authentication bei einem UEM Agenten initiierten Neustart übersprungen.

Code: Select all

# SkipPBAWhenEmpirumRebootRequired.ps1
# 
# Example Empirum Key:
# [HKEY_LOCAL_MACHINE\SOFTWARE\Matrix42\RebootPackagesPending]
# "ICD+UTC_2023:08:17:08:16:11:7837"="17.08.2023	10:16:11	FOO	TEMP-W10-01	SYSTEM	WinMerge.org WinMerge 2.16.20	2.16.20	0	Uninstall (Machine)	Success		2023-08-17T08:16:11	"
#
# Temporarily reboot for X number of reboots. Example syntax: EpeTemporaryAutoboot.exe --number-of-reboots 1
# Temporarily reboot for X number of minutes. Example syntax: EpeTemporaryAutoboot.exe --timeout-in-minutes 15
# To clear the temporary autoboot. Example syntax: EpeTemporaryAutoboot.exe --clear.

$EmpirumRebootPackagesPendingReg = "HKLM:\SOFTWARE\Matrix42\RebootPackagesPending"
$logFile = "$env:SystemRoot\Temp\SkipPBAWhenEmpirumRebootRequired.log.txt"
$EPEPath = "$env:ProgramFiles\FOO\McAfee\EpeTemporaryAutoboot.exe"
$EPEPathParams = "--number-of-reboots 1"

Function Logging($dataToLog) {
    $datetimeLogLine = "[" + $(Get-Date -format "yyyy-MM-dd HH:mm:ss") + "] : "
    Out-File -filepath "$logFile" -append -inputObject "$datetimeLogLine$dataToLog"
	Write-Host "$datetimeLogLine$dataToLog" 
}

Logging("##########################################################################")
Logging("FOO - Running SkipPBAWhenEmpirumRebootRequired.ps1 through shutdown script")

try {
	If (Test-Path $EmpirumRebootPackagesPendingReg) { 
		# RegKey exists. Check if REG_SZ exists.
		Logging("HKLM:\SOFTWARE\Matrix42\RebootPackagesPending exists. Check if REG_SZ exists.")
		$cEmp = Get-ItemProperty -Path $EmpirumRebootPackagesPendingReg | Measure-Object
		
		# Check if Empirum initiated a reboot - Empirum Agent Popup Window
		Logging("Check Eventlog if Empirum Agent initiated a reboot with user interaction.")
		$cEvent1 = Get-EventLog -LogName SYSTEM -After (Get-Date).AddMinutes(-5) -Source "User32" -Message "*Matrix42.Platform.Service.Host.exe*" | Measure-Object
		
		# Check if Empirum initiated a reboot - Without logged on user
		Logging("Check Eventlog if User initated a reboot through Agent popup.")
		$cEvent2 = Get-EventLog -LogName SYSTEM -After (Get-Date).AddMinutes(-5) -Source "User32" -Message "*wininit.exe (127.0.0.1)*" | Measure-Object
		
		if (($cEmp.Count -ge 1) -and (($cEvent1.Count -ge 1) -or ($cEvent2.Count -ge 1))) {
			# Empirim requires a reboot	
			Logging("REG_SZ exists and Empirum initiated a reboot. Running $EPEPath $EPEPathParams. End!")
			Start-Process -NoNewWindow -FilePath $EPEPath -ArgumentList $EPEPathParams
		} else {
			Logging("Conditions not met. Registry count: " + $cEmp.Count + " / Eventlog1 count: " + $cEvent1.Count + " / Eventlog2 count: " + $cEvent2.Count +  ". Skip running EpeTemporaryAutoboot.exe. End!")
		}
		
	} else {
		Logging("HKLM:\SOFTWARE\Matrix42\RebootPackagesPending not exists. Skip running EpeTemporaryAutoboot.exe. End!")
	}
} catch {
	Write-Host "Error running script: $_.Exception.Message"
	Logging("Error running script: $_.Exception.Message")
}

# eof

Post Reply

Return to “Installation und Verteilung”

Who is online

Users browsing this forum: No registered users and 2 guests