param ( [string]$File ) $SERVER = 'xfer.emberkom.net' $USER = 'tkH58CNbkMVV2gQhYU2nd' $PASS = 'xA73hsmVwNkxsazcGebea' ## Immediately delete this script from disk, if requested #Remove-Item $MyINvocation.InvocationName -Force ## Get a temp file to write our connection and upload script to $SCRIPT_FILE = [System.IO.Path]::GetTempFileName() ## Make sure file specified is actually a file and not a folder If ( Test-Path $File -PathType Container ) { ## Might want to zip up the directory then set the following variables for that file... #$FILE_PARENT = #$FILE_NAME = } Else { $FILE_PARENT = Split-Path $File -Parent $FILE_NAME = Split-Path $File -Leaf } $UPLOAD_SCRIPT = @( "open ${SERVER}", "${USER}", "${PASS}", "lcd `"${FILE_PARENT}`"", "put `"${FILE_NAME}`"", "quit") try { ForEach ($line in $UPLOAD_SCRIPT) { $line | Out-File "${SCRIPT_FILE}" -Append } } catch { Write-Host "Script file could not be created: ${SCRIPT_FILE}"; exit } Write-Host "${SCRIPT_FILE}" ## Upload the data try { Start-Process -WindowStyle Hidden "ftp" -ArgumentList "-s:`"${SCRIPT_FILE}`"" -Wait } catch { Write-Host "Data transfer failed!" } ## Delete the script file try { Remove-Item -Path "${SCRIPT_FILE}" -Force } catch { Write-Host "Script file could not be deleted: ${SCRIPT_FILE}" }