Aquí tens la versió actualitzada del script en PowerShell per connectar-te a un servidor SFTP i descarregar els fitxers més recents:
# Instal·la el mòdul Posh-SSH si encara no el tens instal·lat
# Install-Module -Name Posh-SSH
# Detalls de la connexió SFTP
$sftpServer = "el_teuservidor_sftp"
$sftpUsername = "el_teusuari_sftp"
$sftpPassword = "la_teuacontrasenya_sftp"
$sftpPort = 22 # Port SFTP personalitzat
# Ruta local on es guardaran els fitxers descarregats
$rutaLocal = "C:\Ruta\Local"
try {
# Carrega el mòdul Posh-SSH
Import-Module Posh-SSH
# Crea les credencials per a la connexió SFTP
$sftpCredencials = New-Object System.Management.Automation.PSCredential($sftpUsername, (ConvertTo-SecureString $sftpPassword -AsPlainText -Force))
# Estableix la connexió SFTP
$sessio = New-SFTPSession -ComputerName $sftpServer -Credential $sftpCredencials -Port $sftpPort
# Obté la llista de fitxers remots
$fitxersRemots = Get-SFTPChildItem -SessionId $sessio.SessionId -Path "/ruta/remota"
# Obté el fitxer més recent
$fitxerMesRecent = $fitxersRemots | Sort-Object LastWriteTime -Descending | Select-Object -First 1
# Descarrega el fitxer més recent
$rutaRemota = "/ruta/remota/" + $fitxerMesRecent.Name
$rutaFitxerLocal = Join-Path -Path $rutaLocal -ChildPath $fitxerMesRecent.Name
# Descarrega el fitxer
$contingutFitxer = Get-SFTPFileContent -SessionId $sessio.SessionId -RemoteFile $rutaRemota -AsByteStream -ByteCount 1024
$codificacio = [System.Text.Encoding]::Default
$bytesContingutFitxer = [System.Text.Encoding]::Convert($codificacio, [System.Text.Encoding]::UTF8, $contingutFitxer)
[System.IO.File]::WriteAllBytes($rutaFitxerLocal, $bytesContingutFitxer)
Write-Host "Fitxer descarregat amb èxit: $rutaFitxerLocal"
}
catch {
Write-Host "Error en connectar al servidor SFTP: $_"
}
finally {
# Tanca la sessió SFTP
if ($sessio) {
Remove-SFTPSession -SessionId $sessio.SessionId
}
}
Aquest script s’utilitza per connectar-se a un servidor SFTP i descarregar els fitxers més recents. S’assegura que la connexió sigui segura i es descarregui correctament el fitxer més recent. Si tens alguna pregunta o necessites més aclariments, no dubtis a preguntar-me!