Zum Inhalt springen

Powershell Pingsweep Tool

Leider passiert es häufig, dass NutzerInnen ihre Clients nicht herunterfahren und die Geräte unnötig laufen und die Energiekosten in die Höhe treiben. Um nicht jeden Abend eine Runde durch das Schulhaus drehen zu müssen, habe ich ein Powershellskript geschrieben, das alle eingeschalteten Clients in einem gestimmten Netzwerksegment herunterfährt. Dazu wird die Erreichbarkeit der Clients in einem vordefinierten Netzwerksegment überprüft und – sofern der Client online ist – ein Befehl zum Herunterfahren an das Gerät gesendet. Bedenken Sie, dass dazu entsprechende Rechte auf dem Client vorhanden sein müssen!

Um das Skript verwenden zu können, ist es wichtig, dass alle IP Adressen angepasst werden, das heißt Zeilen 18, 23 und 25 gegebenenfalls abändern. Um die Sriptausführung zu beschleunigen, habe ich einen Workflow geschrieben, der vier Clients parallel abarbeitet. Um diese Anzahl zu verändern, muss der Parameter throttlelimit in Zeile 18 verändert werden.

<# 

Skript testet die IP-Range von 10.0.0.40 -  10.0.0.253 (DHCP-Bereich des BORG3-LAN) und fährt den jeweiligen Rechner bei erfolgreichem Ping herunter. Eventuell angemeldete Benutzer werden gegebenenfalls abgemeldet. 

#> 

### ErrorAction für Skript festlegen

$ErrorActionPreference = 'SilentlyContinue'

### Workflow für Pingsweep 

Write-Host "Führe Pingsweep durch und fahre die Clients herunter." -ForegroundColor Green

Workflow Pingsweep {

foreach -parallel -throttlelimit 4  ($IPAddress in (40..253)) { 

Inlinescript { $ping = New-Object System.Net.Networkinformation.Ping 
$Erfolg = $ping.send(“10.0.0.$Using:IPAddress”)| select status 

if ($Erfolg.Status -eq 'Success') {Stop-Computer -ComputerName 10.0.0.$Using:IPAddress -Force} }}} 

Pingsweep 

Exit

Bitte beachten Sie, dass das Skript beim Herunterfahren keine Rücksicht darauf nimmt, ob NutzerInnen am Client angemeldet sind. Möchten Sie diese Einstellung ändern, muss der Parameter force in Zeile 25 entfernt werden.

Anmerkungen sind herzlich willkommen und das Skript darf gerne – auf eigene Verantwortung – verwendet und kopiert werden!

Mit freundlichen Grüßen,

Martin Stolzlechner

Sei der Erste der einen Kommentar abgibt

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

3 × 5 =