Domain Controllers prüfen ob erreichbar automatisch per Powershell?
Ich möchte alle DCs prüfen ob die Netzwerktechnisch erreichbar sind. Und zwar ohne die Liste pflegen zu müssen.
Die Art wie es gemacht wird, ist mir egal. Es soll nur dynamisch alle DCs prüfen. Und die nicht erreichbaren in eine Liste schreiben. Optional die Erreichten auch in eine Liste.
Das hier habe ich gefunden. Folgenden Code. Der funktioniert zwar. Aber er prüft die Liste 4x oder so. Also wird 4x so oft gepingt. Und in die Liste tauchen dann halt auch die Dinge 4x auf.
$Forest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()
$AllOutput = @()
$Forest.Domains | ForEach{
[PsObject]$OutPut = "" | Select-Object DCName
$([System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($DirectoryContext).DomainControllers) | ForEach{
$DC = $Output.DCName = $_.Name
#$Output
#echo $DC
if (test-connection -Computer $DC -quiet -count 2) {echo "$DC" >> Erreichbar.txt} else {echo "$DC" >> nichtErreichbar.txt}
}
}
#$AllOutput | Format-Table -AutoSize
Danke schon mal im vorraus
1 Antwort
Hallo
Für mich sieht es so aus, als ob jeder Server 2 mal angepingt wird.
test-connection ist ein Ersatzcommand für "ping", mit -quiet wird gezwungenermassen "true" oder "false" zurückgegeben. Der Parameter -count sollte hier "1" sein, dann sollte der Server auch nur 1 mal angepingt werden.
Gruss
Du hast recht. Habs bei mir mal getestet, bei mir hab ich das Problem nicht. Musst du denn Server von mehreren Domänen prüfen?
$Forest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()
$AllOutput = @()
$Forest.Domains | ForEach{
[PsObject]$OutPut = "" | Select-Object DCName
$([System.DirectoryServices.ActiveDirectory.Domain]::GetDomain($DirectoryContext).DomainControllers) | ForEach{
$DC = $Output.DCName = $_.Name
#$Output
echo $DC
}
}
#$AllOutput | Format-Table -AutoSize
Probiers mal damit, und schau dir die Ausgabe an. sind schon hier alle Server 4 mal da?
nein das ist es glaub ich nicht. Es taucht in der Liste ja auch 4x auf. Ja es wird jeder Server zweimal angepingt das stimmt. Aber da es in der Schleife ist, spielt das keine Rolle.