Send-SFTP Cmdlet

Parameters   Output Objects   Configuration Settings  

The Send-SFTP component can be used to upload files to SFTP servers.

Syntax

Send-SFTP [parameters]

Remarks

This cmdlet implements a standard SFTP client to transfer files to an SSH server's SFTP subsystem.

To use the cmdlet to upload a file, you must specify the Server, User, and Password. The path and filename to upload from is given by LocalFile, and the file to save on the Server is specified by RemoteFile.

This cmdlet only handles uploading files. To download files or retrieve directory listings, please see the GET-SFTP cmdlet.

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.


# Upload a file
send-sftp -server myserver -credential $cred -localfile C:\test.txt -remotefile test.txt

# Connect using SSH with public key authentication and upload a file
$certPass = Read-Host "Enter Cert Password" -AsSecureString
send-sftp -server myserver -user test -AuthMode PublicKey -CertStoreType PEMKey -CertStore file.pem -CertPassword $certPass -CertSubject * -localfile C:\test.txt -remotefile test.txt

Connection Handling

This cmdlet supports persistent connections through the Connection parameter. To establish a new SFTP connection, use the Connect-SFTP cmdlet. To close the connection, use the Disconnect-SFTP 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.

ConnectionAn already established connection.
LogFileThe location of a file to which debug information is written.
AfterConnectA set of FTP commands to be executed immediately after connecting to the Server .
AfterUploadA set of FTP commands to be executed immediately after each file is uploaded.
AuthModeThe type of authentication used by the component.
BeforeUploadA set of FTP commands to be executed immediately before each file is uploaded.
CertPasswordThe password to the certificate store.
CertStoreThe name of the certificate store for the client certificate.
CertStoreTypeThe type of certificate store for the client certificate.
CertSubjectThe subject of the certificate used for client authentication.
CompressionAlgorithmsA comma-separated list containing all allowable compression algorithms.
ConfigSpecifies one or more configuration settings.
CredentialThe PSCredential object to use for user/password authentication.
EncryptionAlgorithmsA comma-separated list containing all allowable compression algorithms.
FirewallHostName or IP address of firewall.
FirewallPasswordA password if authentication is to be used when connecting through the firewall.
FirewallPortThe port of the firewall to which to connect.
FirewallTypeDetermines the type of firewall to connect through.
FirewallUserA user name if authentication is to be used connecting through a firewall.
ForceForces the component to accept the default behavior instead of querying the user.
LocalFileThe local file to upload.
LocalIPThe IP address of the local interface to use.
LogFileThe location of a file to which debug information is written.
MakeDirectoryThe folder to create.
OverwriteIndicates whether or not the file should be overwritten.
PasswordThe password to use for authentication.
PasswordPromptThe shell prompt used for keyboard-interactive authentication.
PermissionsSets file permissions on the uploaded file.
PortThe TCP port in the remote host to which to connect.
RemoteFileThe remote file to save to.
ServerThe address of the Server.
SSHAcceptThe hex-encoded fingerprint of the host to trust explicitly.
TimeoutThe maximum time allowed for the operation.
UserThe 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.

FTPFileThis object is created after a file has finished transferring.

Configuration Settings


The following is a list of configuration settings for the cmdlet with short descriptions. Click on the links for further details.

