Troubleshooting Test-Connection

I was contacted by a friend who was having some issues with Test-Connection  when using TimeToLive


Test-Connection -ComputerName -Count 1 -TimeToLive 3

Test-Connection : Testing connection to computer ‘‘ failed: Problem with some part of the filterspec or providerspecific buffer in general

At line:1 char:1

+ Test-Connection -ComputerName  -TimeToLive 3

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : ResourceUnavailable: ( [Test-Connection], PingException

    + FullyQualifiedErrorId : TestConnectionException,Microsoft.PowerShell.Commands.TestConnectionCommand

So I fired fired up Reflector to see what Test-Connection actually does, and it is using WMI and the  Win32_PingStatus class, I have not been able to reproduce the error calling the class directly, so I was wondering where the problem could be.

So I did a  trace command to see if that would give me anything, one thing I noticed in the return value there was a value called 11013, shortly thereafter this was written in the trace.

MemberResolution Information: 0 :     "writeErrorStream" NOT present in type table.

MemberResolution Information: 0 :     Adapted member: not found.

This made me think that there might be an error in converting the Errorcode from its numerical value into text

So I  looked up the errorcode from ICMP_ECHO_REPLY32 structure, which has an error code called 11013 which is:


The time to live (TTL) expired in transit.

Which seems fair because TTL is relatively low, then I looked a bit deeper to try and find what 11013 also could mean

In  Winsock Error Codes I found:

QoS bad object.

A problem was encountered with some part of the filterspec or the provider-specific buffer in general.

Then I did some additional testing.

If you do a Trace-Command on the example with TimeToLive = 11 which gives the error: Error due to lack of ressources, you will see that the error code is 11010 which corresponds to:

QoS admission error.

A QoS error occurred due to lack of resources.

If you look at the WMI Win32_PingStatus error codes 11010 corresponds to:


The request timed out.

Which you can confirm using ping from the command prompt: