Magic Quadrant™ für Privileged Access Management 2025: Netwrix zum vierten Jahr in Folge anerkannt. Laden Sie den Bericht herunter.

Plattform
Ressourcen­zentrumBlog
So fügen Sie lokale Benutzer und Gruppen mit PowerShell hinzu, löschen und ändern sie

So fügen Sie lokale Benutzer und Gruppen mit PowerShell hinzu, löschen und ändern sie

Sep 18, 2018

Die Verwaltung lokaler Benutzer und Gruppen mit PowerShell wird durch das Microsoft.PowerShell.LocalAccounts Modul vereinfacht, das Cmdlets zum Erstellen, Ändern, Deaktivieren oder Entfernen von Konten und Gruppen bietet. Administratoren können Aufgaben wie das Hinzufügen von Benutzern zu Gruppen, das Zurücksetzen von Passwörtern oder das Überprüfen von Mitgliedschaften automatisieren, während sie auch Microsoft- und Azure-AD-verknüpfte Konten verwalten. Die Fernverwaltung über PowerShell-Sitzungen vereinfacht die Administration weiter, obwohl das Auditieren von Änderungen für Sicherheit und Compliance unerlässlich bleibt.

Um Administratoren die Verwaltung lokaler Benutzer und Gruppen mit PowerShell zu erleichtern, bietet Microsoft eine Cmdlet-Sammlung namens Microsoft.PowerShell.LocalAccounts an. Zuvor mussten Sie diese explizit in PowerShell herunterladen und importieren sowie das Windows Management Framework 5.1 installieren; in den Betriebssystemen Windows Server 2016 und Windows 10 ist die Cmdlet-Sammlung als Standardmodul enthalten.

Es gibt 15 Cmdlets im Modul LocalAccounts. Sie können die vollständige Liste anzeigen, indem Sie den folgenden Befehl ausführen:

      Get-Command -Module Microsoft.PowerShell.LocalAccounts
      

Image
  • Add-LocalGroupMember — Fügen Sie einen Benutzer zur lokalen Gruppe hinzu
  • Disable-LocalUser —Deaktivieren Sie ein lokales Benutzerkonto
  • Enable-LocalUser — Aktivieren Sie ein lokales Benutzerkonto
  • Get-LocalGroup — Lokale Gruppenpräferenzen anzeigen
  • Get-LocalGroupMember — Sehen Sie sich die Liste aller lokalen Gruppenmitglieder an
  • Get-LocalUser — Sehen Sie die Einstellungen eines lokalen Benutzerkontos ein
  • New-LocalGroup — Erstellen Sie eine neue lokale Gruppe
  • New-LocalUser — Erstellen Sie ein neues lokales Benutzerkonto
  • Remove-LocalGroup — Entfernen Sie eine lokale Gruppe
  • Remove-LocalGroupMember — Entfernen Sie ein Mitglied aus einer lokalen Gruppe
  • Remove-LocalUser — Entfernen Sie ein lokales Benutzerkonto
  • Rename-LocalGroup — Benennen Sie eine lokale Gruppe um
  • Rename-LocalUser — Benennen Sie ein lokales Benutzerkonto um
  • Set-LocalGroup — Ändern Sie die Einstellungen einer lokalen Gruppe
  • Set-LocalUser — Ändern Sie die Kontoeinstellungen eines lokalen Benutzers

Verwaltung lokaler Benutzerkonten mit PowerShell

Lassen Sie uns sehen, wie Sie diese Befehle verwenden können, um gängige Aufgaben im Zusammenhang mit der Verwaltung lokaler Benutzer auf einem Windows 10-Computer auszuführen.

Auflistung von Benutzern und deren Eigenschaften mit PowerShell

Zuerst erstellen wir eine Liste aller lokalen Benutzerkonten auf dem Computer. Wir verwenden das Cmdlet Get-LocalUser:

      Get-LocalUser
      

Image

Wie Sie sehen können, haben wir zwei lokale Benutzerkonten, und eines davon ist deaktiviert (dasjenige, das „False“ in der Spalte „Enabled“ hat).

