Send-Ping Cmdlet
Parameters Output Objects Config Settings
The Send-Ping component encapsulates ICMP ECHO functionality, used to check whether there is a communications link between two computers.
Syntax
Send-Ping [parameters]
Remarks
This cmdlet will send an ICMP echo request packet to the remote host indicated by Server. The results of the ping will be returned in a PingResponse object.
The cmdlet operates synchronously by default (waits for a response before returning control to the caller), however, the cmdlet may also operate asynchronously (return control immediately), by setting Timeout to 0.
The cmdlets support pipeline input for some of their parameters. Prebuilding an object and piping it to the cmdlet is very useful, but should be used with caution to prevent security conflicts. Steps have been taken to decrease the risk of a possibly accidental pipe to the cmdlet, for instance, the Credential parameter cannot be piped to the cmdlet and must be specified manually.
# send a ping
send-ping -server microsoft.com
# send 5 pings
send-ping -server nsoftware.com -count 5
Parameter List
The following is the full list of the parameters of the cmdlet with short descriptions. Click on the links for further details.
LogFile | The location of a file to which debug information is written. |
Config | Specifies one or more configuration settings. |
Count | The number of packets to send to the remote host. |
LocalIP | The IP address of the local interface to use. |
LogFile | The location of a file to which debug information is written. |
PacketSize | The size of the packet to be sent. |
Server | The address of the Server. |
Timeout | The maximum time allowed for the operation. |
TimeToLive | The time to live (TTL) value for the ICMP packets sent by the component. |
TypeOfService | The type of the ICMP message sent as a ping request. |
Output Objects
The following is the full list of the output objects returned by the cmdlet with short descriptions. Click on the links for further details.
PingResponse | Object returned in response to a Ping request. |
Config Settings
The following is a list of config settings for the cmdlet with short descriptions. Click on the links for further details.
DelayHostResolution | Whether the hostname is resolved when RemoteHost is set. |
TimeoutInMilliseconds | The timeout is treated as milliseconds. |
DelayHostResolution | Whether the hostname is resolved when RemoteHost is set. |
DontFragment | Whether the DontFragment control flag is set. |
IcmpDllTimeout | The timeout for the component when using the icmp.dll. |
MaxMessageSize | The maximum length of the messages that can be received. |
MulticastTTL | The time to live (TTL) value for multicast ICMP packets sent by the component. |
ReceiveAllMode | Enables a socket to receive all IPv4 or IPv6 packets on the network. |
TimeoutInMilliseconds | The timeout is treated as milliseconds. |
UseConnection | Determines whether to use a connected socket. |
UseICMPDLL | Use the icmp.dll included on Windows Systems. |
UseIPHLPDLL | Use the iphlpapi.dll included on Windows Systems. |
UseIPv6 | Whether to use IPv6. |
AbsoluteTimeout | Determines whether timeouts are inactivity timeouts or absolute timeouts. |
FirewallData | Used to send extra data to the firewall. |
InBufferSize | The size in bytes of the incoming queue of the socket. |
OutBufferSize | The size in bytes of the outgoing queue of the socket. |
BuildInfo | Information about the product's build. |
CodePage | The system code page used for Unicode to Multibyte translations. |
LicenseInfo | Information about the current license. |
MaskSensitive | Whether sensitive data is masked in log messages. |
UseInternalSecurityAPI | Tells the component whether or not to use the system security libraries or an internal implementation. |
LogFile Parameter (Send-Ping Cmdlet)
The location of a file to which debug information is written.
Syntax
Send-Ping -LogFile string
Remarks
When specified, the cmdlet will log debug information to the file. If the file exists, the information will be appended.Default Value
null
Config Property (Send-Ping Cmdlet)
Specifies one or more configuration settings.
Syntax
Send-Ping -Config string[]
Remarks
The Config parameter takes one or more name-value pairs that represent the name of the configuration setting and value, i.e.: -config "Name=Value"
Default Value
null
Count Property (Send-Ping Cmdlet)
The number of packets to send to the remote host.
Syntax
Send-Ping -Count int
Remarks
If this parameter is set to -1 the cmdlet will continue to send ping packets until interrupted.
Default Value
1
LocalIP Property (Send-Ping Cmdlet)
The IP address of the local interface to use.
Syntax
Send-Ping -LocalIP string
Remarks
This parameter is useful when the cmdlet is running on a machine that has more than one network interface (each with its own IP address and network access privileges).
Default Value
""
Parameter Alias
LocalAddress
LogFile Property (Send-Ping Cmdlet)
The location of a file to which debug information is written.
Syntax
Send-Ping -LogFile string
Remarks
When specified, the cmdlet will log debug information to the file. If the file exists, the information will be appended.
Default Value
""
PacketSize Property (Send-Ping Cmdlet)
The size of the packet to be sent.
Syntax
Send-Ping -PacketSize int
Remarks
PacketSize allows you to control the size of the data packet sent. The default packet size is 64 bytes, with a minimum of 8 bytes (4 bytes of the ICMP header + ECHO identifier).
Default Value
64
Server Property (Send-Ping Cmdlet)
The address of the Server.
Syntax
Send-Ping -Server string
Remarks
The cmdlet requires a server address to be provided. Either an IP address or the server host name can be provided.
Default Value
""
Parameter Position
0
This is a required parameter.
Timeout Property (Send-Ping Cmdlet)
The maximum time allowed for the operation.
Syntax
Send-Ping -Timeout int
Remarks
After the specified interval in seconds, the cmdlet will throw a Timeout error if the operation is not completed.
Default Value
10
TimeToLive Property (Send-Ping Cmdlet)
The time to live (TTL) value for the ICMP packets sent by the component.
Syntax
Send-Ping -TimeToLive int
Remarks
The Time-to-Live (TTL) field of the ICMP packet is a counter limiting the lifetime of a packet.
Each router (or other module) that handles a packet decrements the TTL field by at least one or more if it holds the packet for more than one second, thus the TTL is effectively a hop count limit on how far a datagram can propagate through the Internet. When the TTL is reduced to zero (or less), the packet is discarded.
If TimeToLive is set to 0, then the default TTL value of the underlying TCP/IP subsystem will be used.
Default Value
0
Parameter Alias
TTL
TypeOfService Property (Send-Ping Cmdlet)
The type of the ICMP message sent as a ping request.
Syntax
Send-Ping -TypeOfService int
Remarks
The default value is 8 (ECHO REQUEST).
Default Value
8
PingResponse Output Object (Send-Ping Cmdlet)
Object returned in response to a Ping request.
Syntax
Object PingResponse {string Source;
string Status;
int Time;
}
Remarks
The result of a ping is indicated by the following parameters:
Source | The address of the host responding to the PING (ICMP ECHO) request. This may or may not be the host used in Server. |
Status | Status is set to "OK" for normal operation, or it contains an error string such as "Network unreachable", "Host unreachable", etc. |
Time | Time elapsed between sending the original packet and the remote host reply. The time value is expressed in milliseconds. The lowest resolution available depends on the resolution of the clock on the host system (normally between 10ms and 20ms). |
Config Settings (Send-Ping Cmdlet)
The cmdlet accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the cmdlet, access to these internal properties is provided through the Config method.Ping Config Settings
The default value is false for the default library and true for the Async library. The default value is false.
ICMP Config Settings
The default value is false for the default library and true for the Async library. The default value is false.
The default value is False.
The default value for IcmpDllTimeout is 60 seconds.
Note: This configuration setting is valid only when UseICMPDLL is set to True.
Each router (or other module) that handles a packet decrements the TTL field by one or more if it holds the packet for more than one second. Thus, the TTL is effectively a hop count limit on how far a datagram can propagate through the internet. When the TTL is reduced to zero (or less), the packet is discarded.
By default, the default TTL value of the underlying Transmission Control Protocol (TCP)/IP subsystem will be used.
Value | Description |
-1 (default) | The socket option is left unspecified. |
0 | Do not receive all network traffic. |
1 | Receive all network traffic. This enables the promiscuous mode on the network interface card (NIC). On a LAN segment with a network hub, a NIC that supports the promiscuous mode will capture all IPv4 or IPv6 traffic on the LAN, including traffic between other computers on the same LAN segment. |
2 | Receive only socket-level network traffic (this feature may not be implemented by your Windows installation). |
3 | Receive only IP-level network traffic. This option does not enable the promiscuous mode on the NIC. This option affects packet processing only at the IP level. The NIC still receives only those packets directed to its configured unicast and multicast addresses. A socket with this option enabled, however, not only will receive packets directed to specific IP addresses, but also will receive all the IPv4 or IPv6 packets the NIC receives. |
Note: This setting is valid only when UseICMPDLL is set to True.
The default value for this setting is False.
Note: If both this and UseICMPDLL are enabled, the iphlpapi.dll will take precedence.
0 | IPv4 Only |
1 | IPv6 Only |
2 | IPv6 with IPv4 fallback |
Socket Config Settings
Note: This option is not valid for UDP ports.
Some TCP/IP implementations do not support variable buffer sizes. If that is the case, when the cmdlet is activated the InBufferSize reverts to its defined size. The same happens if you attempt to make it too large or too small.
Some TCP/IP implementations do not support variable buffer sizes. If that is the case, when the cmdlet is activated the OutBufferSize reverts to its defined size. The same happens if you attempt to make it too large or too small.
Base Config Settings
The following is a list of valid code page identifiers:
Identifier | Name |
037 | IBM EBCDIC - U.S./Canada |
437 | OEM - United States |
500 | IBM EBCDIC - International |
708 | Arabic - ASMO 708 |
709 | Arabic - ASMO 449+, BCON V4 |
710 | Arabic - Transparent Arabic |
720 | Arabic - Transparent ASMO |
737 | OEM - Greek (formerly 437G) |
775 | OEM - Baltic |
850 | OEM - Multilingual Latin I |
852 | OEM - Latin II |
855 | OEM - Cyrillic (primarily Russian) |
857 | OEM - Turkish |
858 | OEM - Multilingual Latin I + Euro symbol |
860 | OEM - Portuguese |
861 | OEM - Icelandic |
862 | OEM - Hebrew |
863 | OEM - Canadian-French |
864 | OEM - Arabic |
865 | OEM - Nordic |
866 | OEM - Russian |
869 | OEM - Modern Greek |
870 | IBM EBCDIC - Multilingual/ROECE (Latin-2) |
874 | ANSI/OEM - Thai (same as 28605, ISO 8859-15) |
875 | IBM EBCDIC - Modern Greek |
932 | ANSI/OEM - Japanese, Shift-JIS |
936 | ANSI/OEM - Simplified Chinese (PRC, Singapore) |
949 | ANSI/OEM - Korean (Unified Hangul Code) |
950 | ANSI/OEM - Traditional Chinese (Taiwan; Hong Kong SAR, PRC) |
1026 | IBM EBCDIC - Turkish (Latin-5) |
1047 | IBM EBCDIC - Latin 1/Open System |
1140 | IBM EBCDIC - U.S./Canada (037 + Euro symbol) |
1141 | IBM EBCDIC - Germany (20273 + Euro symbol) |
1142 | IBM EBCDIC - Denmark/Norway (20277 + Euro symbol) |
1143 | IBM EBCDIC - Finland/Sweden (20278 + Euro symbol) |
1144 | IBM EBCDIC - Italy (20280 + Euro symbol) |
1145 | IBM EBCDIC - Latin America/Spain (20284 + Euro symbol) |
1146 | IBM EBCDIC - United Kingdom (20285 + Euro symbol) |
1147 | IBM EBCDIC - France (20297 + Euro symbol) |
1148 | IBM EBCDIC - International (500 + Euro symbol) |
1149 | IBM EBCDIC - Icelandic (20871 + Euro symbol) |
1200 | Unicode UCS-2 Little-Endian (BMP of ISO 10646) |
1201 | Unicode UCS-2 Big-Endian |
1250 | ANSI - Central European |
1251 | ANSI - Cyrillic |
1252 | ANSI - Latin I |
1253 | ANSI - Greek |
1254 | ANSI - Turkish |
1255 | ANSI - Hebrew |
1256 | ANSI - Arabic |
1257 | ANSI - Baltic |
1258 | ANSI/OEM - Vietnamese |
1361 | Korean (Johab) |
10000 | MAC - Roman |
10001 | MAC - Japanese |
10002 | MAC - Traditional Chinese (Big5) |
10003 | MAC - Korean |
10004 | MAC - Arabic |
10005 | MAC - Hebrew |
10006 | MAC - Greek I |
10007 | MAC - Cyrillic |
10008 | MAC - Simplified Chinese (GB 2312) |
10010 | MAC - Romania |
10017 | MAC - Ukraine |
10021 | MAC - Thai |
10029 | MAC - Latin II |
10079 | MAC - Icelandic |
10081 | MAC - Turkish |
10082 | MAC - Croatia |
12000 | Unicode UCS-4 Little-Endian |
12001 | Unicode UCS-4 Big-Endian |
20000 | CNS - Taiwan |
20001 | TCA - Taiwan |
20002 | Eten - Taiwan |
20003 | IBM5550 - Taiwan |
20004 | TeleText - Taiwan |
20005 | Wang - Taiwan |
20105 | IA5 IRV International Alphabet No. 5 (7-bit) |
20106 | IA5 German (7-bit) |
20107 | IA5 Swedish (7-bit) |
20108 | IA5 Norwegian (7-bit) |
20127 | US-ASCII (7-bit) |
20261 | T.61 |
20269 | ISO 6937 Non-Spacing Accent |
20273 | IBM EBCDIC - Germany |
20277 | IBM EBCDIC - Denmark/Norway |
20278 | IBM EBCDIC - Finland/Sweden |
20280 | IBM EBCDIC - Italy |
20284 | IBM EBCDIC - Latin America/Spain |
20285 | IBM EBCDIC - United Kingdom |
20290 | IBM EBCDIC - Japanese Katakana Extended |
20297 | IBM EBCDIC - France |
20420 | IBM EBCDIC - Arabic |
20423 | IBM EBCDIC - Greek |
20424 | IBM EBCDIC - Hebrew |
20833 | IBM EBCDIC - Korean Extended |
20838 | IBM EBCDIC - Thai |
20866 | Russian - KOI8-R |
20871 | IBM EBCDIC - Icelandic |
20880 | IBM EBCDIC - Cyrillic (Russian) |
20905 | IBM EBCDIC - Turkish |
20924 | IBM EBCDIC - Latin-1/Open System (1047 + Euro symbol) |
20932 | JIS X 0208-1990 & 0121-1990 |
20936 | Simplified Chinese (GB2312) |
21025 | IBM EBCDIC - Cyrillic (Serbian, Bulgarian) |
21027 | Extended Alpha Lowercase |
21866 | Ukrainian (KOI8-U) |
28591 | ISO 8859-1 Latin I |
28592 | ISO 8859-2 Central Europe |
28593 | ISO 8859-3 Latin 3 |
28594 | ISO 8859-4 Baltic |
28595 | ISO 8859-5 Cyrillic |
28596 | ISO 8859-6 Arabic |
28597 | ISO 8859-7 Greek |
28598 | ISO 8859-8 Hebrew |
28599 | ISO 8859-9 Latin 5 |
28605 | ISO 8859-15 Latin 9 |
29001 | Europa 3 |
38598 | ISO 8859-8 Hebrew |
50220 | ISO 2022 Japanese with no halfwidth Katakana |
50221 | ISO 2022 Japanese with halfwidth Katakana |
50222 | ISO 2022 Japanese JIS X 0201-1989 |
50225 | ISO 2022 Korean |
50227 | ISO 2022 Simplified Chinese |
50229 | ISO 2022 Traditional Chinese |
50930 | Japanese (Katakana) Extended |
50931 | US/Canada and Japanese |
50933 | Korean Extended and Korean |
50935 | Simplified Chinese Extended and Simplified Chinese |
50936 | Simplified Chinese |
50937 | US/Canada and Traditional Chinese |
50939 | Japanese (Latin) Extended and Japanese |
51932 | EUC - Japanese |
51936 | EUC - Simplified Chinese |
51949 | EUC - Korean |
51950 | EUC - Traditional Chinese |
52936 | HZ-GB2312 Simplified Chinese |
54936 | Windows XP: GB18030 Simplified Chinese (4 Byte) |
57002 | ISCII Devanagari |
57003 | ISCII Bengali |
57004 | ISCII Tamil |
57005 | ISCII Telugu |
57006 | ISCII Assamese |
57007 | ISCII Oriya |
57008 | ISCII Kannada |
57009 | ISCII Malayalam |
57010 | ISCII Gujarati |
57011 | ISCII Punjabi |
65000 | Unicode UTF-7 |
65001 | Unicode UTF-8 |
Identifier | Name |
1 | ASCII |
2 | NEXTSTEP |
3 | JapaneseEUC |
4 | UTF8 |
5 | ISOLatin1 |
6 | Symbol |
7 | NonLossyASCII |
8 | ShiftJIS |
9 | ISOLatin2 |
10 | Unicode |
11 | WindowsCP1251 |
12 | WindowsCP1252 |
13 | WindowsCP1253 |
14 | WindowsCP1254 |
15 | WindowsCP1250 |
21 | ISO2022JP |
30 | MacOSRoman |
10 | UTF16String |
0x90000100 | UTF16BigEndian |
0x94000100 | UTF16LittleEndian |
0x8c000100 | UTF32String |
0x98000100 | UTF32BigEndian |
0x9c000100 | UTF32LittleEndian |
65536 | Proprietary |
- Product: The product the license is for.
- Product Key: The key the license was generated from.
- License Source: Where the license was found (e.g., RuntimeLicense, License File).
- License Type: The type of license installed (e.g., Royalty Free, Single Server).
- Last Valid Build: The last valid build number for which the license will work.
This setting only works on these cmdlets: AS3Receiver, AS3Sender, Atom, Client(3DS), FTP, FTPServer, IMAP, OFTPClient, SSHClient, SCP, Server(3DS), Sexec, SFTP, SFTPServer, SSHServer, TCPClient, TCPServer.
Setting this configuration setting to true tells the cmdlet to use the internal implementation instead of using the system security libraries.
On Windows, this setting is set to false by default. On Linux/macOS, this setting is set to true by default.
If using the .NET Standard Library, this setting will be true on all platforms. The .NET Standard library does not support using the system security libraries.
Note: This setting is static. The value set is applicable to all cmdlets used in the application.
When this value is set, the product's system dynamic link library (DLL) is no longer required as a reference, as all unmanaged code is stored in that file.