AllowBackslashInNameWhether backslashes are allowed in folder and file names.
AsyncTransferControls whether simultatenous requests are made to read or write files.
AttrAccessTimeCan be queried for the AccessTime file attribute during the DirList event.
AttrCreationTimeCan be queried for the CreationTime file attribute during the DirList event.
AttrFileTypeCan be queried for the FileType file attribute during the DirList event.
AttrGroupIdCan be queried for the GroupId file attribute during the DirList event.
AttrLinkCountCan be queried for the LinkCount file attribute during the DirList event.
AttrOwnerIdCan be queried for the OwnerId file attribute during the DirList event.
AttrPermissionCan be queried for the Permissions file attribute during the DirList event.
CheckFileHashCompares a server-computed hash with a hash calculated locally.
DisableRealPathControls whether or not the SSH_FXP_REALPATH request is sent.
ExcludeFileMaskSpecifies a file mask for excluding files in directory listings.
FileMaskDelimiterSpecifies a delimiter to use for setting multiple file masks in the RemoteFile property.
FiletimeFormatSpecifies the format to use when returning filetime strings.
FreeSpaceThe free space on the remote server in bytes.
GetSpaceInfoQueries the server for drive usage information.
GetSymlinkAttrsWhether to get the attributes of the symbolic link, or the resource pointed to by the link.
IgnoreFileMaskCasingControls whether or not the file mask is case sensitive.
LocalEOLWhen TransferMode is set, this specifies the line ending for the local system.
LogSFTPFileDataWhether SFTP file data is present in Debug logs.
MaskSensitiveMasks passwords in logs.
MaxFileDataSpecifies the maximum payload size of an SFTP packet.
MaxOutstandingPacketsSets the maximum number of simultaneous read or write requests allowed.
NegotiatedProtocolVersionThe negotiated SFTP version.
NormalizeRemotePathWhether to normalize the RemotePath.
PreserveFileTimePreserves the file's timestamps during transfer.
ProtocolVersionThe highest allowable SFTP version to use.
ReadLinkThis settings returns the target of a specified symbolic link.
RealTimeUploadEnables real time uploading.
RealTimeUploadAgeLimitThe age limit in seconds when using RealTimeUpload.
ServerEOLWhen TransferMode is set, this specifies the line ending for the remote system.
SimultaneousTransferLimitThe maximum number of simultaneous file transfers.
TotalSpaceThe total space on the remote server in bytes.
TransferModeThe transfer mode (ASCII or Binary).
TransferredDataLimitSpecifies the maximum number of bytes to download from the remote file.
UseFxpStatWhether SSH_FXP_STAT is sent.
UseServerFileTimeControls if the file time returned from the server is converted to local time or not.
ClientSSHVersionStringThe SSH version string used by the component.
EnablePageantAuthWhether to use a key stored in Pageant to perform client authentication.
KerberosDelegationIf true, asks for credentials with delegation enabled during authentication.
KerberosRealmThe fully qualified domain name of the Kerberos Realm to use for GSSAPI authentication.
KerberosSPNThe Kerberos Service Principal Name of the SSH host.
KeyRenegotiationThresholdSets the threshold for the SSH Key Renegotiation.
LogLevelSpecifies the level of detail that is logged.
MaxPacketSizeThe maximum packet size of the channel, in bytes.
MaxWindowSizeThe maximum window size allowed for the channel, in bytes.
PasswordPromptThe text of the password prompt used in keyboard-interactive authentication.
PreferredDHGroupBitsThe size (in bits) of the preferred modulus (p) to request from the server.
RecordLengthThe length of received data records.
ServerSSHVersionStringThe remote host's SSH version string.
SignedSSHCertThe CA signed client public key used when authenticating.
SSHAcceptAnyServerHostKeyIf set the component will accept any key presented by the server.
SSHAcceptServerCAKeyThe CA public key that signed the server's host key.
SSHAcceptServerHostKeyFingerPrintThe fingerprint of the server key to accept.
SSHFingerprintHashAlgorithmThe algorithm used to calculate the fingerprint.
SSHFingerprintMD5The server hostkey's MD5 fingerprint.
SSHFingerprintSHA1The server hostkey's SHA1 fingerprint.
SSHFingerprintSHA256The server hostkey's SHA256 fingerprint.
SSHKeepAliveCountMaxThe maximum number of keep alive packets to send without a response.
SSHKeepAliveIntervalThe interval between keep alive packets.
SSHKeyExchangeAlgorithmsSpecifies the supported key exchange algorithms.
SSHKeyRenegotiateCauses the component to renegotiate the SSH keys.
SSHMacAlgorithmsSpecifies the supported Mac algorithms.
SSHPubKeyAuthSigAlgorithmsSpecifies the enabled signature algorithms that may be used when attempting public key authentication.
SSHPublicKeyAlgorithmsSpecifies the supported public key algorithms.
SSHVersionPatternThe pattern used to match the remote host's version string.
TryAllAvailableAuthMethodsIf set to true, the component will try all available authentication methods.
WaitForChannelCloseWhether to wait for channels to be closed before disconnected.
WaitForServerDisconnectWhether to wait for the server to close the connection.
ConnectionTimeoutSets a separate timeout value for establishing a connection.
FirewallAutoDetectTells the component whether or not to automatically detect and use firewall system settings, if available.
FirewallHostName or IP address of firewall (optional).
FirewallPasswordPassword to be used if authentication is to be used when connecting through the firewall.
FirewallPortThe TCP port for the FirewallHost;.
FirewallTypeDetermines the type of firewall to connect through.
FirewallUserA user name if authentication is to be used connecting through a firewall.
KeepAliveIntervalThe retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received.
KeepAliveTimeThe inactivity time in milliseconds before a TCP keep-alive packet is sent.
LingerWhen set to True, connections are terminated gracefully.
LingerTimeTime in seconds to have the connection linger.
LocalHostThe name of the local host through which connections are initiated or accepted.
LocalPortThe port in the local host where the component binds.
MaxLineLengthThe maximum amount of data to accumulate when no EOL is found.
MaxTransferRateThe transfer rate limit in bytes per second.
ProxyExceptionsListA semicolon separated list of hosts and IPs to bypass when using a proxy.
TCPKeepAliveDetermines whether or not the keep alive socket option is enabled.
TcpNoDelayWhether or not to delay when sending packets.
UseIPv6Whether to use IPv6.
AbsoluteTimeoutDetermines whether timeouts are inactivity timeouts or absolute timeouts.
FirewallDataUsed to send extra data to the firewall.
InBufferSizeThe size in bytes of the incoming queue of the socket.
OutBufferSizeThe size in bytes of the outgoing queue of the socket.
BuildInfoInformation about the product's build.
CodePageThe system code page used for Unicode to Multibyte translations.
LicenseInfoInformation about the current license.
UseInternalSecurityAPITells the component whether or not to use the system security libraries or an internal implementation.

Copyright (c) 2022 /n software inc. - All rights reserved.
NetCmdlets 2020 - Version 20.0 [Build 8319]