Windows Server 2008 R2 und Windows Server 2012 (R2)

Windows Server: Befehle, die der Admin kennen sollte

30.06.2014 von Thomas Joos
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.

Die Befehle, die wir nachfolgend für Sie aufgelistet 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 Zusammenfassung 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. für die Analyse zur Verfügung.

Check: Mit dcdiag überprüfen Sie jeden Domänen-Controller 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änen-Controllern 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 völlig aus. Fehler sollten Sie in einer Suchmaschine recherchieren und beheben. Im Idealfall dürfte dcdiag jedoch keine Fehler zeigen.

Bildergalerie:
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änen-Controller 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änen-Controller sollten mit ihren vollständigen Domänennamen ausgegeben werden.

Wenn Sie mit

net stop netlogon

und dann

net start netlogon

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

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

Gibt es hierbei Probleme, finden sich im Ereignisprotokoll unter System Einträge des Dienstes, der Sie bei der Problemlösung unterstützt. 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 System-Flag Maintain Objects List aktivieren. Mit dem Befehl

openfiles /local on

wird das System-Flag 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]]

• -u - Mit dieser Option können Sie den Benutzernamen zum Anmelden am Remote-Computer angeben.

• -p - Mit dieser Option geben Sie das Kennwort für den Benutzernamen an. Wenn Sie kein Kennwort angeben, müssen Sie dies bei der Ausführung des Befehls nachholen.

• -Id - Hier können Sie die ID der Datei angeben, von der Sie sich ausführlichere Informationen anzeigen lassen wollen oder die geschlossen werden soll.

• Pfad - Pfad der Dateien, die angezeigt werden sollen.

• -c - Schließt die Dateien, deren ID Sie angegeben haben

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:

/ato -- Windows online aktivieren

/dli -- Zeigt die aktuellen Lizenzinformationen an

/dlv -- Zeigt noch mehr Lizenzdetails an

/dlv all -- Zeigt detaillierte Infos für alle installierten Lizenzen an

Alternative: Windows 8 und Windows Server 2012 können Sie auch in der Befehlszeile aktivieren.

Sie können den Product Key einer Windows-Server-2012-/Windows-8-Installation anpassen. Dazu benötigen Sie eine Eingabeaufforderung, die Sie auf der Startseite per Maus-Rechtsklick 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 Keys in der Eingabeaufforderung den Befehl slmgr /upk ein. Zwar ersetzen die nächsten Punkte den vorhandenen Product Key. Allerdings funktioniert das nur, wenn 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änen-Controller. Via Install-ADDSDomain installieren Sie eine neue Domäne, mittels 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änen-Controller 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*

an. Ä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 entsprechende Funktion auf dem Server aktivieren. Dazu geben Sie auf dem entsprechenden Server den Befehl

Enable-PSRemoting -Force

ein.

Um Active Directory in der PowerShell auf einem Computer im Netzwerk einzurichten, verwenden Sie den Befehl

invoke-command {install-addsdomaincontroller -domainname <Domäne> -credential (get-credential) -computername <Name des Servers>

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. Wenn Sie in der PowerShell

Get-Command -Module Hyper-V

eingeben, 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 zusätzlich 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.

Cmdlets für die Remoteverwaltung und das Abrufen der Hilfe

Nicht alle Cmdlets eignen sich für eine Remoteverwaltung von Servern. Sie können hierfür vor allem die Cmdlets nutzen, die über die Option -ComputerName verfügen. Um sich alle Cmdlets anzeigen zu lassen, die diese Option unterstützen, also Server auch über das Netzwerk verwalten können, hilft der Befehl

Get-Help * -Parameter ComputerName

Wollen Sie ausführliche Hilfen anzeigen, bietet das Get-Help-Cmdlet zudem die Möglichkeit, ausführliche Hilfen und Beispiele anzuzeigen, etwa mit den Optionen -Examples, -Detailed und -Full. Generell ist der Umgang mit der PowerShell nicht sehr kompliziert. Geben Sie Get-Command ein, sehen Sie alle Befehle, die die Shell zur Verfügung stellt. Die PowerShell bietet eine ausführliche Hilfe an.

Praktisch: Active Directory können Sie in Windows Server 2012 auch über die PowerShell installieren.

Haben Sie nur den Teil eines Befehls in Erinnerung, können Sie mit dem Platzhalter * arbeiten. Der Befehl

Get-Command *user

zeigt zum Beispiel alle Cmdlets an, deren Name mit user endet. Ist der gesuchte Befehl nicht dabei, können Sie auch mehrere Platzhalter verwenden, etwa den Befehl

Get-Command *user*

Er zeigt alle Befehle an, in denen das Wort »user« vorkommt.

Wurde das gewünschte Cmdlet gefunden, steht die PowerShell mit weiteren Möglichkeiten bereit. Für nahezu alle Cmdlets gilt die Regel dass diese in vier Arten vorliegen: Es gibt Cmdlets mit dem Präfix New-, um etwas zu erstellen, beispielsweise New-ADUser. Das gleiche Cmdlet gibt es dann immer noch mit Remove-, um etwas zu löschen, zum Beispiel Remove-ADUser. Ebenfalls eine neue Funktion in der PowerShell 3.0 ist das Cmdlet Show-Command. Dieses blendet ein neues Fenster mit allen Befehlen ein, die in der PowerShell verfügbar sind. Sie können im Fenster nach Befehlen suchen und sich eine Hilfe zum Befehl oder Beispiele anzeigen zu lassen.

Windows Server 2012 in eine VHD-Datei installieren

Nicht nur für Testzwecke kann es sinnvoll sein, eine Windows-Installation auf einem physischen Computer in einer VHD-Datei durchzuführen:

1. Booten Sie Ihren Computer mit der Windows Server 2012-DVD.

2. Bestätigen Sie im ersten Installationsfenster die Spracheinstellungen.

Hilfreich: Windows Server 2008 R2/2012 und Windows 7/8 können Sie in VHD-Dateien installieren. Das ist für Testumgebungen durchaus sinnvoll.

3. Sobald das zweite Fenster der Windows-Server-2012-Installation erscheint, wählen Sie nicht Jetzt installieren, sondern drücken die Tastenkombination (Umschalt)+(F10), um eine Eingabeaufforderung zu öffnen.

4. Im nächsten Schritt geben Sie diskpart ein.

5. Zunächst erstellen Sie die virtuelle Festplatte mit dem Befehl create vdisk file="d:\win2.vhd" type=expandable maximum=30000. Überprüfen Sie zuvor, welcher Laufwerkbuchstabe aktuell zugewiesen ist, und ersetzen Sie die Laufwerkangabe d: im Befehl durch den für Ihr System gültigen Laufwerkbuchstaben. Dazu verwenden Sie in Diskpart list disk und list volume für einen Überblick.

6. Haben Sie die Eingabe bestätigt, erstellt Windows Server 2012 die virtuelle Festplatte. Im nächsten Schritt wählen Sie die Platte mit select vdisk file="d:\win2.vhd" aus.

7. Der Befehl attach vdisk verbindet die VHD-Datei mit der Windows-Server-2012-Installation, die Sie gestartet haben. (mje)