SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 8597|回复: 6

[原创] TFS配置库权限自动化分配脚本

[复制链接]
发表于 2012-12-3 20:11:57 | 显示全部楼层 |阅读模式
       由于实行CMMI规范,我对配置库进行了组织级的划分以及按角色进行权限划分。大致分为开发库、受控库、产品库,各个库下包括项目管理、配置管理、质量保证以及工程类文件夹。由于角色权限可能细化到3级或者更深的子目录,所以如果手动去分配的话,一天估计全干这毫无技术含量的事了,所以最后研究了TFS的命令以及数据库,形成了自动化批处理脚本。具体见下:
  1. rem 创建项目级组* ?2 S. y: c/ {/ L% N6 W: P
  2. TFSSecurity /gc "vstfs:///Classification/TeamProject/0922675d-86b3-414e-812f-5d7c069a212b" "PM" "项目负责人" /collection:*
      w: Y" G' j% f
  3. 这命令是创建项目角色
复制代码
  1. rem 赋予项目可读的权限
    ' N6 p+ H% B% n5 z
  2. TFSSecurity /a+ $PROJECT:vstfs:///Classification/TeamProject/0922675d-86b3-414e-812f-5d7c069a212b GENERIC_READ n:[DefaultCollection]\CEO allow 6 ]9 \, W6 @  x* k
  3. /collection:*3 ^9 ~8 O5 s# n. v9 C) g
  4. 这命令是设置新建组的权限
复制代码
  1. TFSSecurity /a+ CSS   vstfs:///Classification/Node/850e5c5b-18c7-40aa-a19d-7c97d9c34518  WORK_ITEM_WRITE  n:[DefaultCollection]\CEO allow /collection:*7 ?1 ~: u3 L& K0 y( G7 q0 K
  2. 这命令是赋予组编辑工作项的权限
复制代码
  1. rem 赋予团队查询的权限6 {5 Q1 W, @5 Z" Z" z% e# k
  2. TFSSecurity /a+ WorkitemQueryFolders $/0922675d-86b3-414e-812f-5d7c069a212b/F5174D3B-2C11-498E-9EA0-63AE960459E5/ READ n:[DefaultCollection]\CEO allow   /Collection:http:*
    $ D) S$ H0 a1 i" l% B
  3. 这命令是赋予组对团队查询可读,$/0922675d-86b3-414e-812f-5d7c069a212b/F5174D3B-2C11-498E-9EA0-63AE960459E5/  这个参数比较特别,“/“的前半部的是项目属性Url,后半部是通过查询获得:SELECT  a.id  FROM [Tfs_DefaultCollection].[dbo].[QueryItems] a, [Tfs_DefaultCollection].[dbo].[TreeNodes] b  where  a.Projectid=b.id and b.Name=N'项目名称' and a.name=N'团队查询'
复制代码
  1. tf permission /allow:Read,PendChange,Checkin,Lock /group:[DefaultCollection]\CEO  $/项目名称/开发库/01.项目管理 /collection:*
    / M3 y9 l2 `8 h9 p$ h% k6 b$ W
  2. tf permission是负责分配具体的角色
复制代码
这是批处理命令的全部核心。需要说明的,对于在项目中新建的组,该组没有任何权限,如果要组成员有正常使用TFS的权限,需要设置组的权限:# H) q! c- b3 E; b2 F* f
1.在“安全性”里设置对项目可见( L( }+ n# ?" `3 I
2.在“区域迭代”里设置工作项可编辑和读取6 B+ O4 T6 D. Q* A! W
3.最重要也是最容易忽略的一点,还要设置“团队查询”只读(VS2010中可通过“团队查询”--“安全性”手动设置)* x1 f( B7 {" ^0 @6 s! X# r  K+ F; W
& y3 j) m7 O( |4 V% ]
我这没说那么详细,目的是让大家自己去研究下,否则别人的始终是别人的,自己最后啥都不会。) c3 c) F" ?' V% S& [; u
发表于 2012-12-6 15:45:55 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2012-12-7 17:35:09 | 显示全部楼层
支持,学习!
回复 支持 反对

使用道具 举报

发表于 2013-5-27 16:45:57 | 显示全部楼层
请问有没有相关的脚本可以查看 某个用户所 在的所有权限组啊?
回复 支持 反对

使用道具 举报

发表于 2013-8-13 17:47:50 | 显示全部楼层
如果给用户按文件授权后能批量搜索出来就好了
回复 支持 反对

使用道具 举报

发表于 2014-4-18 14:42:15 | 显示全部楼层

% z& B$ [% M" Y支持,学习!
回复 支持 反对

使用道具 举报

发表于 2019-4-2 13:16:04 | 显示全部楼层
可惜我们单位的我不是管理员,么有权限试试脚本,好东西!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

QQ|小黑屋|手机版|无图版|SCMLife.com ( 京ICP备06056490号-1 )

GMT+8, 2019-4-25 14:58 , Processed in 0.061716 second(s), 9 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

快速回复 返回顶部 返回列表