Wichtigste Erkenntnisse
- Die Sicherstellung einer Passwortanforderung beim Aufwachen aus dem Ruhezustand ist eine erste Verteidigungslinie gegen unbefugten Zugriff.
- Das bereitgestellte PowerShell-Skript automatisiert den Prozess der Aktivierung dieser Sicherheitsfunktion.
- Das Skript ist besonders für IT-Experten und MSPs nützlich, die mehrere Geräte verwalten.
- Das Skript muss unbedingt als Administrator ausgeführt werden.
- Herkömmliche manuelle Methoden sind im Vergleich zum Skript bei größeren Einsätzen weniger effizient.
- Tests in kontrollierten Umgebungen und regelmäßige Sicherungen der Registrierung sind empfehlenswerte Verfahren.
- NinjaOne kann solche Skripte ergänzen und bietet eine zentralisierte IT-Managementlösung.
In der heutigen sicherheitsbewussten Umgebung ist der Schutz von Benutzerdaten von größter Bedeutung. Eine der häufigen Sicherheitslücken tritt auf, wenn ein Computer unbeaufsichtigt bleibt, nachdem er aus dem Ruhezustand oder der Hibernation aufgewacht ist. Die Sicherstellung, dass Windows nach dem Ruhezustand ein Kennwort verlangt, ist nicht nur eine bewährte Praxis, sondern auch ein wichtiger Schutz vor unbefugtem Zugriff.
Hintergrund
Dieses Skript wurde entwickelt, um bestimmte Windows-Einstellungen in Bezug auf die Energieverwaltung zu ändern, insbesondere beim Aufwachen aus dem Ruhezustand oder dem Hibernation-Modus. Die Möglichkeit, diesen Prozess zu automatisieren, ist von unschätzbarem Wert für IT-Experten und Managed Service Provider (MSPs ), die mehrere Rechner verwalten. Ohne Automatisierung wäre die Einrichtung dieser Funktion für zahlreiche Geräte mühsam, fehleranfällig und zeitaufwändig.
Das Skript
#Requires -Version 2.0 <# .SYNOPSIS Enables password on wake from sleep/hibernation. .DESCRIPTION Enables password on wake from sleep/hibernation. .EXAMPLE No parameters needed. Enables password on wake from sleep/hibernation. .EXAMPLE PS C:> Set-RequirePasswordOnWake.ps1 Enables password on wake from sleep/hibernation. .OUTPUTS None .NOTES Minimum OS Architecture Supported: Windows 7, Windows Server 2012 Release Notes: Initial Release By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https://www.ninjaone.com/terms-of-use. Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA). .COMPONENT LocalUserAccountManagement #> [CmdletBinding()] param () begin { function Test-IsElevated { $id = [System.Security.Principal.WindowsIdentity]::GetCurrent() $p = New-Object System.Security.Principal.WindowsPrincipal($id) if ($p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)) { Write-Output $true } else { Write-Output $false } } function Set-ItemProp { param ( $Path, $Name, $Value, [ValidateSet("DWord", "QWord", "String", "ExpandedString", "Binary", "MultiString", "Unknown")] $PropertyType = "DWord" ) if ((Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue)) { Set-ItemProperty -Path $Path -Name $Name -Value $Value -Force -Confirm:$false | Out-Null } else { New-Item -Path $Path -ItemType Directory -Force -Confirm:$false | Out-Null New-ItemProperty -Path $Path -Name $Name -Value $Value -PropertyType $PropertyType -Force -Confirm:$false | Out-Null } } } process { if (-not (Test-IsElevated)) { Write-Error -Message "Access Denied. Please run with Administrator privileges." exit 1 } # Require a password when a computer wakes $Path = "HKLM:SoftwarePoliciesMicrosoftPowerPowerSettings�e796bdb-100d-47d6-a2d5-f7d2daa51f51" $ACName = "ACSettingIndex" $DCName = "DCSettingIndex" $Enable = "1" # Plugged In try { Set-ItemProp -Path $Path -Name $ACName -Value $Enable } catch { Write-Error $_ exit 1 } # On Battery try { Set-ItemProp -Path $Path -Name $DCName -Value $Enable } catch { Write-Error $_ exit 1 } } end {}
Zugriff auf über 300 Skripte im NinjaOne Dojo
Detailansicht
Bei dem bereitgestellten Skript handelt es sich um ein PowerShell-Skript, mit dem die Kennwortanforderung beim Aufwachen aktiviert wird:
- Vorläufige Konfiguration: Das Skript beginnt mit der Angabe einiger Metainformationen, z. B. Zusammenfassung, Beschreibung, Ausgaben, Hinweise und Komponente.
- Funktion Definitionen:
- Test-IsElevated: Überprüft, ob das Skript mit Administratorrechten ausgeführt wird, was für die Änderung von Registrierungsschlüsseln unerlässlich ist.
- Set-ItemProp: Eine Utility-Funktion zum Setzen oder Erstellen einer Eigenschaft in der Windows-Registrierung.
- Prozess-Block: Wenn das Skript nicht als Administrator ausgeführt wird, gibt es sofort einen Fehler aus. Anschließend setzt es den Pfad zum Windows-Registrierungsschlüssel, der für die Einstellung des Passworts bei Aktivierung verantwortlich ist, und modifiziert ihn für die Szenarien „Netzbetrieb“ und „Akku“.
Potenzielle Anwendungsfälle
Fallstudie: Sarah, IT-Administratorin in einem mittelständischen Unternehmen, hatte die Aufgabe, dafür zu sorgen, dass alle Firmenlaptops nach dem Schlafengehen ein Passwort benötigen. Anstatt jedes Gerät manuell zu konfigurieren, nutzte sie dieses Skript, was Stunden an Arbeit sparte und die Konsistenz zwischen den Geräten sicherstellte.
Vergleiche
Die herkömmliche Methode zur Einstellung dieser Funktion besteht darin, die Systemsteuerung oder die Windows-Einstellungen aufzurufen und die Energieoptionen manuell zu ändern. Dies ist zwar für einzelne Rechner machbar, wird aber bei größeren Installationen unpraktisch. Dieses Skript bietet eine skalierbare, effiziente und fehlerfreie Methode, um das gleiche Ergebnis zu erzielen.
FAQs
- Benötige ich besondere Berechtigungen, um dieses Skript auszuführen?
Ja, es muss als Administrator ausgeführt werden. - Ist das Skript mit allen Versionen von Windows kompatibel?
Das Skript unterstützt Windows 7, Windows Server 2012 und neuere Versionen. - Kann ich das Skript für andere Leistungseinstellungen ändern?
Ja, mit guten Kenntnissen der Windows-Registrierung und der PowerShell.
Auswirkungen
Das Erfordernis eines Passworts nach dem Schlafengehen stellt eine zusätzliche Sicherheitsebene dar und verringert das Risiko eines unbefugten Zugriffs. Diese Maßnahme stellt sicher, dass vorübergehende Abwesenheiten, wie z. B. eine Kaffeepause, nicht zu potenziellen Datenschutzverletzungen werden.
Empfehlungen
- Testen Sie Skripte immer in einer kontrollierten Umgebung, bevor Sie sie breit einsetzen.
- Führen Sie regelmäßig Sicherungskopien Ihrer Windows-Registrierung durch.
- Sorgen Sie dafür, dass die Benutzer:innen über die Bedeutung sicherer Passwörter aufgeklärt werden.
Abschließende Überlegungen
NinjaOne, eine umfassende IT-Überwachungs- und -Verwaltungsplattform, kann solche Skripte weiter ergänzen. Es bietet einen zentralisierten Ansatz für die IT-Verwaltung und gewährleistet, dass die Systeme sicher, konform und effizientsind. Die Einbindung von Skripten wie dem besprochenen kann die Effizienz der Plattform erhöhen und eine sicherere IT-Umgebung gewährleisten.