Sample code for 30+ languages & platforms
PowerShell

Setting Environment Variables for SCP Transfers

See more SCP Examples

Demonstrates how to set remote environment variables for an SCP transfer.

Note 1: This example requires Chilkat v9.5.0.79 or greater.

Note 2: Setting environment variables for SCP is only supported by some SSH servers.

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$ssh = New-Object Chilkat.Ssh

# First connect to an SSH server.
$success = $ssh.Connect("example.com",22)
if ($success -ne $true) {
    $($ssh.LastErrorText)
    exit
}

# Wait a max of 5 seconds when reading responses..
$ssh.IdleTimeoutMs = 5000

# Authenticate..
$success = $ssh.AuthenticatePw("myLogin","myPassword")
if ($success -ne $true) {
    $($ssh.LastErrorText)
    exit
}

# After the SSH object is connected and authenticated, we use it
# as the underlying transport in our SCP object.
$scp = New-Object Chilkat.Scp

$success = $scp.UseSsh($ssh)
if ($success -ne $true) {
    $($scp.LastErrorText)
    exit
}

# Specify the environment variables to be set in JSON as follows.
# This example sets two environment variables.  One is named "LCS_PASSWORD" and the other "MY_TEST_NAME".
$jsonEnvVars = New-Object Chilkat.JsonObject
$jsonEnvVars.EmitCompact = $false
$jsonEnvVars.UpdateString("LCS_PASSWORD","secret")
$jsonEnvVars.UpdateString("MY_TEST_NAME","abc")
$strEnvVars = $jsonEnvVars.Emit()

$($strEnvVars)

# Setting the SendEnv property causes Chilkat to set each environment variable on the SSH server
# prior to doing the upload or download.
$scp.SendEnv = $strEnvVars

# Do the upload..
$remotePath = "starfish.jpg"
$localPath = "qa_data/jpg/starfish.jpg"
$success = $scp.UploadFile($localPath,$remotePath)
if ($success -ne $true) {
    $($scp.LastErrorText)
    exit
}

$("SCP upload file success.")

# Disconnect
$ssh.Disconnect()