Сохранить сеанс в WinSCP через PowerShell - PullRequest
1 голос
/ 19 марта 2020

Я хочу сохранить сеанс через PowerShell в WinSCP, но я не могу сохранить ни одного сеанса с приведенным ниже кодом. Может быть, код PowerShell неверен для сохранения сеанса. Я хочу сохранить сеанс, и всякий раз, когда я открываю WinSCP, я вижу этот сеанс и могу войти в него. Ниже приведен снимок кода:

try
{
  # Load the assembly and setup the session properties
  Add-Type -Path "C:\Program Files (x86)\WinSCP\WinSCPnet.dll"

  # Session setup options
  $sessionOptions = New-Object WinSCP.sessionOptions -Property @{
    Protocol = ([WinSCP.Protocol]::Sftp)
    HostName = "xxx.cloud.com"
    UserName = "sftpuser_WIN_NPD" 
    PortNumber = "40022"
    #Password = ""
    SshPrivateKeyPath = "C:\key\sftp_private.ppk"
    SshHostKeyFingerprint = "ssh-rsa 2048 0c:ce:5a:8a:82:f6:03:xx:xx:xx:xx:xx:xx:xx:xx:xx"
  }

  $session = New-Object WinSCP.session
}
catch 
{
  Write-Host "Error : $($_.Exception.Message)"

  exit 1
}   

Пожалуйста, помогите мне в этом, заранее спасибо:)

1 Ответ

0 голосов
/ 19 марта 2020

Невозможно использовать сборку WinSCP. NET для создания сохраненных сайтов для WinSCP GUI.

Необходимо создать ключ сайта в реестре Windows (или в файле INI).
См. https://winscp.net/eng/docs/config

Простой пример:

$key = New-Item 'HKCU:\Software\Martin Prikryl\WinSCP 2\Sessions\My New Session' -Force
$key | New-ItemProperty -Name 'HostName' -Value 'example.com' -Force
$key | New-ItemProperty -Name 'UserName' -Value 'username' -Force

См. Также https://winscp.net/eng/docs/custom_distribution#preconfigured_site

...