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!