1

简短版:为什么运行时Test-Connection只提供一个结果-AsJob


详细版本:

Test-Connection(ping!) 命令在 Powershell 中运行(以管理员身份运行)时,它使用参数的默认4Count。这给了我预期的结果(为清楚起见,删除了一些不相关的数据):

PS C:\Windows\system32> Test-Connection www.stackoverflow.com

Destination     IPV4Address      IPV6Address   Bytes    Time(ms) 
-----------     -----------      -----------   -----    -------- 
www.stackove... 64.34.119.12     {}            32       117      
www.stackove... 64.34.119.12     {}            32       113      
www.stackove... 64.34.119.12     {}            32       111      
www.stackove... 64.34.119.12     {}            32       113     

但是,当我使用-AsJob标志运行它时,似乎(运行时Receive-Job,等待几秒钟后)Count只有 1,但我希望它是 4,并获得与上述类似的结果。相反,我得到了这个:

PS C:\Windows\system32> Test-Connection www.stackoverflow.com -AsJob

Id         Name            State      HasMoreData     Location     Command        
--         ----            -----      -----------     --------     -------        
1          Job1            Running    False           .            Test-Connection

PS C:\Windows\system32> Receive-Job 1

Destination     IPV4Address      IPV6Address   Bytes    Time(ms) 
-----------     -----------      -----------   -----    -------- 
www.stackove... 64.34.119.12     {}            32       113  

AsJob变体始终返回一行,即使您为 提供特定值也是如此Count

我的 Google-fu 和Get-Help-fu似乎还不够。有人可以解释一下这里发生了什么,最好用一些指针自己如何以及在哪里找到这些信息(例如,哪些帮助文件或来源解释了这种行为)?

4

1 回答 1

3

可能是一个错误。在 v3 中,您会返回 4 个 ping。

于 2012-06-19T12:31:01.360 回答