sharepoint网站集从A域迁移到B域,用户权限也要随着网站集迁移(只有域名变化)。
由于网站集用户权限复杂,所以通过变更域用户来实现迁移(不需要重新配置权限)。
Powershell和Stsadm都提供了相应的方法,为了批量处理数据,我采用stsadm来迁移用户,一下是代码的用法
思路:通过遍历读取txt文件中的用户名,对每一个用户名进行迁移操作
@echo off setlocal ENABLEDELAYEDEXPANSION set f=%~dp0 cd C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN for /f %%i in (%f%\test.txt) do (set l=contoso\%%i set n=hsh\%%i stsadm -o migrateuser -oldlogin !l! -newlogin !n! -ignoresidhistory echo !l!) pause
test.txt文本中每行存放一个用户名
setlocal ENABLEDELAYEDEXPANSION是为了在for语句中使用变量,具体为什么这样使用,请GOOGLE一下有很多解释
cd到C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN目录(sharepoint目录)
stsadm -o migrateuser -oldlogin !l! -newlogin !n! -ignoresidhistory 这条语句是关键的迁移语句
保存为bat文件,双击运行后完成用户迁移