Rundeck作业失败,并显示PermissionDenied UnauthorizedAccessException

时间:2020-07-25 08:41:18

标签: powershell-2.0 rundeck

我在一个梯级中有一个作业,该作业通过某些域网络的用户凭据连接到Windows计算机,并运行从域网络中另一台计算机复制某些文件夹的脚本。 通过WinRM连接到Windows节点。

当我通过rundeck作业运行该脚本时,它会失败并显示错误

[ERROR  ]  Test-Path : Access is denied
10:43:56    At E:\scripts\site_backup.ps1:20 char:10
10:43:56    + if(-not (Test-Path $BackupDirectory)) {
10:43:56    +          ~~~~~~~~~~~~~~~~~~~~~~~~~~    

PermissionDenied: (\\some.path.local\dprr...rw-tests-pq:String) [Test-Path], UnauthorizedAccessException

但是,如果我在通过RDP连接到该计算机的同一用户下运行该脚本,则效果很好。

我怀疑WinRM服务没有足够的特权。也许我错了。我该如何解决这个问题?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

这是“双跳” PowerShell问题。您可以查看完整的说明here,并且here是一个很好的方法。同样here是个不错的选择。

答案 1 :(得分:1)

正如@ MegaDriver68k所说,这是“双跳” Powershell问题。为了克服Rundeck上的问题,这是必需的:

  1. 设置

winrm-authtype: credssp

在节点yaml文件上(我通过添加yaml文件将节点添加到rundeck)

  1. 在Rundeck Machine上安装所需的pip软件包

pip install pywinrm[credssp]

  1. 在Windows节点上为“ WinRM客户端”和“ WinRM服务”启用credSSP认证组策略。有关它的更多详细信息,您可以找到here