Demo ansehen×
×

Sehen Sie NinjaOne in Aktion!

Festlegen lokaler Administratorkennwörter mit PowerShell

Impostare le password degli amministratori locali con 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 vereintes Tool für die Bereitstellung von Dienstleistungen fungiert. NinjaOne ermöglicht es IT-Teams, alle ihre Geräte zu überwachen, zu verwalten, zu sichern und zu unterstützen, egal wo sie sich befinden, ohne dass eine komplexe Infrastruktur vor Ort erforderlich ist.

Erfahren Sie mehr über NinjaOne Endpoint Management, sehen Sie sich eine Live-Tour an oder starten Sie Ihren kostenlosen Test der NinjaOne-Plattform.

Das könnte Sie auch interessieren

Sind Sie bereit, ein IT-Ninja zu werden?

Erfahren Sie, wie Sie mit NinjaOne Ihren IT-Betrieb vereinfachen können.

By clicking the “I Accept” button below, you indicate your acceptance of the following legal terms as well as our 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 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).