如何才能正确地将我的 try-catch 输出到 txt 文件中



我正在开发一个Powershell脚本,该脚本可以让我查看我的DHCP服务器是否运行良好以及它们的当前状态(剩余多少地址,使用了多少地址......

目前为止,一切都好。我正在获得我需要的所有信息,但是,这里的第一个测试是检查服务器是否响应很大。

为此,我正在使用try-catch,我想将所有没有响应的服务器输出到.txt中。 问题:我只输出最后一个没有响应的服务器,我没有收到没有响应的前一个服务器。

已尝试 | 输出文件|设置内容和 |添加内容我发现搜索似乎没有任何效果。

$DHCPSRV=""
$myError=0
$myArray=@( Import-Csv .CSVDHCP_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 '.Outputdhcp_failed.txt'
 $test | Add-Content '.Outputdhcp_failed.txt'
 Write-Output ""
Write-Output ""
 Write-Output "------------------------------------------------"
pause 

我想在我的 txt 中输出所有未通过 try-catch 测试的服务器!

由 bluuf 解决 - 谢谢!

只需要在我的捕获中添加 -append

catch{
  Write-host "Server not responding "  $DHCPSRV -BackgroundColor red -ForegroundColor White 
 $myerror=$error+1 
 $DHCPSRV | out-file '.pathfile.txt' -append   
   }   

还在脚本开头添加了clear-content '.pathfile.txt',因此每次启动文件时都会清除我的文件!

最新更新