Send-IM Cmdlet
Parameters Output Objects Configuration Settings
The Send-IM cmdlet is used to send messages using the XMPP (Jabber) protocol.
Syntax
Send-IM [parameters]
Remarks
This cmdlet implements a standard Extensible Messaging and Presence Protocol (XMPP) client, as specified in RFC 3920 and RFC 3921. In addition, it also includes the added option of SSL security.
To send an instant message with this cmdlet, set Server to the IM server you wish to use, Credential to your login information, Message to the text of the message you wish to send, and Recipient to the user name of the person you're sending the message to (in the format user@domain).
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 an IM
send-im -server myserver -credential $cred -recipient mybuddy@myserver -message
"Hi!"
Connection Handling
This cmdlet supports persistent connections through the Connection parameter. To establish a new IM connection, use the Connect-IM cmdlet. To close the connection, use the Disconnect-IM cmdlet.
Parameter List
The following is the full list of the parameters of the cmdlet with short descriptions. Click on the links for further details.
Connection | An already established connection. |
LogFile | The location of a file to which debug information is written. |
AuthDomain | The domain under which the user will be authenticated. |
AuthenticationMechanism | Controls how the cmdlet authenticates itself with the XMPP Server . |
CertPassword | The password to the certificate store. |
CertStore | The name of the certificate store for the client certificate. |
CertStoreType | The type of certificate store for the client certificate. |
CertSubject | The subject of the certificate used for client authentication. |
Config | Specifies one or more configuration settings. |
Credential | The PSCredential object to use for user/password authentication. |
FirewallHost | Name or IP address of firewall. |
FirewallPassword | A password if authentication is to be used when connecting through the firewall. |
FirewallPort | The port of the firewall to which to connect. |
FirewallType | Determines the type of firewall to connect through. |
FirewallUser | A user name if authentication is to be used connecting through a firewall. |
Force | Forces the cmdlet to accept the default behavior instead of querying the user. |
LocalIP | The IP address of the local interface to use. |
LogFile | The location of a file to which debug information is written. |
Message | The full text of the message to send (without headers). |
Password | The password to use for authentication. |
Port | The TCP port in the remote host to which to connect. |
Recipient | The recipient of the instant message. |
Server | The address of the Server. |
ServerDomain | The XMPP server's domain. |
SSL | Determines how the cmdlet starts SSL negotiation. |
SSLAccept | The encoded public key of the certificate which is to be trusted explicitly. |
Timeout | The maximum time allowed for the operation. |
User | The username to use for authentication. |
UserDomain | Gets or sets the domain value used for Jabber IDs. |
WaitForError | Specifies how many seconds to wait for an error during delivery. |
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.
IMDelivery | Object which indicates whether the message was received. |
Configuration Settings
The following is a list of configuration settings for the cmdlet with short descriptions. Click on the links for further details.
AccessToken | The OAuth access token used for authentication. |
ClientId | The OAuth client Id used for authentication. |
MessageXML | Returns the last root-level element received by the component. |
ParseHTML | Tells XMPP whether or not to parse MessageHTML when it's set. |
RetrieveRoster | Whether to automatically retrieve the roster when logging in. |
SendSubscriptionResponse | Determines whether a response will be sent to a Subscription Request. |
UseCompression | Specified whether or not stream compression is used. |
Overwrite | Specifies whether or not to overwrite received files. |
BlockSize | Specifies the block size for file transfers. |
ConnectionTimeout | Sets a separate timeout value for establishing a connection. |
FirewallAutoDetect | Tells the cmdlet whether or not to automatically detect and use firewall system settings, if available. |
FirewallHost | Name or IP address of firewall (optional). |
FirewallPassword | Password to be used if authentication is to be used when connecting through the firewall. |
FirewallPort | The TCP port for the FirewallHost;. |
FirewallType | Determines the type of firewall to connect through. |
FirewallUser | A user name if authentication is to be used connecting through a firewall. |
KeepAliveTime | The inactivity time in milliseconds before a TCP keep-alive packet is sent. |
KeepAliveInterval | The retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received. |
Linger | When set to True, connections are terminated gracefully. |
LingerTime | Time in seconds to have the connection linger. |
LocalHost | The name of the local host through which connections are initiated or accepted. |
LocalPort | The port in the local host where the cmdlet binds. |
MaxLineLength | The maximum amount of data to accumulate when no EOL is found. |
MaxTransferRate | The transfer rate limit in bytes per second. |
ProxyExceptionsList | A semicolon separated list of hosts and IPs to bypass when using a proxy. |
TCPKeepAlive | Determines whether or not the keep alive socket option is enabled. |
UseIPv6 | Whether to use IPv6. |
TcpNoDelay | Whether or not to delay when sending packets. |
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. |
UseBackgroundThread | Whether threads created by the cmdlet are background threads. |
UseInternalSecurityAPI | Tells the cmdlet whether or not to use the system security libraries or an internal implementation. |