Azure管道:访问自托管Windows代理上的网络驱动器?

时间:2020-07-08 09:36:12

标签: azure-devops azure-pipelines

我有一台具有自托管Azure Pipeline代理的本地Windows计算机,我要在其上运行一些脚本,这些脚本需要访问存储在网络驱动器上的文件。但是,当我收到“找不到路径”或类似的错误消息时,似乎无法访问它们。在Powershell中运行net use确实会返回我要访问的网络驱动器的列表,但是它们的状态被设置为“不可用”。

我怀疑这与身份验证有关,但是我不确定如何解决。我应该注意,我没有管理员权限,但是我的用户可以正常访问驱动器,并且使用我的用户名配置了代理。

1 个答案:

答案 0 :(得分:0)

Azure管道:访问自托管Windows代理上的网络驱动器吗?

执行构建时,所有构建任务都应在AzuredevopsAccount1之类的构建服务帐户下运行。

因此,您需要确定构建服务帐户是否具有访问网络驱动器的权限。

此外,如果您具有访问网络驱动器的用户名和密码,我们可以尝试使用它来访问网络驱动器。

例如,我使用powershell脚本复制具有提供给网络驱动器的特定用户名和密码的源文件:

$Source = $env:BUILD_SOURCESDIRECTORY
$Dest   = "\\172.17.xx.xx\SourceFiles\xxx"
$Username = "domain\username"
$Password = ConvertTo-SecureString "PasswordHere" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential($Username, $Password)
New-PSDrive -Name J -PSProvider FileSystem -Root $Dest -Credential $mycreds -Persist
Copy-Item -Path $Source -Recurse -Force -Destination $Dest 

测试结果:

enter image description here

希望这会有所帮助。