Festlegen lokaler Administratorkennwörter mit PowerShell

Die Welt der Informationstechnologie entwickelt sich ständig weiter, mit kontinuierlichen Anforderungen an die Aufrechterhaltung von Sicherheit und optimalen Betrieb von Systemen. Ein wesentlicher Aspekt dieser Vorgänge ist die Verwaltung der Benutzeranmeldedaten, insbesondere für Administratorkonten. Das heutige Thema befasst sich mit einem PowerShell-Skript, das beim Festlegen lokaler Administratorkennwörter hilft, einer wichtigen Aufgabe für IT-Experten.

Hintergrund

Benutzeranmeldeinformationen sind die Gatekeepers für den Zugang innerhalb eines Systems. Das Administratorkennwort ist eine Zugangsberechtigung auf höchster Ebene und muss oft rechtzeitig geändert werden, um die Systemsicherheit zu gewährleisten. IT-Fachleute und Managed Service Provider (MSPs ) führen regelmäßig Aufgaben aus, die eine Änderung dieser Passwörter erfordern. Das mitgelieferte Skript vereinfacht diesen Vorgang und macht ihn effizient und fehlerfrei.

Das Skript

#Requires -Version 5.1

<#
.SYNOPSIS
    Sets the local Administrator password.
.DESCRIPTION
    Sets the local Administrator password, or other username.
.EXAMPLE
     -Password "Somepass1"
    Set's the local Administrator account's password to Somepass1
.EXAMPLE
     -UserName "Admin1" -Password "Somepass1"
    Set's the local Administrator account's password to Somepass1, but the account name is Admin1
.EXAMPLE
    PS C:> Set-LocalAdminPassword.ps1 -Password "Somepass1"
    Set's the local Administrator account's password to Somepass1
.OUTPUTS
    None
.NOTES
    Minimum OS Architecture Supported: Windows 10, Windows Server 2016
    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 (
    [Parameter()]
    [String]
    $UserName = "Administrator",
    [String]
    $Password
)

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 }
    }
}
process {
    if (-not (Test-IsElevated)) {
        Write-Error -Message "Access Denied. Please run with Administrator privileges."
        exit 1
    }
    if ($PSVersionTable.PSVersion.Major -le 2) {
        & net.exe $UserName $Password
        if ($LASTEXITCODE -gt 0) {
            $Password = $null
            exit $LASTEXITCODE
        }
    }
    else {
        try {
            Set-LocalUser -Name $UserName -Password (ConvertTo-SecureString -String $Password -AsPlainText -Force) -Confirm:$false
        }
        catch {
            Write-Error $_
            $Password = $null
            exit 1
        }
    }
}
end {
    $Password = $null
}

 

Zugriff auf über 300 Skripte im NinjaOne Dojo

Zugang erhalten

Detailansicht

Lassen Sie uns das Skript genauer untersuchen, um es besser zu verstehen:

  • Abschnitt Metadaten: Dieser Teil enthält eine Zusammenfassung, eine Beschreibung, Beispiele für die Verwendung des Skripts, Ausgaben, Hinweise und Komponenten. Es gibt jedem, der das Skript zum ersten Mal betrachtet, einen sofortigen Überblick.
  • Cmdlet-Bindung und Parameter: Das Skript verwendet eine cmdlet-Bindung, um seine Funktionalität mit erweiterten Funktionen zu verbessern. Sie benötigt zwei Parameter:
  • $Benutzername: Gibt an, welches Benutzerkennwort geändert werden soll, standardmäßig „Administrator“.
  • $Passwort: Das neue Passwort.
  • Beginnen Sie den Block: Eine Funktion, Test-IsElevated, prüft, ob das Skript mit erweiterten (Administrator-)Rechten ausgeführt wird, was bei der Änderung von Benutzeranmeldeinformationen entscheidend ist.
  • Prozess-Block: Das ist der Kern des Skripts.
  • Es überprüft zuerst, ob das Skript erhöhte Rechte hat, und stoppt die Ausführung, falls nicht.
  • Je nach PowerShell-Version werden unterschiedliche Methoden zum Ändern des Kennworts verwendet:
  • Für PowerShell Version 2 oder niedriger wird der Befehl net.exe verwendet.
  • In späteren Versionen ändert das Cmdlet Set-LocalUser das Kennwort.
  • Endblock: Alle verbleibenden Kennwortdaten in der Variablen $Password werden gelöscht, so dass keine sensiblen Informationen zurückbleiben.

Potenzielle Anwendungsfälle

Stellen Sie sich einen IT-Experten namens John in einem mittelständischen Unternehmen vor. Vor kurzem gab es einen Sicherheitsverstoß, und als Präventivmaßnahme müssen die Passwörter der lokalen Administratoren aller Systeme geändert werden. John kann dieses Skript einsetzen und so sicherstellen, dass alle Computer ihre Administratorkennwörter effizient zurückgesetzt bekommen, was Zeit spart und menschliche Fehler reduziert.

Vergleiche

