High Availability lässt sich heute mit günstiger Hardware und einer großen Auswahl an kommerzieller sowie freier Software realisieren. ADMIN erklärt die ... (mehr)

Die Arbeit mit Benutzerkonten

Das Modul »ActiveDirectory« bringt 76 Cmdlets für Active Directory mit. Um jene auszufiltern, die für die Arbeit mit Benutzerkonten nützlich sind, können Sie die Powershell selber um Hilfe bitten. Das Cmdlet »Get-Command« bietet mit der Wildcard-Suche sowie dem Parameter »Type« eine Filterfunktion an:

get-command *user* -type cmdlet | format-table -autosize

Das Ergebnis dieser Abfrage liefert fünf Cmdlets zurück ( Listing 2 ). Mit Ausnahme von »Get-ADUserResultantPasswordPolicy« , das eine Ergebnissatz-Abfrage (RSOP) zu den Kennwortrichtlinien für einen Benutzer durchführt, können Sie die anderen Cmdlets für die Arbeit mit den Benutzerobjekten einsetzen. Zum Beispiel legt das Cmdlet »New- ADUser« einen neuen User an. Für Änderungen von Benutzereigenschaften verwenden Sie »Set-ADUser« .

Listing 2

Kommandos *user* filtern

 

Der folgende Befehl legt als Beispiel ein neues Benutzerkonto für den Mitarbeiter Mark Eting in der Organizational Unit Marketing an:

New-ADUser -Name "Mark Eting" -SamAccountName"MarkEting" -GivenName "Mark" -Surname "Eting"-DisplayName "Mark Eting" -Path 'OU=Marketing,OU=NYC,DC=WoodgroveBank,DC=com' -OtherAttributes@{'msDS-PhoneticDisplayName'="EtingMark"}

Der Schalter »Name« übergibt den Wert für den »CommonName« (CN) des Benutzers. Den angezeigten Namen legt der Schalter »DisplayName« fest. Um mit dem Benutzerobjekt zu arbeiten, führen Sie das Cmdlet »Get-ADUser« aus und speichern das Objekt in einer Variablen:

$User = Get-ADUser MarkEting -Properties *

Über die einzelnen Attribute des Objekts können sie jetzt auf die Werte zugreifen. Zum Beispiel überprüft »$User.PasswordExpired« , ob das Kennwort des Benutzers abgelaufen ist. Das Löschen von Benutzerkonten ist entweder durch direkte Übergabe eines eindeutigen Namens oder durch Übergabe an die Pipeline möglich. Der Schalter »Confirm« unterdrückt den Bestätigungsdialog des Löschvorgangs.

Remove-ADUser MarkEting -Confirm:$false
Get-ADUser MarkEting | Remove-ADUser -Confirm:$false

Die Arbeit mit Gruppen

Genau wie bei den Cmdlets für die Arbeit mit Benutzerkonten, empfiehlt es sich, die Cmdlets für die Arbeit mit den Active-Directory-Gruppen zu ermitteln. Wieder hilft das »Get-Command« , dieses Mal mit dem Schalter »Module« , der die Suche auf Cmdlets aus diesem Modul begrenzt. Das Ergebnis fällt umfangreicher aus als bei den Benutzerkonten ( Listing 3 ).

Listing 3

Kommandos für *group*

 

Um zum Beispiel die Mitglieder der Gruppe »NYC_MarketingGG« mit ihrem »CommonName« aufzulisten, verwenden Sie diesen Befehl:

Get-ADGroupMember -Identity NYC_MarketingGG| %{$_.Name}

Um eine neuen Gruppe anzulegen, verwenden Sie das Cmdlet »New-ADGroup« . Vergessen Sie dabei den Schalter »-GroupType« nicht, sonst werden Sie mit einem Dialog ohne Auswahlmöglichkeiten konfrontiert. Die möglichen Werte für den Schalter sind »Global« , »Universal« und »DomainLocal« :

New-ADGroup -GroupScope DomainLocal -Name NYC_all

Sehr einfach ist es auch, neue Mitglieder zu bestehenden Gruppen hinzuzufügen. Hier empfiehlt es sich, zuerst mit dem Cmdlet »Get-ADUser« das gewünschte Benutzerkonto zu holen, um es danach mit der Pipeline an das Cmdlet »Add-ADGroupMember« zu übergeben:

Get-ADUser MarkEting | %{Add-ADGroupMember NYC_MarketingGG $_}

Einfacher ist es allerdings, direkt im Aufruf des Cmdlet den Benutzernamen zu verwenden:

Add-ADGroupMember NYC_MarketingGG MarkEting

Genau so problemlos ist es, Mitglieder aus Gruppen zu entfernen:

Remove-ADGroupMember NYC_MarketingGG MarkEting -confirm:$false

Wie beim Löschen von Benutzern unterdrückt der Schalter »Confirm« den Bestätigungsdialog.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023