powershell - Jenkins 部署 - Powershell SCP 脚本
问题描述
晚上好,
我正在尝试编写一个 Powershell 脚本,该脚本将通过 SCP 连接到远程服务器并上传或下载文件/文件夹。最终,这是我希望 Jenkins 运行的脚本。
到目前为止,我正在使用 Posh-SSH 并取得了很好的成功。唯一的问题是,无论我到目前为止尝试了什么,它总是会提示我输入我的凭据。显然,这使得它不是完全自动化的。
我附上了一些我尝试过的东西。希望有人可以帮助我解决这个问题!
我正在测试的基本命令:
get-scpfolder -computername '111.111.111.111' -credential $credential
-remotefile "/var/myFolder" -localfile 'C:\Users\Me\destFolder'
同样,这有效,但它需要我输入我的凭据。
我在网上看到这个命令:
$Password = "pass"
$User = "admin"
$ComputerName = "111.111.111.111"
$Command = "get-scpfolder -computername $ComputerName -credential $Credentials -localfolder 'C:\Users\Me' -remotefolder '/var/destFolder"
$secpasswd = ConvertTo-SecureString $Password -AsPlainText -Force
$Credentials = New-Object System.Management.Automation.PSCredential($User, $secpasswd)
$SessionID = New-SSHSession -ComputerName $ComputerName -Credential $Credentials #Connect Over SSH
Invoke-SSHCommand -Index $sessionid.sessionid -Command $Command # Invoke Command Over SSH
但是,这将返回 ExitStatus 1 并且没有任何反应。例如,我已经尝试了 $Command 的一些变体,包括凭据与否,但我无法让它工作。
解决方案
推荐阅读
- typescript - Typescript:将 Type 映射到 RawType,并回退到 Type
- node.js - 我的机器人说它没有权限踢/禁止
- python - discord.py 机器人中的翻译不起作用
- ios - MvvmCross 导航到选项卡式视图中的选项卡创建一个新选项卡 Xamarin.iOS
- api - 放心:如何通过放心API在应用程序中上传带有resumableChunk表单数据的文件
- etl - Nifi vs Talend?
- powershell - PowerShell - 在解析 html 文件的正则表达式之间选择标签
- sql-server - 在特定数据库中查找具有索引扫描的查询
- c++ - C ++计算2个带时区的字符串之间的时间差
- apache-spark - 将具有 UTC 偏移量的字符串转换为火花时间戳