Herkömmliche Methoden zum Ändern von Kennwörtern erfordern häufig den manuellen Zugriff auf jedes System oder die Verwendung nativer Befehle wie net user. Dieses Skript bietet jedoch einen strafferen und automatisierten Ansatz, der die Möglichkeiten von PowerShell nutzt. Es ist besonders effizient, vor allem bei Batch-Operationen über mehrere Maschinen hinweg.

FAQs

  • Kann das Skript Passwörter für Nicht-Admin-Benutzer ändern?
    Ja, geben Sie einen anderen Benutzernamen mit dem Parameter -UserName an.
  • Was passiert, wenn ich das Skript ohne Administratorrechte ausführe?
    Das Skript wird angehalten und eine Meldung „Zugriff verweigert“ ausgegeben.

Auswirkungen

Die Verwendung von Skripten wie diesem vereinfacht die Verwaltungsaufgaben. Die automatische Änderung von Kennwörtern kann jedoch, wenn sie nicht auf sichere Weise erfolgt, neue Kennwörter offenlegen. Achten Sie darauf, dass die Übertragung und Speicherung solcher Skripte stets nach den besten Sicherheitsverfahren erfolgt.

Empfehlungen

  • Führen Sie solche Skripte immer in einer sicheren Umgebung aus.
  • Vermeiden Sie die Festcodierung von Passwörtern in Skripten. Stattdessen sollten Sie erwägen, sie als Argumente zu übergeben oder sichere Anmeldeinformations-Manager zu verwenden.
  • Aktualisieren Sie Skripte regelmäßig, um sie an die neuesten Betriebssystemversionen und PowerShell-Iterationen anzupassen.

Abschließende Überlegungen

Tools wie NinjaOne verstärken die Leistung solcher Skripte. DieIntegration von automatisierten Skripten in Plattformen wie NinjaOne sorgt für einen reibungslosen, fehlerfreien Prozess, so dass sich IT-Experten auf dringendere Aufgaben konzentrieren können. Die Kombination von effektiver Skripterstellung mit robusten Verwaltungsplattformen ebnet den Weg für eine sichere und effiziente IT-Infrastruktur.

 

Nächste Schritte

Der Aufbau eines effizienten und effektiven IT-Teams erfordert eine zentralisierte Lösung, die als einheitliches Tool zur Bereitstellung von IT-Dienstleistungen fungiert. NinjaOne ermöglicht es IT-Teams, alle Geräte zu überwachen, zu verwalten, zu sichern und zu unterstützen, unabhängig vom Standort, ohne dass eine komplexe Infrastruktur vor Ort erforderlich ist.

Erfahren Sie mehr über NinjaOne Remote Script Deployment, sehen Sie sich eine Live-Tour an oder starten Sie Ihre kostenlose Testversion unserer NinjaOne Plattform.

Kategorien:

Das könnte Sie auch interessieren

×

Sehen Sie NinjaOne in Aktion!

Mit dem Absenden dieses Formulars akzeptiere ich die Datenschutzerklärung von NinjaOne.

NinjaOne Allgemeine Geschäftsbedingungen für Skripte

Indem Sie unten auf die Schaltfläche „Ich akzeptiere“ klicken, erklären Sie Ihr Einverständnis mit den folgenden rechtlichen Bedingungen sowie mit unseren Nutzungsbedingungen:

  • Eigentumsrechte: NinjaOne besitzt und wird weiterhin alle Rechte, Titel und Interessen an dem Skript (einschließlich des Urheberrechts) behalten. NinjaOne gewährt Ihnen eine eingeschränkte Lizenz zur Nutzung des Skripts in Übereinstimmung mit diesen rechtlichen Bedingungen.
  • Einschränkung der Nutzung: Sie dürfen das Skript nur für Ihre legitimen persönlichen oder internen Geschäftszwecke verwenden und es nicht an Dritte weitergeben.
  • Verbot der Wiederveröffentlichung: Sie sind unter keinen Umständen berechtigt, das Skript in einer Skriptbibliothek, die einem anderen Softwareanbieter gehört oder von diesem kontrolliert wird, erneut zu veröffentlichen.
  • Gewährleistungsausschluss: Das Skript wird „wie gesehen“ und „wie verfügbar“ bereitgestellt, ohne jegliche Garantie. NinjaOne gibt keine Versprechen oder Garantien, dass das Skript frei von Fehlern ist oder dass es Ihre speziellen Bedürfnisse oder Erwartungen erfüllt.
  • Risikoübernahme: Die Verwendung des Skripts erfolgt auf eigene Gefahr. Sie erkennen an, dass die Nutzung des Skripts mit bestimmten Risiken verbunden ist, und Sie verstehen und übernehmen jedes dieser Risiken.
  • Verzicht und Freigabe: Sie machen NinjaOne nicht für nachteilige oder unbeabsichtigte Folgen verantwortlich, die sich aus Ihrer Nutzung des Skripts ergeben, und Sie verzichten auf alle gesetzlichen oder billigkeitsrechtlichen Rechte oder Rechtsmittel, die Sie gegen NinjaOne im Zusammenhang mit Ihrer Nutzung des Skripts haben könnten.
  • EULA: Wenn Sie ein NinjaOne-Kunde sind, unterliegt Ihre Nutzung des Skripts dem für Sie geltenden Endbenutzer-Lizenzvertrag (EULA).