Zum Inhalt springen.
Zum Seitenanfang springen.
Sie befinden sich genau hier: Home > Computer > Windows Server.
Tafel

Windows Server:


Hier halte ich wichtige Arbeitsabläufe im Umgang mit dem Windows Server (2003 R2, 2008 R2, 2012 R2) fest.



Der Windows Server 2012 R2 kommt mit dem Dashboard des Server-Managers daher, welches eine tolle Übersicht über Ereignisse, Leistungsdaten und Dienste aller verwaltbaren Windowsserver bietet. Für jede Rolle wird eine eigene Servergruppe gebildet und via Best Practice Analyzer analysiert. Es ist aber auch möglich, eigene Servergruppen zu bilden und diese zu benennen. Hiermit möchten wir in diesem Beispiel die Funktionen eines Zeiterfassungsystems überwachen lassen.
Dies benötigt einen SQL-Server, einen IIS, diverse weitere Applicationsdienste und die Erreichbarkeit von Zeiterfassungsterminals an unterschiedlichen Standorten. Wir möchten erreichen, dass wir im Dashboard bei der entsprechenden Kachel "Zeiterfassung" einen roten Balken erhalten, wenn eine benötigte Komponente ausfällt.

Der SQL-Server und IIS sind jeweils auf eigenen Servern installiert, Server 1 und Server 2. Das Zeiterfassungssystem liegt auf dem gleichen Server wie der IIS. Wenn wir eine Servergruppe mit dem Namen "Zeierfassung" anlegen und hier den Server 1 und Server 2 hinzufügen, werden bereits der SQL-Server, der IIS und die Applicationsdienste überwacht. Jetzt fehlt noch die Erreichbarkeit der Terminals, die wir nur via Ping überprüfen können. Um Ping dem Server-Manager Dashboard hinzuzufügen, nutzen wir Powershell.

Wir richten zunächst via Powershell ein neues Eventlog ein:
New-EventLog -Source scripts -LogName Application
Wir legen dann die Datei PingPowershellCheck.ps1 an und geben dort die IPs an, die geprüft werden sollen. Hier lässt sich dann der Text festlegen, der im Ereignisprotokoll erscheinen soll, wenn die IP nicht erreicht wird:

$ping1 = Test-Connection 192.168.1.100, 192.168.1.115 -Quiet
foreach($p in $ping1)
{if($p -eq $false){
Write-EventLog -LogName Application -Source scripts -Message "Standort 1 ist
nicht mehr online" -EventId 0 -EntryType warning
}}

$ping2 = Test-Connection 192.168.2.100 -Quiet
foreach($p in $ping2)
{if($p -eq $false){
Write-EventLog -LogName Application -Source scripts -Message "Standort 2 ist
nicht mehr online" -EventId 0 -EntryType warning
}}

$ping3 = Test-Connection 192.168.3.100 -Quiet
foreach($p in $ping3)
{if($p -eq $false){
Write-EventLog -LogName Application -Source scripts -Message "Standort 3 ist
nicht mehr online" -EventId 0 -EntryType warning
}}

$ping4 = Test-Connection 192.168.4.100 -Quiet
foreach($p in $ping4)
{if($p -eq $false){
Write-EventLog -LogName Application -Source scripts -Message "Standort 4 ist
nicht mehr online" -EventId 0 -EntryType warning
}}

Jetzt muss das Powershell-Script nur noch regelmäßig ausgeführt werden. Das erledigen wir mit dem Aufgabenplaner. Gibt man in einem Aufgabenplan einfach nur das Script an, wird es mit dem Notpad geöffnet. Ausnahmsweise möchten wir dieses Verhalten aber nicht. Mit diesen kleinen Anpassungen wird das Powershell-Script als Task ausgeführt:

Aktion: Programm starten

Programm/Skript: powershell.exe

Argumente hinzufügen (optional): -noninteractive -command "& {C:\PSServices\PingPowershellCheck.ps1}"

Starten in (optional): C:\PSServices

Der Server-Manager überprüft nun alle 10 Minuten, ob alles noch funktioniert. Bei Bedarf kann man das Intervall natürlich auch ändern.

Links zum Thema:

Passend zu diesem Thema habe ich Zertifizierung 70-410, 70-411 und 70-412:
WindowsServer2012
Wenn Sie Fragen, Hinweise, Kritik oder Anregungen haben, schreiben Sie mir doch einfach.

Marvin Nassowitz / www.nassowitz.de