还原站点后,访问站点出现Access Denied

最近在准备一些SharePoint 2010的Demo,我发现一些备份的Site Collection(利用Backup-SPSite或者UI)在还原到在另外一个域的Farm的时候,全部Access Denied了,即使我用同样名字的账号,或者最高权限的账号也不行。

另外一个现象就是在试图更换Site Collection Administrator的时候,会出现“object reference not set to an instance of an object”错误。

 

分析了ULS Log,一直也没有发现原因。今天突然想到,因为我还原到另外一个域的时候,即使域名相同,用户的SID也已经改变了。所以需要同步一下用户账号。

在SharePoint 2007,可以用 STSADM -o migrateuser 命令来做,既然到了SharePoint 2010,就用PowerShell来做吧。以下是命令:

$spFarm = [Microsoft.SharePoint.Administration.SPfarm]::Local
$spFarm.MigrateUserAccount("Contoso\administrator", "Contoso\administrator", $False)

第一个参数是以前的账号,第二是新的账号,最后是一个参数是否保留SID历史,由于我是跨域的,所以不需要保留。

 

同步以后,问题就解决了,开心。

 

注意:运行这个命令,对于administrator账号,也许会出现一个错误,忽略就可以了。

posted @ 2011-05-14 19:15  Lambert Qin  Views(582)  Comments(1Edit  收藏  举报