Windows Server 2008 R2 und Windows Server 2012

Befehle, die ein Admin kennen sollte

01.05.2013 von Thomas Joos
Bei der Arbeit übers Netzwerk oder über langsame WAN-Verbindungen sind beispielsweise PowerShell-Befehle unerlässliche Helfer. Wir haben für Sie Tools in der Befehlszeile und der PowerShell zusammengestellt, die Ihnen vielfältige Möglichkeiten zur Administration außerhalb von grafischen Werkzeugen bieten.

Die Befehle, die wir nachfolgend für Sie zusammengestellt haben, funktionieren primär mit Windows Server 2012 und auch mit Windows Server 2008 R2. Einige kann man zudem mit älteren Windows-Servern nutzen und natürlich auch mit den jeweiligen Small Business Servern. Die nachfolgende Auflistung wird sukzessive erweitert. Genug der Vorrede, wir gehen gleich in medias res.

Domänencontroller überprüfen mit dcdiag.exe und Co.

Haben Sie Active Directory installiert, stehen auch in Windows Server 2012 die bekannten Tools dcdiag.exe, repadmin.exe und Co. zur Analyse zur Verfügung.

Check: Mit dcdiag überprüfen Sie jeden Domänencontroller zuverlässig.

Für die Namensauflösung können Sie weiterhin nslookup verwenden, oder die neuen CMDlets zur Verwaltung von DNS einsetzen, zum Beispiel resolve-dnsname.

Das wichtigste Tool für die Diagnose von Domänencontrollern ist dcdiag.exe. Sie können das Tool in der Befehlszeile mit Administratorrechten aufrufen, indem Sie

dcdiag

eingeben. Eine ausführliche Diagnose erhalten Sie durch dcdiag /v. Möchten Sie eine ausführlichere Diagnose durchführen, sollten Sie die Ausgabe jedoch in eine Datei umleiten, da Sie so das Ergebnis besser durchlesen und, falls erforderlich, an einen Spezialisten weitergeben können. Die Befehlszeile könnte dann zum Beispiel

dcdiag/v >c:\dcdiag.txt

lauten. Für die erste Überprüfung reicht die normale Diagnose mit dcdiag jedoch vollkommen aus. Fehler sollten Sie in einer Suchmaschine recherchieren und beheben. Im Idealfall sollte dcdiag keine Fehler zeigen.

Windows-Praxis
Windows Server: Befehle, die ein Admin kennen sollte
Bei der Arbeit übers Netzwerk oder über langsame WAN-Verbindungen sind PowerShell-Befehle unerlässliche Helfer. Wir haben für Sie PowerShell- und Befehlszeilen-Tools zusammengestellt.
Windows-Praxis
Mit dcdiag überprüfen Sie jeden Domänencontroller zuverlässig.
Windows-Praxis
Mit Nltest überprüfen Sie die Active-Directory-Standorte und Domänencontroller.
Windows-Praxis
Geöffnete Dateien zeigen Sie in der Befehlszeile mit verschiedenen Befehlen an.
Windows-Praxis
Die Aktivierung von Windows 8 und Windows Server 2012 können Sie auch in der Befehlszeile vornehmen.
Windows-Praxis
Active Directory lässt sich in Windows Server 2012 auch in der PowerShell verwalten.
Windows-Praxis
Hyper-V 3.0 in Windows Server 2012 verwalten Sie vor allem in der PowerShell sehr effizient.

Nltest und net.exe

Ebenfalls wichtig ist nltest. Mit nltest /dsgetsite lassen Sie sich zum Beispiel die Domänencontroller und die dazugehörigen Standorte anzeigen. Geben Sie in der Befehlszeile den Befehl

nltest /dclist:<NetBIOS-DOMÄNENNAME>

ein, zum Beispiel nltest /dclist:contoso. Alle Domänencontroller sollten mit ihren vollständigen Domänennamen ausgegeben werden.

