首页 > 解决方案 > 使用 powershell Invoke 命令自动化 robocopy - 远程会话

问题描述

我想通过 Azure powershell runbook 自动执行 robocopy,我正在采取以下步骤,但它失败并出现源位置的访问被拒绝错误。用于创建远程连接的服务帐户是两台服务器上的管理员用户

  1. 在目标服务器上创建远程会话(使用在混合工作者上运行的 Azure 自动化帐户运行手册)

  2. 为 ROBOCopy 运行 Invoke-command 以将数据从源服务器拉到目标 D 驱动器。

下面的代码没有做任何事情,但运行手册状态显示为完整


      $serviceAccountPassword = (Get-AzureKeyVaultSecret -VaultName 'kvname' -Name 'secname').SecretValue

      $credential = 新对象 System.Management.Automation.PSCredential('serviceaccountname',
     $serviceAccountPassword)
    $session = New-PSSession -ComputerName 'destination_server' -Credential $credential
    
    
    $scriptblock = {c:\Windows\System32\robocopy.exe \\source_server\Backups\ \\destination_server\d$\data\}
    
    调用命令 -session $session -scriptblock $scriptblock

我还启用了 Psremoting,并将服务帐户作为管理员添加到两台服务器

编辑:如果我不作为 JOB 运行,我会收到拒绝访问错误

标签: windowsazurepowershellremote-serverrobocopy

解决方案


推荐阅读