So erstellen, löschen, benennen um, deaktivieren und fügen Sie Computer in AD mithilfe von PowerShell hinzu
Jul 10, 2018
Bevor ein Benutzer sich an einem Computer anmelden und auf Netzwerk- und Domänen-basierte Ressourcen zugreifen kann, muss dieser Computer Mitglied der Active Directory-Umgebung sein. In diesem Leitfaden erfahren Sie, wie Sie tägliche Aufgaben im Zusammenhang mit Computerkonten automatisieren können, wie zum Beispiel das einfache Erstellen, Umbenennen und Entfernen von Konten.
Insgesamt werden Sie lernen, wie Sie PowerShell verwenden, um die folgenden Aufgaben im Bereich Computerkontenverwaltung durchzuführen:
- Einen Computer zu einer Domäne hinzufügen
- Mehrere Computer einer Domäne hinzufügen
- Einen Computer mit PowerShell aus einer Domäne entfernen
- Erstellen Sie ein Computerobjekt in AD
- Computerkonten aus einer CSV-Datei erstellen
- Einen Computer aus AD löschen
- Computerkonten mithilfe einer Liste löschen
- Entfernen Sie veraltete Computerkonten in Active Directory mit PowerShell
- Einen Computer umbenennen
- Einen Computer umbenennen und ihn zu einer Domain hinzufügen
- Deaktivieren Sie ein AD-Computerkonto
- Computerkonten mithilfe einer Liste deaktivieren
- Ein AD-Computerkonto zurücksetzen
PowerShell ISE ist das beste Werkzeug, um mit PowerShell-Skripten zu arbeiten. Starten Sie das PowerShell ISE-Tool mit Administratorrechten, indem Sie „Windows+R“ drücken und „runas /profile /user:Administrator PowerShell_ISE“ im Ausführen-Fenster eingeben. (Alternativ können Sie mit der rechten Maustaste auf das PowerShell ISE-Symbol klicken und die Option „Als Administrator ausführen“ wählen.) Geben Sie das Passwort des Administrators ein, wenn Sie dazu aufgefordert werden.
Bevor Sie mit AD und seinen Objekten arbeiten können, müssen Sie das Active Directory-Modul für Windows PowerShell importieren. In Microsoft Windows Server 2008 R2 müssen Sie dieses Modul aktivieren, indem Sie den folgenden Befehl ausführen:
Import-Module ActiveDirectory
In Microsoft Windows Server 2012 und späteren Versionen ist dieses Modul standardmäßig aktiviert.
Einen Computer zu einer Domäne hinzufügen
Die häufigste Aufgabe ist das Verbinden eines Computers mit einem Domänencontroller. Um einen PC mit einem Active Directory-Domäne zu verbinden, führen Sie das folgende PowerShell-Skript lokal aus:
$dc = "ENTERPRISE" # Specify the domain to join.
$pw = "Password123" | ConvertTo-SecureString -asPlainText –Force # Specify the password for the domain admin.
$usr = "$dcT.Simpson" # Specify the domain admin account.
$creds = New-Object System.Management.Automation.PSCredential($usr,$pw)
Add-Computer -DomainName $dc -Credential $creds -restart -force -verbose # Note that the computer will be restarted automatically.
Der Computer wird neu starten und dann der Domäne beitreten; er wird zum Standardcontainer hinzugefügt.
Um einen Computer remote an einen DC anzubinden, müssen Sie das Skript folgendermaßen erweitern:
$dc = "ENTERPRISE"
$pw = "Password123" | ConvertTo-SecureString -asPlainText -Force
$usr = "$dcT.Simpson"
$pc = "R07GF" # Specify the computer that should be joined to the domain.
$creds = New-Object System.Management.Automation.PSCredential($usr,$pw)
Add-Computer -ComputerName $pc -LocalCredential $pcadmin -DomainName $dc -Credential $creds -Verbose -Restart -Force
Die Variable $pc und der Parameter –LocalCredential werden verwendet, um den Computer im Domain zu authentifizieren. Beachten Sie, dass Sie, um diese Methode zu verwenden, die Firewall auf dem lokalen Computer deaktivieren müssen.
Mehrere Computer einer Domäne hinzufügen
Sie können mehr als einen Computer zur Domäne hinzufügen, indem Sie sie entweder in der Befehlszeile als kommagetrennte Liste angeben oder ihre Namen aus einer Textdatei importieren.
So geben Sie die Computer in einer kommagetrennten Liste an:
$dc = "ENTERPRISE"
$pw = "Password123" | ConvertTo-SecureString -asPlainText -Force
$usr = "$dcT.Simpson"
$pc = "WKS034, WKS052, WKS057" # Specify the computers that should be joined to the domain.
$creds = New-Object System.Management.Automation.PSCredential($usr$pw)
Add-Computer -ComputerName $pc -LocalCredential $pcadmin -DomainName $dc -Credential $creds -Restart -Force
Und hier erfahren Sie, wie Sie eine Textdatei mit der Liste der Computer verwenden, die verbunden werden sollten:
$dc = "ENTERPRISE"
$pw = "Password123" | ConvertTo-SecureString -asPlainText -Force
$usr = "$dcT.Simpson"
$pc = Get-Content -Path C:Computers.txt # Specify the path to the computers list.
$creds = New-Object System.Management.Automation.PSCredential($usr,$pw)
Add-Computer -ComputerName $pc -LocalCredential $pcadmin -DomainName $dc -Credential $creds -Restart -Force
Einen Computer mit PowerShell aus einer Domäne entfernen
Um einen Computer aus einer Domäne entfernt zu entfernen, verwenden Sie das Remove-Computer Cmdlet. Hier entfernen wir einen Computer aus einer Domäne, daher werden keine lokalen Anmeldeinformationen benötigt und wir können den Parameter ?LocalCredential überspringen:
$dc = "ENTERPRISE"
$pw = "Password123" | ConvertTo-SecureString -asPlainText -Force
$usr = "$dcT.Simpson"
$pc = "R07GF"
$creds = New-Object System.Management.Automation.PSCredential($usr,$pw)
Remove-Computer -ComputerName $pc -Credential $creds –Verbose –Restart –Force
Um mehrere Computer mit einer Liste in einer TXT-Datei zu entfernen, verwenden Sie das obige Skript zum Verbinden von Computern mit einem DC, indem Sie das Cmdlet Add-Computer durch Remove-Computer ersetzen. Beachten Sie, dass Sie immer noch Domänenadministrator-Anmeldeinformationen benötigen, um diesen Vorgang des Verlassens zu vervollständigen.
Erstellen Sie ein Computerobjekt in AD
Um ein Computerobjekt zu erstellen, verwenden Sie das Cmdlet New-ADComputer. Führen Sie beispielsweise die folgenden Cmdlet-Parameter aus, um ein Computerobjekt mit „WKS932“ als Namen und dem Standard-LDAP-Pfadwert zu erstellen:
New-ADComputer –Name “WKS932” –SamAccountName “WKS932”
Computerkonten aus einer CSV-Datei erstellen
Wenn Sie eine Liste von Computern haben, die in das Active Directory importiert werden sollen, speichern Sie die Liste in einer CSV-Datei mit der Überschrift „computer“ und der Liste der Computernamen in der darunterliegenden Spalte. Führen Sie das folgende PowerShell-Skript auf Ihrem Domain-Controller aus, um Computer aus der CSV-Datei hinzuzufügen, und stellen Sie sicher, dass die Variablen „Path“ und „File“ korrekt gesetzt sind:
$File="C:scriptsComputers.csv" # Specify the import CSV position.
$Path="OU=Devices,DC=enterprise,DC=com" # Specify the path to the OU.
Import-Csv -Path $File | ForEach-Object { New-ADComputer -Name $_.Computer -Path $Path -Enabled $True}
Einen Computer aus AD löschen
Um ein Computerkonto aus AD zu löschen, verwenden Sie das Cmdlet Remove-ADObject. Der Parameter -Identity gibt an, welcher Active Directory-Computer entfernt werden soll. Sie können einen Computer über seinen Distinguished Name, GUID, Sicherheitskennung (SID) oder Security Accounts Manager (SAM)-Kontonamen spezifizieren.
Remove-ADObject -Identity "WKS932"
Sie werden aufgefordert, das Löschen zu bestätigen.
Computerkonten mit einer Liste löschen
Wenn Sie eine Textdatei mit einer Liste alter Computer haben, können Sie die Aufgabe, sie zu entfernen, mit PowerShell vereinfachen. Das folgende Skript wird die Computernamen aus einer TXT-Datei lesen und die entsprechenden Konten über eine Befehlskette oder Pipeline löschen:
Get-Content C:scriptscomputersfordeletion.txt | % { Get-ADComputer -Filter { Name -eq $_ } } | Remove-ADObject -Recursive
Fordern Sie eine kostenlose Testversion von Netwrix Directory Manager für eine bessere Gruppenverwaltung an
Entfernen Sie veraltete Computerkonten aus Active Directory mit PowerShell
Inaktive Konten in Active Directory können kompromittiert werden, was zu Sicherheitsvorfällen führen kann, daher ist es entscheidend, sie im Auge zu behalten. Dieses PowerShell-Skript wird Active Directory abfragen und alle Computer zurückgeben, bei denen seit den letzten 30 Tagen keine Anmeldung erfolgt ist; Sie können diesen Standardwert im Skript leicht ändern. Es wird auch diese Konten entfernen, um Ihr AD sauber zu halten.
$stale = (Get-Date).AddDays(-30) # means 30 days since last logon, can be changed to any number.
Get-ADComputer -Property Name,lastLogonDate -Filter {lastLogonDate -lt $stale} | FT Name,lastLogonDate
Get-ADComputer -Property Name,lastLogonDate -Filter {lastLogonDate -lt $stale} | Remove-ADComputer
Es gibt einen Computer, FS1, auf den seit mehr als 30 Tagen nicht mehr zugegriffen wurde. Das System wird vor dem Löschen aus der Domäne um Bestätigung bitten:
Wenn Sie inaktive Computerkonten deaktivieren statt löschen möchten, ersetzen Sie das Cmdlet Remove-ADComputer durch Set-ADComputer und den Parameter sowie Wert -Enabled $false.
Einen Computer umbenennen
Um den Namen eines Computers zu ändern, verwenden Sie das Cmdlet Rename-Computer. Beachten Sie, dass der Computer online sein und mit Active Directory verbunden sein muss.
Rename-Computer –ComputerName "FS1" -NewName "FS2"
Wenn Sie dieses Skript lokal ausführen möchten, wird es so aussehen:
Rename-Computer -NewName "newname" -DomainCredential "DomainAdministrator"
Benennen Sie einen Computer um und fügen Sie ihn zu einem Domain hinzu
Sie können das Umbenennungsskript verbessern, indem Sie den Computer gleichzeitig in die Domäne aufnehmen und ihn in die angegebene OU einordnen. Das Skript sollte auf der Zielmaschine ausgeführt werden, nicht auf dem Domain-Controller.
$NewComputerName = "Server3" # Specify the new computer name.
$DC = "contoso.com" # Specify the domain to join.
$Path = "OU=TestOU,DC=contoso,DC=com" # Specify the path to the OU where to put the computer account in the domain.
Add-Computer -DomainName $DC -OUPath $Path -NewName $NewComputerName –Restart –Force
Das Skript fordert die Anmeldeinformationen eines Kontos an, das Berechtigungen zum Hinzufügen von Computern zur Domäne hat, und dann wird der Computer umbenannt, neu gestartet und der Domäne beigetreten.
Deaktivieren Sie ein AD-Computerkonto
Verwenden Sie das Cmdlet Disable-ADAccount , um Benutzer-, Computer- und Dienstkonten in Active Directory zu deaktivieren. Wenn Sie einen Computernamen angeben, denken Sie daran, am Ende des Namens ein Dollarzeichen ($) anzuhängen; andernfalls erhalten Sie nach der Skriptausführung einen Fehler.
Disable-ADAccount -Identity fs1$
Deaktivieren Sie Computerkonten mithilfe einer Liste
Sie können auch Computerkonten in Massen mithilfe einer Liste in einer Textdatei deaktivieren:
$Pclist = Get-Content C:scriptsComputer.txt # Specify the path to the computers list.
Foreach($pc in $Pclist)
{
Disable-ADAccount -Identity "$pc"
Get-ADComputer -Identity "$pc" | Move-ADObject -TargetPath “OU=Disabled Computers,DC=enterprise,DC=com”
}
Ein AD-Computerkonto zurücksetzen
Wie ein Benutzerkonto interagiert auch ein Computerkonto mit Active Directory mithilfe eines Passworts. Bei Computerkonten wird jedoch standardmäßig alle 30 Tage eine Passwortänderung eingeleitet und das Passwort ist von der Domänen-password policy ausgenommen. Passwortänderungen werden vom Client (Computer), nicht von AD, gesteuert.
Computerausweise sind normalerweise dem Benutzer unbekannt, da sie vom Computer zufällig festgelegt werden. Aber Sie können Ihr eigenes Passwort setzen; hier ist ein PowerShell-Skript dafür:
$pc = read-host –Prompt “Input computer name to reset“ # Specify the computer name.
$pw = read-host –Prompt “Input random characters for temp password“ –AsSecureString # Specify the password.
Get-ADComputer $pc | Set-ADAccountPassword –NewPassword:$pw -Reset:$true
Fazit
Nun haben Sie gelernt, wie Sie Computerkonten in Active Directory mit PowerShell verwalten können. Sie können all diese Skripte selbst erweitern, um sie an Ihre Zwecke anzupassen.
Denken Sie daran, dass es entscheidend ist, alle Änderungen an Computerkonten genau zu verfolgen, damit Sie unerwünschte Modifikationen schnell erkennen und angemessen reagieren können.
Best Practices für das Active Directory Group Management
Best Practices für das Management von Active Directory-GruppenTeilen auf
Erfahren Sie mehr
Über den Autor
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.
Erfahren Sie mehr zu diesem Thema
Konfigurationsmanagement für sichere Endpoint-Kontrolle
Datenschutzgesetze der Bundesstaaten: Unterschiedliche Ansätze zum Datenschutz
Beispiel für Risikoanalyse: Wie man Risiken bewertet
Das CIA-Dreieck und seine Anwendung in der realen Welt
Was ist elektronisches Records Management?