【问题标题】:Rundeck job fails with PermissionDenied UnauthorizedAccessExceptionRundeck 作业因 PermissionDenied UnauthorizedAccessException 而失败
【发布时间】:2020-07-30 01:33:03
【问题描述】:

我在 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 服务没有足够的权限。也许我错了。我该如何解决这个问题?任何帮助将不胜感激。

【问题讨论】:

    标签: powershell-2.0 rundeck


    【解决方案1】:

    这是“双跳”PowerShell 问题。您可以查看完整的解释 herehere 一个好方法。还有here 一个很好的解决方法。

    【讨论】:

    • 谢谢,看来你是对的。但是无论如何配置rundeck?如果它在 Linux 机器上运行。
    【解决方案2】:

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

    1. 设置

    winrm-authtype: credssp

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

    1. 在 Rundeck 机器上安装所需的 pip 包

    pip install pywinrm[credssp]

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

    【讨论】:

      猜你喜欢
      • 2020-03-15
      • 1970-01-01
      • 1970-01-01
      • 2017-03-16
      • 2014-11-21
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多