Wenn Sie alle Eigenschaften und deren Werte für ein lokales Benutzerkonto ausgeben möchten, müssen Sie das Cmdlet Get-LocalUser mit den folgenden Parametern verwenden:

      Get-LocalUser -Name ‘guest’ | Select-Object *
      

Image

Um den Wert eines bestimmten lokalen Benutzerkontenattributs zu erhalten, geben Sie dessen Namen nach dem Parameter „Select-Object“ ein. In diesem Beispiel möchten wir den Wert des Attributs „PasswordLastSet“ für das Konto mit dem Benutzernamen „administrator“ wissen:

      Get-LocalUser -Name ‘administrator’ | Select-Object PasswordLastSet
      

Image

Erstellen eines lokalen Benutzers mit PowerShell

Lassen Sie uns einen neuen Benutzer mit Hilfe des New-LocalUser Cmdlets erstellen. Dieses Cmdlet kann die folgenden Arten von Benutzerkonten erstellen:

  • Windows lokale Benutzerkonten
  • Microsoft-Konten
  • Azure Active Directory-Konten

Beim Erstellen eines lokalen Benutzerkontos sollten Sie niemals das Passwort als Klartext eingeben; konvertieren Sie es immer in einen sicheren String mit dem Parameter ?AsSecureString oder ?ConvertTo-SecureString. Hier ist der Befehl zum Erstellen eines neuen lokalen Benutzerkontos:

      $UserPassword = Read-Host –AsSecureString
New-LocalUser "Netwrix" -Password $UserPassword -FullName "Netwrix" -Description "CompleteVisibility"
      

In einer Windows 10-Umgebung können sich Benutzer mit ihren Microsoft-Konten autorisieren, sodass wir ein neues lokales Benutzerkonto erstellen können, das an die Anmeldeinformationen eines Microsoft-Kontos gebunden ist. Verwenden Sie das folgende Skript, um dies zu tun (beachten Sie, dass Sie das Passwort nicht eingeben müssen, da es in der Microsoft-Cloud gespeichert ist):

      New-LocalUser -Name "MicrosoftAccountSomeAccount@outlook.com" -Description "Microsoft Account"
      

Um ein lokales Konto zu erstellen, das an Ihre Azure AD gebunden ist, verwenden Sie den folgenden Befehl:

      New-LocalUser -Name "AzureADNetwrix@enterprise.com" -Description "Azure AD Account"
      

Ändern des Passworts oder der Passworteigenschaften eines lokalen Benutzers mit PowerShell

Um das Passwort eines lokalen Benutzerkontos zu ändern, müssen wir das Cmdlet Set-LocalUser verwenden. Lassen Sie uns das Passwort des lokalen Administrators ändern:

      $UserPassword = Read-Host –AsSecureString
Set-LocalUser -Name Administrator -Password $UserPassword –Verbose
      

Um das Password never expires für einen lokalen Benutzer mit PowerShell zu setzen, müssen wir das folgende Skript ausführen:

      Set-LocalUser -Name Netwrix –PasswordNeverExpires $False
      

Löschen eines lokalen Benutzerkontos mit PowerShell

Um ein lokales Benutzerkonto zu entfernen, müssen Sie das Cmdlet Remove-LocalUser verwenden:

      Remove-LocalUser -Name Netwrix -Verbose
      

Verwaltung lokaler Gruppen mit PowerShell

Wenden wir uns nun von lokalen Benutzern zu lokalen Gruppen.

Lokale Gruppen mit PowerShell überprüfen

Zuerst erstellen wir eine Liste aller Gruppen auf unserem Windows Server:

      Get-LocalGroup
      

Image

Hinzufügen einer lokalen Gruppe mit PowerShell

Jetzt lassen Sie uns eine neue Gruppe erstellen:

      New-LocalGroup -Name 'Netwrix Users' -Description 'Netwrix Users Group'
      

Benutzer mit PowerShell zu einer lokalen Gruppe hinzufügen

