2

我决定开始使用 TFS 构建 vNext 管道,并在配置构建代理期间遇到了一个奇怪的问题。我想知道其他人是否可以复制这个,如果可以,我最终如何解决这个问题。

我在以下目录 D:\TFS Build Agent\agent 中安装了代理并执行了配置。该过程进行得很顺利,并且代理已正确添加到给定池中。该服务也在我的构建机器上正常运行。但是,一旦我开始一个简单的构建,我就会收到以下错误:

09:10:23.570390 System.Management.Automation.ProviderInvocationException: Attempting to perform the NormalizeRelativePath operation on the 'FileSystem' provider failed for path 'D:\TFS Build Agent\agent\tasks\VSBuild\1.0.11'. Access is denied ---> System.UnauthorizedAccessException: Access is denied ---> System.ComponentModel.Win32Exception: Access is denied
   --- End of inner exception stack trace ---
   at Microsoft.PowerShell.Commands.FileSystemProvider.GetFileSystemInfo(String path, Boolean& isContainer)
   at Microsoft.PowerShell.Commands.FileSystemProvider.NormalizeThePath(String basepath, Stack`1 tokenizedPathStack)
   at Microsoft.PowerShell.Commands.FileSystemProvider.NormalizeRelativePathHelper(String path, String basePath)
   at Microsoft.PowerShell.Commands.FileSystemProvider.NormalizeRelativePath(String path, String basePath)
   at System.Management.Automation.SessionStateInternal.NormalizeRelativePath(ProviderInfo provider, String path, String basePath, CmdletProviderContext context)
   --- End of inner exception stack trace ---
   at System.Management.Automation.SessionStateInternal.NormalizeRelativePath(ProviderInfo provider, String path, String basePath, CmdletProviderContext context)
   at System.Management.Automation.SessionStateInternal.NormalizeRelativePath(String path, String basePath, CmdletProviderContext context)
   at System.Management.Automation.SessionStateInternal.SetLocation(String path, CmdletProviderContext context)
   at System.Management.Automation.PathIntrinsics.SetLocation(String path)
   at Microsoft.TeamFoundation.DistributedTask.Handlers.PowerShellHandler.Execute(ITaskContext context, CancellationToken cancellationToken)
   at Microsoft.TeamFoundation.DistributedTask.Worker.JobRunner.RunTask(ITaskContext context, TaskWrapper task, CancellationTokenSource tokenSource)
09:10:23.570390 BaseLogger.LogConsoleMessage(scope.JobId = 88ecf41a-efe1-48d4-b67a-462b166f2b4c, message = ##[error]Attempting to perform the NormalizeRelativePath operation on the 'FileSystem' provider failed for path 'D:\TFS Build Agent\agent\tasks\VSBuild\1.0.11'. Access is denied)

我试图确保将运行我的服务的帐户的所有完整权限集授予上述文件夹,但它没有改变任何东西。

现在,我将代理的文件移动到 C 驱动器的 C:\agent 文件夹并重新进行了完全相同的设置,突然一切都按预期工作了。

即使这解决了我的问题,我也想更多地了解这个问题。这是一个错误还是我错过了一些特定的特权?

任何人都可以复制这个问题吗?

谢谢

4

2 回答 2

0

禁用 UAC - 使用 PowerShell,而不是控制面板。

就像是:

New-ItemProperty -Path HKLM:Software\Microsoft\Windows\CurrentVersion\policies\system -Name EnableLUA -PropertyType DWord -Value 0 -Force

我刚刚有类似的问题。尝试将服务设置为本地管理员,没有这样做。禁用 UAC 似乎是原因。

或者直接在注册表中我猜。需要重启才能生效。

于 2015-10-10T11:58:02.953 回答
-1

我再次尝试复制它,但没有成功。当时我使用的机器似乎出现了一些问题。

于 2015-12-31T15:15:10.757 回答