我已经在Windows计算机上安装了Azure P2S VPN,并且可以手动连接它。我也有一个PowerShell脚本来完成这项工作。 这是脚本:
rasphone "Azure-VPN"
$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('Network Connections')
Sleep 2
$wshell.SendKeys('~')
Sleep 2
$wshell.SendKeys('~')
$wshell.SendKeys('~')
将代替我手动连接时按Enter键。
我可以运行此脚本从命令行成功连接VPN:
> powershell C:\myScript.ps1
True
现在,我想在Jenkins管道上运行此脚本。但这似乎无法实现。
stage('VPN'){
bat "powershell C:\\myScript.ps1"
}
它在Jenkins控制台输出上返回False
。
我也尝试遵循the accepted answer here,但仍然没有运气(无法从命令行或Jenkins上运行)
> rasdial Azure-VPN /phonebook:%userprofile%\AppData\Roaming\Microsoft\Network\Connections\Cm\<aLongNumber>\<aLongNumber>.pbk
Remote Access error 623 - The system could not find the phone book entry for this connection.
有什么解决方法吗?我的目的是使用Jenkins管道打开VPN,通过网络发送一些文件,然后将其关闭。
答案 0 :(得分:0)
您可以选择使用Jenkin的 Powershell插件,以通过Jenkins在Windows上直接运行Powershell脚本。您可以从this blog获得更多参考。
或者,请参考this SO answer,对于Windows路径,您可以使用Jenkins调用批处理文件:
stage('build') {
dir("build_folder"){
bat "run_build_windows.bat"
}
}
或
stage('build') {
bat "c://some/folder/run_build_windows.bat"
}