PHP SkripteSolarwinds

Powershell Skript – Überprüfung auf nicht erlaubte DHCP Server

Powershell Skript – Überprüfung auf nicht erlaubte DHCP Server

Dieses Skript sucht nach unerlaubten DHCP Servern in Ihrem Netzwerk (Rogue DHCP Server).

Das Skript kann Stand Alone laufen oder aber auch in Solarwinds.

Hier können mehrere DHCP Server eingestellt werden.

$ErlaubteDHCPServer = @(„192.168.0.1“, „192.168.0.2“,192.168.0.200)

Genutzt wird das kleine Programm dhcptest welche heruntergeladen wird und Silent ausgeführt wird.

Credits gehen an https://github.com/CyberShadow/dhcptest

<######################################################################
#                                                                     #
#                                                                     #
#                                                                     #
#   Herausgeber: Wallmeyer & Wallmeyer GbR                            #
#   Website: https://www.coswa.de                                     #
#   Telefon: 05921-3083753                                            #
#   E-Mail: info@coswa.de                                             #
#                                                                     #
#                                                                     #
#                                                                     #
#                                                                     #
#######################################################################>
<#
#>
$script_name = "Nicht erlaubte DHCP Server"
$script_version = "1.0"
Write-Host $script_name
Write-Host "Skriptstand: 12.01.2021 08:00"
Write-Host "Version: $script_version"

#
$ErlaubteDHCPServer = "192.168.0.1,192.168.0.3"
$DownloadURL = "https://coswa.de/downloads/dhcptest-0.7-win64.exe"
#>
$ErlaubteDHCPServer = $ErlaubteDHCPServer.split(',')

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$DownloadPfad = "c:\DHCPTest"
$Filename = "\DHCPTest.exe"
try {
    $TestDownloadPfad = Test-Path $DownloadPfad
    if (!$TestDownloadPfad) { new-item $DownloadPfad -ItemType Directory -force }
    $TestDownloadPfadZip = Test-Path "$DownloadPfad $Filename "
    if (!$TestDownloadPfadZip) { Invoke-WebRequest -UseBasicParsing -Uri $DownloadURL -OutFile "$($DownloadPfad)\DHCPTest.exe" }
}
catch {
    write-host "Der Download oder das erstellen von DHCPTest ist fehlgeschlagen. Error: $($_.Exception.Message)"
    exit 1
}
$Tests = 0
$GefundeneDHCPServer = do {
    & "$DownloadPfad\DHCPTest.exe" --quiet --query --print-only 54 --wait --timeout 3
    $Tests ++
} while ($Tests -lt 2)
 
foreach ($DHCPSERVER in $GefundeneDHCPServer) {
if ($ErlaubteDHCPServer.Contains($DHCPSERVER) -eq $false) {
$Status= "Nicht erlaubter DHCP Server gefunden. IP des Servers: $DHCPSERVER"
   $Fehler = 1
}

}
 
if (!$Status) { 
$Status = "Alles in Ordnung. Keine weiteren DHCP Server gefunden."
$Fehler = 0
}
if ($fehler -gt 0) { # Bei Fehler
    write-host $Status
    $exitcode = 2001
    $result = 1
    $bpalert = 1
    $resultstring = "Fehler"
}
else {
    write-host $Status
    $exitcode = 0
    $result = 0
    $bpalert = 0
    $resultstring = "Alles in Ordnung"
}

Das Skript und die AMP Datei für Solarwinds können wir heruntergeladen werden.

https://github.com/BenWallmeyer/Powershell-Scripts/blob/main/rogue_dhcp_test.ps1

AMP Datei

Next article Powershell Netzwerk Interface Einstellungen
Previous article Powershell Zip Archive

Related posts

0 Comments

No Comments Yet!

You can be first to comment this post!

Leave a Comment