Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 将测试连接转换为布尔值_Powershell_Ping - Fatal编程技术网

Powershell 将测试连接转换为布尔值

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一样 另一

我使用的是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一样

另一方面,如果我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