活动目录父子域用户迁移之:TFS&SharePoint问题汇总(一)
前段时间做了个项目,是关于父子域合并的,其实无非就是使用ADMT把域用户,计算机等从子域迁移到父域上,看似迁移用户很简单。But……生产环境啊,Exchange,TFS,Sharepoint,还有其余乱七八糟的东西,都使用了域账号,牵一发动全身的节奏,迁移账号出点儿问题相关用户就可以坐在那打酱油了,迁移前在他们生产环境中新建测试账号迁移,但是这种测试账号相对理想的环境,测试过程中很多问题不容易发现,很多问题是迁移了客户生产用户账号时出现了问题,但是于对于TFS一窍不通,sharepoint大多不懂的我来说,对迁移遇到的问题排错,那叫一个惨绝人寰啊!下面慢慢的把迁移账号及计算机后会遇到的问题及问题解决方法做个简单汇总吧。
先说说客户环境,由于不便透露客户名称,域控就以ABC来代替吧。客户生产环境为一个父域两个子域,这里父域为A,两个子域B和C(都是N年前的历史问题搞了三个域控出来,现在又要合并只保留A)。TFS在三个域控中都有存在。
对于TFS来说,这东西貌似主要就做代码管理的,客户生产环境中,TFS从2008到2010还有2013,各种版本层出不穷的,这里把TFS和SharePoint一起说,是因为SharePoint是TFS部署的先决条件,TFS2008和2010安装前可以安装Windows SharePoint Services 3.0作为先决条件,但是TFS2013的就只有安装SharePoint2013了(SharePoint2010没注意支持不),所以迁移后,以前版本还稍微好些,因为管理用户权限什么的在VS里面可以直接管理了,但是TFS2013只有在SharePoint里面管理,稍微权限出点儿问题,很多界面都会提示未共享!之所以出现很多问题,是由于TFS和Sharepoint都是有自己的权限管理,很多时候迁移用户后,虽然用户的SID是一起迁移了,但是TFS和Sharepoint中的权限不一定能自动过去,有时候权限过去了,用户自己哪里的VS的使用过程中,也不一定是正常的。接下来就挨着罗列下我遇到的问题吧。
一. 迁移用户后,以前已经签出的代码不能正常迁入
问题描述:
很多时候,用户会对TFS中的代码签出进行编辑,然后再迁入到服务器中。但是很多时候用户签出后,过个一两天都不签入,当这个时候我们在迁移用户后,用户再对这个文件进行签入的时候,会报被提示被之前迁移前的用户锁定。由于用户user@B 已经迁移到A域中成了user@A ,user@B 已经不存在了,所以,只有服务器上进行强制解锁了。
问题处理:
遇到这个问题,我们就需要使用到了tf undo命令了。打开Visual Studio 命令提示
具体命令: tf undo /workspace: workspacename;tfsuser $/PB/Prd-test/3.txt /server:http://TFSServer:8080/tfs
其中workspacename 就写用户的workspace的名字
tfsuser就是被锁定的用户名
$/PB/Prd-test/3.txt 是锁定文件路径
/Server:后面就接服务器
运行完成后,我们可以看到,锁定已经没有了,然后用户又可以任性的继续签入签出了。
PS:为了避免不必要的麻烦,如果被迁移的用户有试用TFS的,最好让客户通知下去让用户都把所有签出的代码签入,不然多了操作起来还是很麻烦的。(虽然通知下去了还是有被锁定的)
二: TFS库映射丢失
问题描述:
用户在正常的使用过程中,每个用户都会有自己的工作区域,并且把服务器上需要的内容映射到本地。
用户在迁移后,有些用户出现了工作区的映射丢失,当用户再去重新映射的时候,又会提示被之前用户占用。
问题处理:
遇到这样的问题,网上依旧是查了很多资料,全部说是走命令使用tf workfold啊之类的,来看看tf workfold下的命令,创建映射修改映射,看样子方向是对的,当时就按着提示去摸索了。
一天过去了,两天过去了,我也忘了到底弄了多久了。不是这里提示不对就是那里提示有问题,简直这个方向就是个坑啊。NND,不弄了!想想这东西应该在数据库上有记录,找找数据库吧。
终于在数据库中找到了存放workspace和workfold的对应表格,来打开看看,上千条数据
看来只有在这上千条数据里面捞了,这又得温习下SQL语句,查询语句走起
Select * from xxxxxx where
一般通过workspacename和computer来找到出现问题的用户,我们会找到多条记录,记录的ownerid和workspaceid会不一样。我们通过对workspace和workfold两个数据库表的联合查找,确定该用户的老的ownerid和新ownerid,修改老的ownerid为新的ownerid就可以了。
修改成后,用户需要重新连接TFS,就可以在自己的工作区里面看到原有的映射都已经回来了。
PS:出现这个问题的原有是由于在迁移用户后,系统自动为用户在数据库中创建了新的ownerid,致使虽然用户环境没有变,但是TFS仍然认为是2个用户了。同一套TFS环境中,有的用户迁移后正常有的出了问题,至于为啥会自动创建ownerid,这个我就不知道了。
三:个人查询丢失
问题描述:
还是在迁移用户后,有用户反映自己的个人查询丢失了,团队查询还在,就是下面这个东西
这个问题有的用户就自己重新新建了,毕竟有的人查询不多,就几条,但是也有用户好几十条查询,遂只有解决了
问题处理:
有了之前处理映射的经验,走命令什么的感觉都是又慢又坑爹的,而且能不能行的通还是个问题。照例直接搞数据库。
找到数据库QueryItems,里面包含了团队查询和个人查询。
一样的,通过Select语句找到出现问题的个人查询,直接找到关键的键值,改ID……具体的详细步奏这里就不过多描述了
今天就先写到这里了,休息休息,下次继续接着写后续的问题汇总

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
记一次服务器timewait事件
之前一直没怎么关注过TCP,直到公司这次的事件,这才开始慢慢去研究,去学习TCP的相关知识,中间也尝试了很多方法,走了很多弯路,因此记下这篇文章,方便以后回顾 首先说下网络架构 Nginx和jetty都在同一个服务器,Nginx代理HTTP流量至多个jetty应用,基本情况就是这样 首先我们来看下,为什么会有TIMEWAIT的状态 客户端主动关闭连接时,会发送最后一个ack后,然后会进入TIME_WAIT状态,再停留2个MSL时间,进入CLOSED状态。 也就是说一般timewait只会出现在client中(因为主动关闭),server端是不会关闭连接的(以为一直在监听) 基于此,我查看了服务器的情况 发现nginx对外的tcp连接数状态是正常的,问题就在对于jetty的连接数异常的多,并且不释放 首先度娘解决方法,基本得到的结果基本就是一个修改内核参数(不推荐此做法) net.ipv4.tcp_tw_reuse=1 #表示开启重用。允许将TIME-WAITsockets重新用于新的TCP连接,默认为0,表示关闭 net.ipv4.tcp_tw_recycle=1 #表示开启TCP连接...
- 下一篇
Ansible自动化运维工具部署及使用
一、Ansible介绍 1、简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括: (1)、连接插件connection plugins:负责和被监控端实现通信; (2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机; (3)、各种模块核心模块、command模块、自定义模块; (4)、借助于插件完成记录日志邮件等功能; (5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。 2、特性 (1)、no agents:不需要在被管控主机上安装任何客户端; (2)、no server:无服务器端,使用时直接运行命令即可; (3)、modules in any languages:基于模块工作,可使用任意语言开发模块; (4)...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7设置SWAP分区,小内存服务器的救世主
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS关闭SELinux安全模块
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题