Powershell 将测试连接转换为布尔值
我使用的是Powershell版本2,因此无法使用此处解释的Ping主机 我可以使用测试连接,即Powershell 将测试连接转换为布尔值,powershell,ping,Powershell,Ping,我使用的是Powershell版本2,因此无法使用此处解释的Ping主机 我可以使用测试连接,即 Test-Connection *ip_address* -count 1 我正试图将其转换为布尔值,但它不起作用 if ($(test-connection server -count 1).received -eq 1) { write-host "blah" } else {write-host "blah blah"} 我能够ping的服务器输出“废话”,就好像我不能ping一样 另一
Test-Connection *ip_address* -count 1
我正试图将其转换为布尔值,但它不起作用
if ($(test-connection server -count 1).received -eq 1) { write-host "blah" } else {write-host "blah blah"}
我能够ping的服务器输出“废话”,就好像我不能ping一样
另一方面,如果我ping一个无法访问的服务器,我会收到错误消息
测试连接:测试与计算机服务器的连接失败:
由于第1行缺少资源而出错字符:22
+如果($(测试连接接收的不是测试连接返回的对象的属性,那么
$(测试连接服务器-计数1)。接收的
计算结果为空。您想得太多了;只需使用如果(测试连接-计数1)
。若要抑制错误消息,请使用-ErrorAction SilentlyContinue,或将命令管道传输到Out Null。以下任一操作都有效:
if (Test-Connection server -Count 1 -ErrorAction SilentlyContinue) { write-host "blah" } else {write-host "blah blah"}
或
尝试
-Quiet
开关:
Test-Connection server -Count 1 -Quiet
-Quiet [<SwitchParameter>]
Suppresses all errors and returns $True if any pings succeeded and $False if all failed.
Required? false
Position? named
Default value False
Accept pipeline input? false
Accept wildcard characters? false
测试连接服务器-计数1-安静
-安静的
抑制所有错误,如果任何ping成功,则返回$True;如果所有ping失败,则返回$False。
必须?错
职位?姓名
默认值False
接受管道输入?false
接受通配符?false
我们在生产中使用的更好的单层衬里
function test_connection_ipv4($ipv4) { if (test-connection $ipv4 -Count 1 -ErrorAction SilentlyContinue ) {$true} else {$false} }
用法示例1:
test_connection_ipv4 10.xx.xxx.50
True
用法示例2:
test_connection_ipv4 10.xx.xxx.51
False
谢谢你的帮助!我知道,对吧?这正是这个交换机设计的目的,一直到抑制错误。我遇到了这个问题,正在寻找ping/test connection/test netconnection的快速方法。我决定使用以下脚本:
test_connection_ipv4 10.xx.xxx.51
False