Wenn Sie mit

net stop netlogon

und dann

net start netlogon

Läuft: Mit Nltest überprüfen Sie die Active-Directory-Standorte und Domänencontroller.

den Anmeldedienst auf dem Domänencontroller neu starten, versucht der Dienst die Daten der Datei netlogon.dns aus dem Verzeichnis \windows\system32\config\netlogon.dns erneut in DNS zu registrieren.

Gibt es hierbei Probleme, finden sich im Ereignisprotokoll unter System Einträge des Dienstes, der bei der Problemlösung weiterhilft. Mit

net share

lassen Sie sich die Freigaben auf dem Server anzeigen.

Auch der Befehl

nltest /dsregdns

hilft oft bei Problemen in der DNS-Registrierung. Funktioniert die erneute Registrierung durch Neustart des Anmeldedienstes nicht, löschen Sie die DNS-Zone _msdcs und die erstellte Delegierung. Beim nächsten Start des Anmeldedienstes liest dieser die Daten von netlogon.dns ein, erstellt die Zone _msdcs neu und schreibt die Einträge wieder in die Zone. Mit dcdiag (siehe oben) lassen sich danach die Probleme erneut diagnostizieren. Einen ausführlichen Test führen Administratoren mit dcdiag /v durch.

Dateiserver und Freigaben

Mit dem Befehlszeilenprogramm openfiles.exe können Sie Dateien und Ordner, die auf einem System geöffnet wurden, auflisten und trennen. Vor jedem Dateinamen sehen Sie eine ID und den Namen des jeweiligen Benutzers.

Greifen mehrere Benutzer gleichzeitig auf eine Datei zu, zeigt Openfiles diese Datei unter zwei unterschiedlichen ID-Kennungen entsprechend zwei Mal an. Damit geöffnete Dateien angezeigt werden, müssen Sie zunächst das Systemflag Maintain Objects List aktivieren. Mit dem Befehl

openfiles /local on

wird das Systemflag eingeschaltet. Der Befehl

openfiles /local off

schaltet ihn aus.

Erst nach der Aktivierung dieses Flags werden mit openfiles.exe geöffnete Dateien angezeigt. Nachdem Sie das Flag gesetzt haben, müssen Sie den Computer neu starten. Wenn Sie nach dem Neustart in der Befehlszeile openfiles eingeben, werden die geöffneten Dateien angezeigt.

Möchte man feststellen, welche Dateien auf einem wechselbaren Datenträger (zum Beispiel USB-Stick) geöffnet sind, empfiehlt sich der Befehl

openfiles |find /i "z:"

wobei z: der Laufwerkbuchstabe des USB-Sticks ist.

Wenn Sie noch offene Dateien auf Ihrem System vorfinden und diese schließen möchten, verwenden Sie den Befehl

openfiles /disconnect /id <id>

oder

openfiles /disconnect /a <user>

Als <id> wird die von Openfiles mitgeteilte ID eingetragen, als <user> die mitgeteilte Nutzerkennung.

Was geht ab: Geöffnete Dateien zeigen Sie in der Befehlszeile mit verschiedenen Befehlen an.

Sie können zwar auch mit dem Befehl net file eine Liste der über das Netzwerk geöffneten Dateien anzeigen. Allerdings schneidet der Befehl lange Pfadnamen ab. Außerdem können Sie mit net file keine Daten auf Remote-Computern abfragen, sondern lediglich für das lokale System. Geben Sie nur den Befehl psfile (aus den Sysinternals)an, zeigt das Tool geöffnete Dateien an, inklusive des genauen Dateipfads. Wollen Sie die geöffneten Dateien auf einem Computer im Netzwerk abfragen, können Sie dazu ebenfalls psfile verwenden. Die Syntax dazu lautet:

psfile [\\<Computer> [-u <Benutzername> [-p <Kennwort>]]] [[Id | <Pfad>] [-c]]

