Я работаю над сценарием powershell, который позволил бы мне увидеть, работают ли мои DHCP-серверы нормально и каково их текущее состояние (сколько осталось адресов, сколько из них используется ...).
Пока все хорошо.Я получаю всю информацию, которая мне нужна, но первый тест здесь состоит в том, чтобы проверить, отвечает ли сервер в значительной степени.
Для этого я использую try-catch и хочу вывести в.txt все серверы, которые не отвечают.Проблема: я выдаю только последний сервер, который не ответил, я не получаю предыдущий, который не ответил так же.
Пробовал |вне файла |сет-контент и |add-content Похоже, что поиск ничего не дал.
$DHCPSRV=""
$myError=0
$myArray=@( Import-Csv .\CSV\DHCP_list.csv)
foreach ($element in $myArray) {
try {
Write-Output ""
$DHCPSRV=$element.FQDN
$Message = "Server DHCP: " + $DHCPSRV
Write-Output $Message
Write-Output ""
$srv=get-dhcpserverv4statistics -ComputerName $DHCPSRV
$Message ="Server start time : " + $srv.ServerStartTime
Write-Output $Message
$Message ="Number of address : " + $srv.TotalAddresses
Write-Output $Message
$Message ="Address used : " + $srv.AddressesInUse
Write-Output $Message
$Message ="% remaining : " + $srv.PercentageAvailable + " %"
Write-Output $Message
Get-DhcpServerSetting -ComputerName $DHCPSRV
Write-Output ""
}
catch{
Write-host "Server not responding " $DHCPSRV -BackgroundColor red -ForegroundColor White
$myerror=$error+1
$test = $DHCPSRV
}
}
if ($myError -eq 0){
Write-Output ""
Write-host "All DHCP are working good" -BackgroundColor green -ForegroundColor black
}
$test | Set-Content '.\Output\dhcp_failed.txt'
$test | Add-Content '.\Output\dhcp_failed.txt'
Write-Output ""
Write-Output ""
Write-Output "------------------------------------------------"
pause
Я хотел бы вывести все серверы, которые не прошли тест try-catch, в моем txt!