This website was built on DorikCreate your website today

By Axel Lenz | Last Updated: 4 June 2023

Das ultimative Pending Reboot Script: Der Auslöser für das User Nagging Script - NinjaOne RMM

Pro Tipp: Ist der perfekte Auslöser für das NinjaOne de User-Nerv-Neustart-Skript mit GUI und Aufschub

Wer kennt es nicht? Das ständige Anmahnen von Benutzern, um einen Neustart des Systems durchzuführen, kann zu einer nervenaufreibenden Herausforderung werden. Aber keine Sorge, das überaus gründliche Pending Reboot Script ist genau das Tool, das Sie suchen. Es kann ideal als Auslöser für das User Nagging Script genutzt werden.

Das Script prüft besonders intensive, ob ein Neustart des Systems aussteht, indem es verschiedene Registrierungsschlüssel und -werte überprüft. Darüber hinaus greift das Script auf eine Methode aus der CCM_ClientUtilities WMI-Klasse zu, um herauszufinden, ob ein Neustart erforderlich ist. Wenn einer der oben genannten Prüfpunkte zutrifft, gibt das Script eine entsprechende Rückmeldung.

Dieses Pending Reboot Script ist ein wertvolles Werkzeug für IT-Administratoren, um nicht nur den Neustart-Status von Systemen zu überwachen und sondern auch Automatisierungen auszulösen. Das Ergebnis? Zufriedene Benutzer, weniger Stress und eine höhere Produktivität.

Probieren Sie das Pending Reboot Script aus und genießen Sie die Vorteile einer effizienten Neustart-Überwachung. Es wird Ihnen helfen, das Beste aus dem User Nagging Script herauszuholen und die Zufriedenheit Ihrer Benutzer zu erhöhen.

https://github.com/AlpSantoGlobalMomentumLLC/PersonalPowerShellScripts/

$ErrorActionPreference = "SilentlyContinue" # Diese Funktion prüft, ob ein Neustart des Systems aussteht. function Test-PendingReboot { # Erst listen wir alle Registrierungsschlüssel auf, die wir überprüfen wollen. $keysToCheck = @( "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired", "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\PostRebootReporting", "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending", "HKLM:\SOFTWARE\Microsoft\ServerManager\CurrentRebootAttempts" ) # Dann prüfen wir nacheinander jeden Schlüssel. foreach ($key in $keysToCheck) { # Wenn ein Schlüssel existiert, dann ist ein Neustart erforderlich. if (Test-Path -Path $key) { return $true } } # Jetzt listen wir alle Registrierungswerte auf, die wir überprüfen wollen. $valuesToCheck = @( @("HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing", "RebootInProgress"), @("HKLM:\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing", "PackagesPending"), @("HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager", "PendingFileRenameOperations"), @("HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager", "PendingFileRenameOperations2"), @("HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce", "DVDRebootSignal"), @("HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon", "JoinDomain"), @("HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon", "AvoidSpnSet") ) # Dann prüfen wir nacheinander jeden Wert. foreach ($value in $valuesToCheck) { # Wenn ein Wert existiert, dann ist ein Neustart erforderlich. if ((Get-ItemProperty -Path $value[0] -Name $value[1] -ErrorAction SilentlyContinue) -ne $null) { return $true } } # Hier versuchen wir herauszufinden, ob ein Neustart ausstehend ist, indem wir eine Methode aus dem CCM_ClientUtilities WMI-Klasse aufrufen. try { $util = [wmiclass]"\\.\root\ccm\clientsdk:CCM_ClientUtilities" $status = $util.DetermineIfRebootPending() if (($status -ne $null) -and $status.RebootPending) { return $true } } catch { } # Wenn keiner der oben genannten Prüfpunkte zutrifft, ist kein Neustart erforderlich. return $false } # Wir rufen die Funktion auf, um zu prüfen, ob ein Neustart aussteht. Test-PendingReboot https://www.linkedin.com/in/axellenz/

More on tecnuse

Get Daily News Of Worlds Top Tech Stories