Windows Server 2012 aktivieren

Nach der Installation müssen Sie die Aktivierung von Windows durchführen. Die Aktivierung führen Sie am besten in der Systemsteuerung über das Wartungscenter durch. Mehr Informationen erhalten Sie auch, wenn Sie nach slui suchen. Über den Befehl slui 3 wird ein Dialogfeld geöffnet, um einen neuen Produktschlüssel einzugeben. Der Befehl slui 4 öffnet die Auswahl der Aktivierungs-Hotlines.

Wollen Sie sich die aktuelle Windows-Server-2012-Edition anzeigen lassen, die auf dem Computer installiert ist, öffnen Sie eine Eingabeaufforderung mit Administratorrechten und geben den Befehl

dism /online /Get-CurrentEdition

ein. Wollen Sie anzeigen, zu welchen Editionen Sie die installierte Version aktualisieren können, verwenden Sie den Befehl

dism /online /Get-TargetEditions

Für die Verwaltung und die Abfrage von Lizenzinformationen stellt Microsoft das Skript slmgr.vbs zur Verfügung. Das Tool kennt verschiedene Optionen:

Alternative: Die Aktivierung von Windows 8 und Windows Server 2012 können Sie auch in der Befehlszeile vornehmen.

Sie können den Product Key einer WindowsServer-2012/Windows-8-Installation anpassen. Dazu benötigen Sie eine Eingabeaufforderung, die Sie auf der Startseite per Rechtsklick mit der Maus mit Administratorrechten starten. In der Befehlszeile aktivieren Sie Windows Server 2012 auch auf einem Core-Server:

1. Geben Sie zum Löschen des alten Product Key in der Eingabeaufforderung den Befehl slmgr /upk ein. Zwar ersetzen die nächsten Punkte den vorhandenen Product Key. Allerdings funktioniert das nicht immer, wenn nicht zuvor die alte Nummer gelöscht wurde.

2. Bestätigen Sie das Löschen.

3. Den neuen Product Key geben Sie dann mit slmgr /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx ein.

4. Mit slmgr /ato aktivieren Sie Windows Server 2012.

Active Directory und PowerShell

Windows Server 2012 lässt sich auch in der PowerShell verwalten. Dazu hat Microsoft einige neue Cmdlets integriert. Mit dem Cmdlet Install-ADDSDomainController installieren Sie in einer bestehenden Domäne zum Beispiel einen neuen Domänencontroller. Mit Install-ADDSDomain installieren Sie eine neue Domäne, mit Install-ADDSForest eine neue Gesamtstruktur. Damit der Befehl funktioniert, geben Sie den Namen der Domäne mit und konfigurieren das Kennwort für den Verzeichnisdienst-Wiederherstellungsmodus als SecureString. Dazu verwenden Sie folgenden Befehl:

Install-ADDSDomainController -Domainname <DNS-Name der Domäne> -SafeModeAdministratorPassword (read-host -prompt Kennwort -assecurestring)

Praktisch: Active Directory lässt sich in Windows Server 2012 auch in der PowerShell verwalten.

Um einen Domänencontroller herabzustufen, verwenden Sie das Cmdlet Uninstall-ADDSDomainController. Die Cmdlets fragen alle notwendigen Optionen an und starten den Server neu. Konfigurationen wie DNS-Server und globaler Katalog nehmen Sie sich anschließend vor. Diese Aufgaben müssen Sie nicht mehr im Assistenten zur Installation vorgeben.

Auch neue Cmdlets, die dazu dienen, Installation und Betrieb von Active Directory zu testen, hat Microsoft integriert. Dazu gibt es die neuen Cmdlets Test-ADDSDomainControllerInstallation, Test-ADDSDomainControllerUninstallation, Test-ADDSDomainInstallation, Test-ADDSForestInstallation und Test-ADDSReadOnlyDomainControllerunInstallation.