Um einen Benutzer (oder eine Gruppe) zu einer lokalen Gruppe hinzuzufügen, müssen wir das Cmdlet Add-LocalGroupMember verwenden. Angenommen, wir möchten Benutzer zur lokalen Administratorengruppe hinzufügen, aber wir möchten sie nicht einzeln hinzufügen. Fügen wir eine Gruppe zu den lokalen Administratoren hinzu, nämlich die Gruppe „Netwrix Users“:

      Add-LocalGroupMember -Group 'Administrators' -Member ('Netwrix',’Netwrix Users') –Verbose
      

Wenn Ihr Computer oder Server Teil der Domäne ist, können Sie auch Domänenkonten und -gruppen zu lokalen Gruppen hinzufügen, um diesen Benutzern spezielle lokale Rechte auf dem Server zu gewähren. Fügen Sie sie im Format „DomainNameBenutzer“ (für einen Benutzer) oder „DomainNameDomänengruppe“ (für eine Gruppe) hinzu.

Anzeigen der Mitgliedschaft einer bestimmten Gruppe mit PowerShell

Listen wir nun alle Mitglieder einer bestimmten lokalen Gruppe auf:

      Get-LocalGroupMember -Group 'Netwrix Users'
      

Image

Wie Sie sehen können, zeigt der Befehl alle lokalen Konten und Gruppen an, die Mitglieder der Gruppe „Netwrix Users“ sind. Obwohl hier nur lokale Konten und Gruppen aufgelistet sind, wird dieser Befehl auch alle Domänenbenutzer und -gruppen sowie alle Microsoft- und Azure AD-Konten anzeigen.

Anzeigen aller Gruppen, deren Mitglied ein Benutzer mithilfe von PowerShell ist

Um alle Gruppen aufzulisten, bei denen ein bestimmter Benutzer Mitglied ist, würden wir das folgende Skript ausführen:

      foreach ($LocalGroup in Get-LocalGroup)
{
if (Get-LocalGroupMember $LocalGroup -Member 'Guest' –ErrorAction SilentlyContinue)
{
$LocalGroup.Name
}
}
      

Image

Entfernen einer lokalen Gruppe mit PowerShell

Um ein lokales Benutzerkonto aus einer Gruppe zu entfernen, müssen Sie das Cmdlet Remove-LocalGroupMember verwenden:

      Remove-LocalGroupMember -Group 'Netwrix Users' –Member 'guest'
      

Verwaltung lokaler Benutzer und Gruppen aus der Ferne mit PowerShell

Wenn Sie lokale Benutzerkonten und Gruppen remote verwalten möchten, müssen Sie sich über WinRM mit den entfernten Arbeitsstationen verbinden, indem Sie die Cmdlets Invoke-Command und Enter-PSSession verwenden. Wenn wir beispielsweise die Mitgliedschaft der lokalen Admin-Gruppe auf mehreren Computern remote ausgeben möchten, müssen wir das folgende Skript ausführen:

      $search = new-pssession -computer pcname1,pcname2,pcname3
invoke-command -scriptblock {Get-LocalGroupMember -Group 'Administrators'} -session $search -hidecomputername | select * -exclude RunspaceID | out-gridview -title "LocalAdmins"
      

Wie Sie sehen können, ist es ziemlich einfach, lokale Gruppen und Benutzer über PowerShell zu verwalten, aber um Sicherheit, Compliance und Geschäftskontinuität zu gewährleisten, ist es unerlässlich, all diese Änderungen zu überwachen. Um mehr über die Konfiguration der nativen Überwachung zu erfahren, beachten Sie bitte den Windows Server Auditing Quick Reference Guide.

Teilen auf

Erfahren Sie mehr

Über den Autor

Asset Not Found

Jeff Melnick

Direktor für Systemtechnik

Jeff ist ehemaliger Director of Global Solutions Engineering bei Netwrix. Er ist ein langjähriger Netwrix-Blogger, Redner und Präsentator. Im Netwrix-Blog teilt Jeff Lifehacks, Tipps und Tricks, die Ihre Systemadministrationserfahrung erheblich verbessern können.