Get Remote Next Filename
Last Modified: February 25, 2024 18:18 CEST

Get-RemoteNextFilename #

SYNOPSIS #

Finds the oldest file in a directory on a remote server that matches a specified file mask, supporting FTP, FTPS, and SFTP protocols.

SYNTAX #

Get-RemoteNextFilename [[-server] <String>] [[-protocol] <String>] [[-port] <Int32>] [-activeMode]
 [[-certificate] <String>] [[-user] <String>] [[-password] <Object>] [[-mask] <String>]
 [[-remoteFolder] <String>] [-ProgressAction <ActionPreference>] [<CommonParameters>]

DESCRIPTION #

The Get-RemoteNextFilename function retrieves the name of the oldest file in a specified directory on a remote server that matches a given file mask. This can be used to process files in a queue-like manner. The function supports FTP, FTPS, and SFTP protocols. Authentication can be performed using a username and password, or a certificate for SFTP. The directory to search and the file mask to use are specified by the -remoteFolder and -mask parameters, respectively.

Please note the requirements and information about FTP, FTPS, and SFTP, as well as SecureString, which we have summarized under Sftp. There you will also find examples for creating a compatible certificate.

EXAMPLES #

Example 1: Retrieves the oldest XML file from a specified directory on a remote server using simple authentication #

PS C:\> Get-RemoteNextFilename -server "ftp.example.com" -protocol "sftp" -user "username" -password "password" -mask "*.xml" -remoteFolder "/docs"

This example retrieves the oldest XML file from the “/docs” directory on the SFTP server at “ftp.example.com”. The function uses the provided username and password for authentication.

PARAMETERS #

-activeMode #

If specified, this switch enables active mode for the FTP or FTPS connection. By default, passive mode is used.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-certificate #

The path to a certificate file for authentication, if using SFTP with certificate-based authentication.

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 3
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-mask #

The ‘mask’ filters the directory for specific file names, for example, ‘*.xml’.

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 6
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-password #

The password to use for authentication with the remote server. This can be provided as plaintext or as a SecureString.

Type: Object
Parameter Sets: (All)
Aliases:

Required: False
Position: 5
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-port #

The port number to connect to on the remote server. This typically defaults to 21 for FTP and FTPS, or 22 for SFTP if not specified.

Type: Int32
Parameter Sets: (All)
Aliases:

Required: False
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-protocol #

The protocol to use for the connection, such as FTP, FTPS, or SFTP.

Type: String
Parameter Sets: (All)
Aliases:
Accepted values: ftp, ftps, sftp

Required: False
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-remoteFolder #

The remoteFolder is the directory in which file names matching the mask are searched for.

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 7
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-server #

The address or hostname of the remote server to connect to.

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-user #

The username to use for authentication with the remote server.

Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: 4
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters #

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS #

None #

OUTPUTS #

System.Object #

NOTES #