Um Active-Directory-Objekte abzurufen, stellt Microsoft zahlreiche neue Cmdlets zur Verfügung. Eine Liste erhalten Sie über den Befehl

Get-Command Get-Ad*

Wollen Sie neue Objekte erstellen, stehen Ihnen nun ebenfalls zahlreiche neue CMDLets zur Verfügung. Die Liste dazu erhalten Sie durch Eingabe von

Get-Command New-Ad*

Eine Aufstellung mit Befehlen zum Löschen von Objekten zeigt die PowerShell mit

Get-Command Remove-Ad*

Änderungen an Active Directory-Objekten nehmen Sie mit Set-Cmdlets vor. Eine Liste erhalten Sie über

Get-Command Set-Ad*

Damit Sie einen Server über die PowerShell remote verwalten können, müssen Sie die Remote-Verwaltung auf dem Server aktivieren. Dazu geben Sie auf dem entsprechenden Server den Befehl

Enable-PSRemoting -Force

ein.

Hyper-V und PowerShell

Hyper-V 3.0 lässt sich auch weitaus besser in der PowerShell verwalten als der Vorgänger in Windows Server 2008 R2. Geben Sie in der PowerShell

Get-Command -Module Hyper-V

ein, erhalten Sie eine Liste der verfügbaren Cmdlets. Mit dem Cmdlet-Aufruf

Get-WindowsFeature Hyper-V*

zeigen Sie an, ob die Rolle und die Verwaltungs-Tools bereits installiert sind. In Windows Server 2012 können Sie mit -Computername die Installation auch auf Remote-Servern im Netzwerk überprüfen.

Um Hyper-V oder die Verwaltungs-Tools zu installieren, verwenden Sie das Cmdlet Install-WindowsFeature (in Windows Server 2008 R2 Add-WindowsFeature). Mit

Install-WindowsFeature Hyper-V

installieren Sie die Serverrolle, mit der Option -IncludeManagementTools inklusive der Verwaltungs-Tools. Soll der Server gleich automatisch neu starten, verwenden Sie noch die Option -Restart. Die Verwaltungs-Tools alleine installieren Sie mit

Install-WindowsFeature Hyper-V-Tools

Virtualisierung: Hyper-V 3.0 in Windows Server 2012 verwalten Sie vor allem in der PowerShell sehr effizient.

Sie können virtuelle Switches auch in der PowerShell erstellen und verwalten. Die entsprechenden Cmdlets finden Sie am schnellsten, wenn Sie in der PowerShell

Get-Command *vmswitch*

eingeben. Neben den Switches können Sie auch die virtuellen Netzwerkadapter in der PowerShell steuern. Hier sehen Sie die Befehle mit

Get-Command *vmnetworkadapter*

Sie haben natürlich auch die Möglichkeit, virtuelle Server in der PowerShell zu erstellen. Dazu verwenden Sie das Cmdlet New-VM -Name <Name des virtuellen Servers>. Neue virtuelle Festplatten erstellen Sie mit New-VHD.

Eine Liste aller erstellten virtuellen Server eines Hyper-V-Hosts rufen Sie mit

Get-VM

ab. Mit der Option |fl erhalten Sie weiterführende Informationen. Sie bekommen so auch Echtzeitdaten, also auch den zugewiesenen Arbeitsspeicher, wenn Sie Dynamic Memory einsetzen. Sie schalten mit Stop-VM virtuelle Maschinen aus, starten sie mit Start-VM und rufen den Zustand mit Get-VM ab. Um sich eine Liste der verfügbaren Befehle anzuzeigen, verwenden Sie

Get-Command *vm*

Sie können über die PowerShell Server auch neu starten (Restart-VM), anhalten (Suspend-VM) und wieder fortführen lassen (Resume-VM). Virtuelle Server importieren Sie mit Import-VM und exportieren mit Export-VM. Snapshots erstellen Sie mit Checkpoint-VM. (TecChannel/ph)