Get-RSS Cmdlet
Parameters Output Objects Config Settings
The Get-RSS component is used to retrieve and parse RSS syndicated content.
Syntax
Get-RSS [parameters]
Remarks
This cmdlet implements a standard RSS newsreader with extended capabilities as specified at http://backend.userland.com/rss2.
To parse a feed, set the Feed parameter to the URL for the RSS feed. Each item parsed out of the Feed will be returned in an Item object. If required, authentication is provided with the Credential parameter.
By default, information will be returned for each item in the feed. If you would like to retrieve the information for the channel instead, use the Channel switch to retrieve a single Channel object.
You can also use the Property parameter to return a specific property of an item or the channel element. If Property is set, a single Property object will be returned.
To use SSL encryption to retrieve the Feed, set SSL to True.
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.
# get the items of a feed
get-rss -feed http://www.nsoftware.com/rss/ |where {[datetime]$_.PubDate -gt $(Get-Date -month 12 -day 31 -year 2006)}
# get the channel element of a feed
get-rss -feed http://www.nsoftware.com/rss/
# get the description of the first item in the feed
get-rss -feed http://www.nsoftware.com/rss/ -property item[1]/description
# get the channel title
get-rss -feed http://www.nsoftware.com/rss/ -property channel/title
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. |
AuthenticationMode | The authentication mode to use when presenting login credentials to the 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. |
Channel | Defines whether to get the channel information from the feed. |
Config | Specifies one or more configuration settings. |
Credential | The PSCredential object to use for user/password authentication. |
Feed | The URL of the RSS feed to fetch. |
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 component 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. |
Password | The password to use for authentication. |
Property | Get the value of a specific RSS feed property. |
ProxyAutoDetect | Specifies if proxy information is automatically detected. |
ProxyPassword | The password to authenticate with. |
ProxyPort | The TCP port of the Proxy . |
ProxyServer | Name or IP address of a proxy server (optional). |
ProxyUser | The User value to authenticate with. |
RawData | Whether to return the XML of the feed without any parsing. |
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. |
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.
Channel | If the Channel parameter is set, this object represents the channel information of the feed. |
Cookie | This object contains the name and value of an HTTP cookie. |
HTTP | This object contains the text of the downloaded web page. |
Item | Created for each Item parsed from the RSS feed. |
Property | Created for each Property found in the RSS feed. |
Config Settings
The following is a list of config settings for the cmdlet with short descriptions. Click on the links for further details.
ItemAdditionalData[i] | Additional data to be added to an RSS Feed item. |
ValueFormat | Format of data returned or set. |
AcceptEncoding | Used to tell the server which types of content encodings the client supports. |
AllowHTTPCompression | This property enables HTTP compression for receiving data. |
AllowHTTPFallback | Whether HTTP/2 connections are permitted to fallback to HTTP/1.1. |
Append | Whether to append data to LocalFile. |
Authorization | The Authorization string to be sent to the server. |
BytesTransferred | Contains the number of bytes transferred in the response data. |
ChunkSize | Specifies the chunk size in bytes when using chunked encoding. |
CompressHTTPRequest | Set to true to compress the body of a PUT or POST request. |
EncodeURL | If set to True the URL will be encoded by the component. |
FollowRedirects | Determines what happens when the server issues a redirect. |
GetOn302Redirect | If set to True the component will perform a GET on the new location. |
HTTP2HeadersWithoutIndexing | HTTP2 headers that should not update the dynamic header table with incremental indexing. |
HTTPVersion | The version of HTTP used by the component. |
IfModifiedSince | A date determining the maximum age of the desired document. |
KeepAlive | Determines whether the HTTP connection is closed after completion of the request. |
KerberosSPN | The Service Principal Name for the Kerberos Domain Controller. |
LogLevel | The level of detail that is logged. |
MaxRedirectAttempts | Limits the number of redirects that are followed in a request. |
NegotiatedHTTPVersion | The negotiated HTTP version. |
OtherHeaders | Other headers as determined by the user (optional). |
ProxyAuthorization | The authorization string to be sent to the proxy server. |
ProxyAuthScheme | The authorization scheme to be used for the proxy. |
ProxyPassword | A password if authentication is to be used for the proxy. |
ProxyPort | Port for the proxy server (default 80). |
ProxyServer | Name or IP address of a proxy server (optional). |
ProxyUser | A user name if authentication is to be used for the proxy. |
SentHeaders | The full set of headers as sent by the client. |
StatusCode | The status code of the last response from the server. |
StatusLine | The first line of the last response from the server. |
TransferredData | The contents of the last response from the server. |
TransferredDataLimit | The maximum number of incoming bytes to be stored by the component. |
TransferredHeaders | The full set of headers as received from the server. |
TransferredRequest | The full request as sent by the client. |
UseChunkedEncoding | Enables or Disables HTTP chunked encoding for transfers. |
UseIDNs | Whether to encode hostnames to internationalized domain names. |
UseProxyAutoConfigURL | Whether to use a Proxy auto-config file when attempting a connection. |
UserAgent | Information about the user agent (browser). |
ConnectionTimeout | Sets a separate timeout value for establishing a connection. |
FirewallAutoDetect | Tells the component 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. |
KeepAliveInterval | The retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received. |
KeepAliveTime | The inactivity time in milliseconds before a TCP keep-alive packet is sent. |
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 component 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. |
TcpNoDelay | Whether or not to delay when sending packets. |
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 (Get-RSS Cmdlet)
The location of a file to which debug information is written.
Syntax
Get-RSS -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
AuthenticationMode Property (Get-RSS Cmdlet)
The authentication mode to use when presenting login credentials to the server.
Syntax
Get-RSS -AuthenticationMode string
Remarks
This parameter allows the user to specify Basic, Digest or NTLM authentication.
Default Value
0
Parameter Alias
AuthMode
CertPassword Property (Get-RSS Cmdlet)
The password to the certificate store.
Syntax
Get-RSS -CertPassword string
Remarks
Specifies a password (if required) to access the specified certificate store.
Default Value
""
Parameter Alias
CertificatePassword
CertStore Property (Get-RSS Cmdlet)
The name of the certificate store for the client certificate.
Syntax
Get-RSS -CertStore string
Remarks
The CertStoreType parameter specifies the type of the certificate store specified by CertStore. If the store is password protected, specify the password in CertPassword.
CertStore is used in conjunction with the CertSubject parameter in order to specify client certificates. If CertStore has a value, and CertSubject has been set, a search for a certificate is initiated during logon. Please refer to the CertSubject parameter for details.
Designations of certificate stores are platform-dependent.
The following are designations of the most common User and Machine certificate stores in Windows:
MY | A certificate store holding personal certificates with their associated private keys. |
CA | Certifying authority certificates. |
ROOT | Root certificates. |
SPC | Software publisher certificates. |
When the certificate store type is PFXFile, this parameter must be set to the name of the file.
Default Value
"MY"
Parameter Alias
CertificateStore
CertStoreType Property (Get-RSS Cmdlet)
The type of certificate store for the client certificate.
Syntax
Get-RSS -CertStoreType string
Remarks
This parameter can take one of the following values:
User (default) | This specifies that the certificate store is owned by the current user (these are the user's registry certificate stores such as MY, CA, etc.). |
Machine | The certificate store is a machine store. |
PFXFile | The certificate store is the name of a PFX (PKCS12) file containing certificates. |
PFXBlob | The certificate store is a string (base64 encoded) representing a certificate store in PFX (PKCS12) format. You should use this option if storing a pfx file's content in a shell variable. |
PEMKeyFile | The certificate store is the name of a file that contains a PEM encoded certificate and private key. |
PEMKeyBlob | The certificate store is a string that contains a PEM encoded certificate and private key. |
P7BFile | The certificate store is the name of a file that contains P7B encoded certificates. |
SSHPublicKeyFile | The certificate store is the name of a file that contains an SSH-style public key. |
PPKFile | The certificate store is the name of a file that contains a PPK (PuTTY Private Key). |
PPKBlob | The certificate store is a string (binary) that contains a PPK (PuTTY Private Key). |
Default Value
0
CertSubject Property (Get-RSS Cmdlet)
The subject of the certificate used for client authentication.
Syntax
Get-RSS -CertSubject string
Remarks
During the user authentication phase of the logon process, the cmdlet will search the store specified in CertStore for a certificate that matches this parameter. If the store contains a private key for that certificate, it is used to verify the user's identity with the secure server.
When this parameter is set, a search is performed in the current certificate store certificate with matching subject.
If an exact match is not found, the store is searched for subjects containing the value of the parameter.
When setting the parameter to a partial subject, CN= should be omitted. For example, the following code would find the certificate with subject CN=Test Certificate, OU=People, C=US
Example (Searching with partial subject)
-certsubject "Test"
If a match is not found, the parameter is set to an empty string, and no certificate is selected.
The special value "*" picks a random certificate in the certificate store.
Default Value
"*"
Channel Property (Get-RSS Cmdlet)
Defines whether to get the channel information from the feed.
Syntax
Get-RSS -Channel SwitchParameter
Remarks
If Channel is set, the information of the channel is parsed and an Channel object is returned. If this parameter is set, the cmdlet will return only the channel info, otherwise item information is returned only.
Default Value
false
Parameter Alias
ChannelInfo
Config Property (Get-RSS Cmdlet)
Specifies one or more configuration settings.
Syntax
Get-RSS -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
Credential Property (Get-RSS Cmdlet)
The PSCredential object to use for user/password authentication.
Syntax
Get-RSS -Credential PSCredential
Remarks
Every cmdlet that supports user authentication will expose a Credential parameter. A PSCredential object should be specified for this parameter. Alternatively, the User and Password parameters can be set to represent the credential information.
If the cmdlet supports client key authentication it uses the password field of this object for the certificate's password. This setting is enabled by using public key authentication. Note: Due to security reasons, it is recommended that you use the Credential parameter rather than User and Password to specify the authentication information.
Default Value
null
Parameter Position
1
Parameter Alias
auth
Feed Property (Get-RSS Cmdlet)
The URL of the RSS feed to fetch.
Syntax
Get-RSS -Feed string
Remarks
Feed is the URL of the document to fetch using the HTTP GET method. The cmdlet will then attempt to parse the RSS feed, and the resulting document contents are delivered in one or more Item objects.
Default Value
""
Parameter Position
0
Parameter Alias
URL
This is a required parameter.
FirewallHost Property (Get-RSS Cmdlet)
Name or IP address of firewall.
Syntax
Get-RSS -FirewallHost string
Remarks
If a FirewallHost is given, requested connections will be authenticated through the specified firewall when connecting.
If the FirewallHost parameter is set to a Domain Name, a DNS request is initiated. Upon successful termination of the request, the FirewallHost parameter is set to the corresponding address. If the search is not successful, an error is returned.
Default Value
""
FirewallPassword Property (Get-RSS Cmdlet)
A password if authentication is to be used when connecting through the firewall.
Syntax
Get-RSS -FirewallPassword string
Remarks
If FirewallHost is specified, the FirewallUser and FirewallPassword properties are used to authenticate against the firewall.
Default Value
""
FirewallPort Property (Get-RSS Cmdlet)
The port of the firewall to which to connect.
Syntax
Get-RSS -FirewallPort int
Remarks
The TCP port for the FirewallHost. See the description of the FirewallHost parameter for details.
Note that the FirewallPort is set automatically when FirewallType is set to a valid value. See the description of the FirewallType parameter for details. Setting this parameter will overwrite the default settings for the firewall port as specified by FirewallType.
Default Value
0
FirewallType Property (Get-RSS Cmdlet)
Determines the type of firewall to connect through.
Syntax
Get-RSS -FirewallType string
Remarks
The applicable values are the following:
None | No firewall (default setting). |
Tunnel | Connect through a tunneling proxy. FirewallPort is set to 80. |
SOCKS4 | Connect through a SOCKS4 Proxy. FirewallPort is set to 1080. |
SOCKS5 | Connect through a SOCKS5 Proxy. FirewallPort is set to 1080. |
Default Value
0
FirewallUser Property (Get-RSS Cmdlet)
A user name if authentication is to be used connecting through a firewall.
Syntax
Get-RSS -FirewallUser string
Remarks
If FirewallHost is specified, the FirewallUser and FirewallPassword properties are used to authenticate against the firewall.
Default Value
""
Force Property (Get-RSS Cmdlet)
Forces the component to accept the default behavior instead of querying the user.
Syntax
Get-RSS -Force SwitchParameter
Remarks
The Force parameter is especially useful in a script environment where user interaction is not an option. Certain cmdlets that are SSH and SSL based will query the user if the security credentials of the certificate presented by the server are not met. Setting this parameter will force the cmdlet to accept the certificate of the server unconditionally.
Default Value
false
LocalIP Property (Get-RSS Cmdlet)
The IP address of the local interface to use.
Syntax
Get-RSS -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 (Get-RSS Cmdlet)
The location of a file to which debug information is written.
Syntax
Get-RSS -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
""
Password Property (Get-RSS Cmdlet)
The password to use for authentication.
Syntax
Get-RSS -Password string
Remarks
Every time User, or Password are set, the cmdlet will authenticate with the server. It is recommended that the Credential parameter is set instead of User/Password because of security reasons. If both Credential and this parameter is set, the Credential value is used.
Default Value
""
Property Property (Get-RSS Cmdlet)
Get the value of a specific RSS feed property.
Syntax
Get-RSS -Property string
Remarks
Property is intended for extending functionality of the RSS cmdlet. It will get the value for a specific field of this RSS feed. Property is the name of the property according to the following convention: root/element@attribute. The root field can be any of the four following values:
channel | This treats the channel as the root level, and element is any property of the channel. If the empty string ("") is supplied for the root field, the cmdlet will assume channel as the root. |
image | This treats the channel's image as the root level, and element is any property of an image. |
textInput | This treats the channel's textInput as the root level, and element is any property of an textInput. |
item[x] | This treats the channel's xth item as the root level where the indexer x must be between 1 and the total number of items. The field element is any property of an item. |
The element field can be any property of the root field, and attribute can be any property of that field. If an attribute is not supplied, the text portion of element will be returned. For example:
"item[5]/guid/@isPermaLink"
Note: in order to add non-standard fields (i.e. fields that are not defined in the RSS specification), element must be prefixed with a namespace that defines that field.
The results will be returned in one or more Property objects.
Default Value
""
ProxyAutoDetect Property (Get-RSS Cmdlet)
Specifies if proxy information is automatically detected.
Syntax
Get-RSS -ProxyAutoDetect SwitchParameter
Remarks
This parameter tells the cmdlet whether or not to automatically detect and use proxy system settings, if available. The default value is False.
Default Value
false
ProxyPassword Property (Get-RSS Cmdlet)
The password to authenticate with.
Syntax
Get-RSS -ProxyPassword string
Remarks
If authentication is required with the proxy server, the ProxyPassword parameter specifies the password.
Default Value
""
ProxyPort Property (Get-RSS Cmdlet)
The TCP port of the Proxy .
Syntax
Get-RSS -ProxyPort int
Remarks
By default this value is set to 80.
Default Value
80
ProxyServer Property (Get-RSS Cmdlet)
Name or IP address of a proxy server (optional).
Syntax
Get-RSS -ProxyServer string
Remarks
If a Proxy is given, then the HTTP request is sent to the proxy instead of the server specified in the URL.
If the Proxy parameter is set to a Domain Name, a DNS request is initiated and upon successful termination of the request, the Proxy parameter is set to the corresponding address. If the search is not successful, an error is returned.
Default Value
""
Parameter Alias
Proxy
ProxyUser Property (Get-RSS Cmdlet)
The User value to authenticate with.
Syntax
Get-RSS -ProxyUser string
Remarks
If authentication is required with the proxy server, the ProxyUser parameter specifies the username.
Default Value
""
RawData Property (Get-RSS Cmdlet)
Whether to return the XML of the feed without any parsing.
Syntax
Get-RSS -RawData SwitchParameter
Remarks
If this flag is set, the cmdlet will return the full (unparsed) XML feed. The cmdlet will return an HTTPObject output if this flag is set.
Default Value
false
Parameter Alias
RawXML
SSLAccept Property (Get-RSS Cmdlet)
The encoded public key of the certificate which is to be trusted explicitly.
Syntax
Get-RSS -SSLAccept string
Remarks
Ordinarily, the certificate presented by the server will be checked against the system certificate stores to see if the Certificate Authority is trusted, and if not, the cmdlet will prompt the user to accept the certificate. Setting this parameter will override the system settings and trust the certificate provided.
After each connection, regardless of whether or not the certificate was trusted, the cmdlet will store the certificate presented by the server in the $SSLServerCertificate session variable. This variable can be inspected to view details of the server's certificate.
If the Force parameter is set, the cmdlet will accept the server's certificate unconditionally.
In cases where the certificate presented by the server is not trusted, a prompt will be shown to the user. This prompt will allow the user to decide whether or not they would like to accept the certificate presented by the server.
There may be cases where you do not want a prompt to be displayed or would like to handle the response supplied directly within your script. This can be done by setting the $SSLAcceptPreference variable prior to running the cmdlet. The available values for this variable are:
None (default) | Maintains the default behavior. If the certificate is not trusted by default, the user will be prompted. |
Accept | Accepts the certificate without prompting the user, even if it is not trusted by default. |
Reject | Rejects the certificate without prompting the user only if it is not trusted by default. Thus if the certificate is found to be trusted or the Force parameter is set, the connection will still be accepted. |
Default Value
""
Parameter Alias
Accept
Timeout Property (Get-RSS Cmdlet)
The maximum time allowed for the operation.
Syntax
Get-RSS -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
User Property (Get-RSS Cmdlet)
The username to use for authentication.
Syntax
Get-RSS -User string
Remarks
Every time User and Password are set, the cmdlet will authenticate with the server. It is recommended that the Credential parameter is set instead of User/Password because of security reasons. If both Credential and this parameter is set, the Credential value is used.
Default Value
""
Channel Output Object (Get-RSS Cmdlet)
If the Channel parameter is set, this object represents the channel information of the feed.
Syntax
Object Channel {string Category;
string CategoryDomain;
string Copyright;
string Description;
string Docs;
string Language;
string LastBuildDate;
string Link;
string ManagingEditor;
string PubDate;
string Title;
string WebMaster;
}
Remarks
An Channel object is created when the Channel parameter is set. It contains a list of the channel information retrieved from the feed.
Cookie Output Object (Get-RSS Cmdlet)
This object contains the name and value of an HTTP cookie.
Syntax
Object Cookie {string Name;
string Value;
}
Remarks
After retrieving a URL, the cmdlet will return an CookieObject for every HTTP cookie returned by the server.
Name contains the name of the cookie.
Value contains the value of the cookie.
HTTP Output Object (Get-RSS Cmdlet)
This object contains the text of the downloaded web page.
Syntax
Object HTTP {string URL;
string Text;
int Time;
string[] CookieName;
string[] CookieValue;
string SSLServerCertEncoded;
}
Remarks
After retrieving a URL, the cmdlet will return an HTTPObject for every URL retrieved.
URL contains the URL that was retrieved.
Text contains the data transferred from the server to the client.
Time contains the time it took for the request to be completed.
SSLServerCertEncoded contains the base64 encoded server certificate.
If any cookies are returned, they can be accessed through the CookieName and CookieValue arrays.
Item Output Object (Get-RSS Cmdlet)
Created for each Item parsed from the RSS feed.
Syntax
Object Item {string Title;
string Author;
string Category;
string CategoryDomain;
string Comments;
string Description;
string GUID;
string Link;
string PubDate;
string Source;
string SourceURL;
}
Remarks
An Item object is created when the cmdlet's internal XML parser encounters an item while parsing the retrieved RSS feed. The parameters for each item include:
Parameter Name | Description |
ChannelDescription | Short text description of the channel contents of the current RSS feed. |
ChannelTitle | The title of the current RSS feed. Typically the title of the channel is similar to that of the web page where the RSS content is hosted. |
Title | The title or headline of the current item. |
Author | Email address of the current item's author. |
Category | The value of this field is a forward-slash-separated string that identifies a hierarchic location in a particular hierarchy. The conventions used to interpret an RSS item's category depend upon the processor. |
CategoryDomain | URL indicating the definition of the current item's category. |
Comments | URL location of the comments page for the current item. |
Description | This is the description of the content of the current item. |
GUID | This is the globally unique identifier for the current item. It is a string that uniquely identifies the item. Aggregators can use >GUID to determine whether or not an item is new. Aggregators should view this value as a string, but it is up to the source of the feed to guarantee its uniqueness. The value may be the URL link to the full text of the item in order to help guarantee that it is unique. |
Link | For headline or abstract items, this should be the location of the full text of the item. |
PubDate | The date of the current item's most recent publication. |
Source | This property is the name of the RSS channel in which the item was originally published, derived from the channel's title. |
SourceURL | URL location of the XML-version of the current item's source. |
Property Output Object (Get-RSS Cmdlet)
Created for each Property found in the RSS feed.
Syntax
Object Property {string Property;
string PropertyValue;
}
Remarks
This object is created when an XML tag matching the indicated Property is found in the retrieved document. Property contains the name of the queried property and PropertyValue contains its value.
Config Settings (Get-RSS 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.RSS Config Settings
Valid array indices are from 0 to Items.Count -1.
Note: This configuration setting is write-only and no validation is performed on the specified data.
The following values are possible:
0 (vfText) | Textual data. Any '<', '>', and '&' characters are escaped to '<', '>', and '&'. |
1 (vfXML) | XML data. No escaping is performed. |
HTTP Config Settings
When True, the cmdlet adds an Accept-Encoding header to the outgoing request. The value for this header can be controlled by the AcceptEncoding configuration setting. The default value for this header is "gzip, deflate".
The default value is True.
If set to True (default), the cmdlet will automatically use HTTP/1.1 if the server does not support HTTP/2. If set to False, the cmdlet throws an exception if the server does not support HTTP/2.
The default value is True.
This property is provided so that the HTTP cmdlet can be extended with other security schemes in addition to the authorization schemes already implemented by the cmdlet.
The AuthScheme property defines the authentication scheme used. In the case of HTTP Basic Authentication (default), every time User and Password are set, they are Base64 encoded, and the result is put in the Authorization property in the form "Basic [encoded-user-password]".
The default value is False.
If this property is set to 2 (Same Scheme), the new URL is retrieved automatically only if the URL Scheme is the same; otherwise, the cmdlet throws an exception.
Note: Following the HTTP specification, unless this option is set to 1 (Always), automatic redirects will be performed only for GET or HEAD requests. Other methods potentially could change the conditions of the initial request and create security vulnerabilities.
Furthermore, if either the new URL server or port are different from the existing one, User and Password are also reset to empty, unless this property is set to 1 (Always), in which case the same credentials are used to connect to the new server.
A Redirect event is fired for every URL the product is redirected to. In the case of automatic redirections, the Redirect event is a good place to set properties related to the new connection (e.g., new authentication parameters).
The default value is 0 (Never). In this case, redirects are never followed, and the cmdlet throws an exception instead.
Following are the valid options:
- 0 - Never
- 1 - Always
- 2 - Same Scheme
- "1.0"
- "1.1" (default)
- "2.0"
- "3.0"
When using HTTP/2 ("2.0"), additional restrictions apply. Please see the following notes for details.
HTTP/2 Notes
When using HTTP/2, a secure Secure Sockets Layer/Transport Layer Security (TLS/SSL) connection is required. Attempting to use a plaintext URL with HTTP/2 will result in an error.
If the server does not support HTTP/2, the cmdlet will automatically use HTTP/1.1 instead. This is done to provide compatibility without the need for any additional settings. To see which version was used, check NegotiatedHTTPVersion after calling a method. The AllowHTTPFallback setting controls whether this behavior is allowed (default) or disallowed.
HTTP/2 is supported on all versions of Windows. If the Windows version is an earlier version than Windows 8.1/Windows Server 2012 R2, the internal security implementation will be used. If the Windows version is Window 8.1/Windows Server 2012 R2 or later, the system security libraries will be used by default.
HTTP/3 Notes
HTTP/3 is supported only in .NET and Java.
When using HTTP/3, a secure (TLS/SSL) connection is required. Attempting to use a plaintext URL with HTTP/3 will result in an error.
The format of the date value for IfModifiedSince is detailed in the HTTP specs. For example:
Sat, 29 Oct 2017 19:43:31 GMT.
The default value for KeepAlive is false.
0 (None) | No events are logged. |
1 (Info - default) | Informational events are logged. |
2 (Verbose) | Detailed data are logged. |
3 (Debug) | Debug data are logged. |
The value 1 (Info) logs basic information, including the URL, HTTP version, and status details.
The value 2 (Verbose) logs additional information about the request and response.
The value 3 (Debug) logs the headers and body for both the request and response, as well as additional debug information (if any).
The headers must follow the format "header: value" as described in the HTTP specifications. Header lines should be separated by CRLF ("\r\n") .
Use this configuration setting with caution. If this configuration setting contains invalid headers, HTTP requests may fail.
This configuration setting is useful for extending the functionality of the cmdlet beyond what is provided.
.NET
Http http = new Http();
http.Config("TransferredRequest=on");
http.PostData = "body";
http.Post("http://someserver.com");
Console.WriteLine(http.Config("TransferredRequest"));
C++
HTTP http;
http.Config("TransferredRequest=on");
http.SetPostData("body", 5);
http.Post("http://someserver.com");
printf("%s\r\n", http.Config("TransferredRequest"));
Note: Some servers (such as the ASP.NET Development Server) may not support chunked encoding.
The default value is False and the hostname will always be used exactly as specified.
When True (default), the cmdlet will check for the existence of a Proxy auto-config URL, and if found, will determine the appropriate proxy to use.
Override the default with the name and version of your software.
TCPClient Config Settings
If the FirewallHost setting is set to a Domain Name, a DNS request is initiated. Upon successful termination of the request, the FirewallHost setting is set to the corresponding address. If the search is not successful, an error is returned.
Note: This setting is provided for use by cmdlets that do not directly expose Firewall properties.
Note: This setting is provided for use by cmdlets that do not directly expose Firewall properties.
Note: This configuration setting is provided for use by cmdlets that do not directly expose Firewall properties.
0 | No firewall (default setting). |
1 | Connect through a tunneling proxy. FirewallPort is set to 80. |
2 | Connect through a SOCKS4 Proxy. FirewallPort is set to 1080. |
3 | Connect through a SOCKS5 Proxy. FirewallPort is set to 1080. |
10 | Connect through a SOCKS4A Proxy. FirewallPort is set to 1080. |
Note: This setting is provided for use by cmdlets that do not directly expose Firewall properties.
Note: This setting is provided for use by cmdlets that do not directly expose Firewall properties.
Note: This value is not applicable in macOS.
In the case that Linger is True (default), two scenarios determine how long the connection will linger. In the first, if LingerTime is 0 (default), the system will attempt to send pending data for a connection until the default IP timeout expires.
In the second scenario, if LingerTime is a positive value, the system will attempt to send pending data until the specified LingerTime is reached. If this attempt fails, then the system will reset the connection.
The default behavior (which is also the default mode for stream sockets) might result in a long delay in closing the connection. Although the cmdlet returns control immediately, the system could hold system resources until all pending data are sent (even after your application closes).
Setting this property to False forces an immediate disconnection. If you know that the other side has received all the data you sent (e.g., by a client acknowledgment), setting this property to False might be the appropriate course of action.
In multi-homed hosts (machines with more than one IP interface) setting LocalHost to the value of an interface will make the cmdlet initiate connections (or accept in the case of server cmdlets) only through that interface.
If the cmdlet is connected, the LocalHost setting shows the IP address of the interface through which the connection is made in internet dotted format (aaa.bbb.ccc.ddd). In most cases, this is the address of the local host, except for multi-homed hosts (machines with more than one IP interface).
Setting this to 0 (default) enables the system to choose a port at random. The chosen port will be shown by LocalPort after the connection is established.
LocalPort cannot be changed once a connection is made. Any attempt to set this when a connection is active will generate an error.
This; setting is useful when trying to connect to services that require a trusted port in the client side. An example is the remote shell (rsh) service in UNIX systems.
If an EOL string is found in the input stream before MaxLineLength bytes are received, the DataIn event is fired with the EOL parameter set to True, and the buffer is reset.
If no EOL is found, and MaxLineLength bytes are accumulated in the buffer, the DataIn event is fired with the EOL parameter set to False, and the buffer is reset.
The minimum value for MaxLineLength is 256 bytes. The default value is 2048 bytes.
www.google.com;www.nsoftware.com
Note: This value is not applicable in Java.
By default, this config is set to false.
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.