我们希望有一个运行script的进程强制执行TFS的活动同步(Active Directory TFS同步作业通常每小时只运行一次)。根据我对this帖子(讨论使用命令行程序来完成相同的最终结果)的理解,调用帐户需要授予队列后台作业 TFS权限。 / p>
如果没有此权限尝试执行PowerShell脚本,我会收到以下错误:
使用“2”参数调用“QueueJobNow”的异常:“访问被拒绝:Smith,Jane需要以下权限: 资源AllJobs执行此操作:队列后台作业“
目前尚不清楚如何授予队列后台作业权限。它似乎不在任何地方的TFS控制台或GUI中。
答案 0 :(得分:1)
此权限通过tfsecurity
命令授予。您需要授予作业命名空间队列和读取权限,如下所示,以便问题中引用的PowerShell脚本能够正常工作:< / p>
要查看当前的安全分配:
tfssecurity /acl job /server:https://myserver/tfs
授予用户阅读职位信息:
tfssecurity /a+ Job AllJobs Read n:mydomain\myuser ALLOW /server:https://myserver/tfs
删除用户的阅读职位信息:
tfssecurity /a- Job AllJobs Read n:mydomain\myuser ALLOW /server:https://myserver/tfs
授予用户队列作业访问权限:
tfssecurity /a+ Job AllJobs Queue n:mydomain\myuser ALLOW /server:https://myserver/tfs
删除用户的队列作业访问权限:
tfssecurity /a- Job AllJobs Queuen:mydomain\myuser ALLOW /server:https://myserver/tfs