我正在使用以下代码来获取列表中计算机的状态和IP地址:
$csv = Get-Content TEST_MACHINES.csv
foreach ($computer in $csv)
{
try
{
Test-Connection $computer -Count 1 | Select-Object Address, IPV4Address
}
catch [System.Net.NetworkInformation.PingException]
{
'$computer is offline.'
}
}
Run Code Online (Sandbox Code Playgroud)
目的是获得每台机器的IP地址,如果机器离线,则打印“ $ computer offline”。
但是,它不会显示错误并显示消息,而是显示整个Test-Connection错误。如何获取仅在出现错误时显示我的消息的信息?
在中Try/Catch,Catch仅在终止错误时调用该块。添加-ErrorAction Stop以Test-Connection强制终止错误,因此该Catch块将运行:
Test-Connection $computer -Count 1 -ErrorAction Stop | Select-Object Address, IPV4Address
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9206 次 |
| 最近记录: |