Windows Machine File Copy任务,无需使用管理员凭据

时间:2020-04-15 02:01:19

标签: azure-devops azure-pipelines-release-pipeline file-copying

我想将构建工件从$(System.ArtifactsDirectory)复制到远程Windows Server 2016上的共享文件夹。为此,我正在使用“ Windows Machine File Copy”任务。当我使用此功能时-

- task: WindowsMachineFileCopy@2
displayName: 'Copy build artifacts'
inputs:
  SourcePath: '$(System.ArtifactsDirectory)/*'
  MachineNames: 'targetHostname'
  AdminUserName: 'domain\administrator'
  AdminPassword: '******'
  TargetPath: 'D:\sharedfolder'

但是我不想使用上面看到的管理员凭据。我读了MS doco- https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/windows-machine-file-copy?view=azure-devops

管理员凭据参数 AdminUserName AdminPassword 是可选的。但是我删除它们,复制任务失败。因此,我的要求是-我们不想使用用户名和密码。相反,我们要使用Azure服务主体。有什么方法可以使用Service Principal而不是用户名和密码来复制文件?

1 个答案:

答案 0 :(得分:0)

所以我的问题是-如何在不使用任何凭据的情况下复制文件?

如果要在不使用任何凭据的情况下复制文件,则意味着您需要设置任何人都可以访问的目标文件夹的权限。

显然这是不安全的,我们不建议您这样做。如果您有理由坚持这样做并且可以确保信息安全,则可以参考以下方法。 / p>

您可以将文件夹共享给远程计算机中的每个人:

enter image description here

然后,我们可以只使用复制任务将构建工件从$(System.ArtifactsDirectory)复制到远程Windows Server 2016上的共享文件夹:

enter image description here

我在远程Windows Server 2012上对其进行了测试,并且工作正常。

希望这会有所帮助。

相关问题