Mad*_*ave 6 powershell jenkins winrm
我试图在远程(Windows 2008 Server R2)计算机上运行powershell脚本.直接从powershell执行时,以下代码非常有用.(即一切设置正确,WinRM服务正在运行,主机互相信任,登录正确......)
但是,当我从Jenkins实例执行完全相同的代码(在我测试的同一台机器上运行)时,我得到PSSessionStateBroken连接失败,.(未发布完整错误,因为它在我的机器上是德语.)
我想这意味着Jenkins使用PowerShell的方式不同,或者具有不同的powershell/winrm设置或权限不足.有任何想法吗?
$computer = "<some ip>"
$user = "Administrator"
$password = "<secretpassword>"
$securepassword = ConvertTo-SecureString -String $password -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user, $securepassword
Invoke-Command -ComputerName $computer -ScriptBlock { Get-ChildItem C:\ } -Credential $cred
Run Code Online (Sandbox Code Playgroud)
编辑:通过以管理员身份运行jenkins服务来管理以修复它.适合我,但感觉不对...
您的 Jenkins 服务帐户凭证是否有权远程登录到目标计算机?
当管理员帐户和常规服务帐户访问目标系统时,我将使用 ProcMon 来监视目标系统。您会看到差异,我敢打赌这将是显而易见的!祝你好运!