sharepoint 2013:活动目录迁移用户后,在sharepoint中move 用户 powershell

Get-SPUser -web http://wfe1  | fl    (查看该网站集中的账户)
 $user = Get-SPUser -web http://wfe1 -Identity 18   (将id为18的账户赋予变量$user ,不用变量下面一条语句会失败,18也可以用用户名取代)

Move-SPUser -IgnoreSID -Identity $user -NewAlias ‘test\sale02‘   (将该账户迁移为新账户,可以在同一个域中,也可以不同域)

该操作在web application下所有网站级都会生效

---------------------------------------------------------------------

如果上面的不能在所有网站集生效,可以用下面的代码修改迁移:(不推荐)

#该脚本只做用户迁移,不能做group迁移,如果要做group迁移,将脚本中的loginname 改为displayname即可;
Add-PSSnapin Microsoft.SharePoint.PowerShell
$ConfirmPreference = ‘None‘  #关闭确认提示

$filePath="c:\file\"
$allUsers=get-content C:\file\user.txt  -Encoding UTF8                   #从文件中读取需要迁移的账户,每一行包含旧账户,新账户和新的email地址,字段之间用---隔开
$webApp=get-spwebapplication "http://wfe1.test.com"                     #设置需要迁移账户的web application

$allSites=  $webApp.sites
         
   foreach ($site in $allSites)

{
            "正在查询$site......"
            $SiteUsers=Get-SPUser -Web $site.url.ToString()

foreach ($siteUser in $SiteUsers)
                    {
                        
                       
                       foreach ($user in $allUsers)
                        {
                             $oldUser=($user.tostring() -split "---" )[0]
                             $NewEmail=($user.tostring() -split "---" )[2]

if (($siteuser.ToString() -split "\|" )[1])
                                {
                                    $userPrefix=($siteuser.ToString() -split "\|" )[0]
                                    $NewUser=$userprefix+"|"+($user.tostring() -split "---" )[1]
                                }
                            else
                                {
                                    $NewUser=($user.tostring() -split "---" )[1]
                                }
                             
                             
                            
                             
                            if ($siteUser.LoginName.tostring().toupper().contains($oldUser.ToUpper()))   #判断站点中是否存在该用户
                                
                                {
      
                                    “      ***找到账户$user,正在处理中......”
                                    $datetime=get-date 
                                    $date=$datetime.ToString(‘yyyy-MM-dd‘)

$outInfo=($datetime.ToString() +" "+$site.url.ToString() + " Moving "+$siteUser.LoginName.tostring() +" To $newuser and Setting Email:$newemail")
                                    
                                    
                                    Out-File -filePath $filepath$date.TXT -inputobject $outInfo  -Append  -Encoding UTF8         
                            
                                    set-spuser -Identity $siteUser  -web $site.url  -Email $NewEmail  2>>$filepath$date.TXT 
                                    #set-spuser -Identity $siteUser -web $site.url -SyncFromAD    2>>$filepath$date.TXT  
                                    $siteuser1=Get-SPUser -Web $site.url.ToString() -Identity $siteUser

$FullUserLogin=$userPrefix+"|"+$NewUser
                                    try
                                        {
                                             Move-SPUser -Identity $siteUser1 -NewAlias $newUser -IgnoreSID   2>>$filepath$date.TXT   #move 账户前必须使用上面一条语句将账户get出来赋予给变量,然后才能在move语句中调用变量user否则报错
                                           
                                        }  
                                    catch
                                        {$error[0].Exception}

}
                                
                            
                            }

}

“ ”
             $site.dispose()
          }

时间: 2024-10-06 15:16:26

sharepoint 2013:活动目录迁移用户后,在sharepoint中move 用户 powershell的相关文章

BEGINNING SHAREPOINT® 2013 DEVELOPMENT 目录

BEGINNING SHAREPOINT? 2013 DEVELOPMENT 目录 第一部分--开始使用SharePoint 2013 第1章节--SharePoint 2013 介绍 第2章节--SharePoint 2013 App模型概览 第3章节--SharePoint 2013 开发人员工具 第4章节--理解你的开发选项 第5章节--Windows Azure for SharePoint 概览 第二部分--SharePoint 2013 开发基础构建基块 第6章节--在SharePo

SharePoint 2013 Disaster Recovery——迁移内容数据库

安装和配置SharePoint Farm时,一定要注意将内容数据库不要放在C盘,除非你的C盘能足够承受起日益增长的数据.由于在安装SQL SERVER中没有注意,我将数据库存放在默认的 C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA文件夹中.这时不幸的事情发生了,内容数据库增长过快直到将C盘撑暴,导致SharePoint Server发生意外故障. 所以,迁移内容数据库势在必行了. PowerShell查看

BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发人员工具 用SPD开发SharePoint应用程序

BEGINNING SHAREPOINT? 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发人员工具 用SPD开发SharePoint应用程序 很多开发人员说他们宁愿不用SPD作为开发SharePoint的工具.然而,如果你没有在工具集中包括它你可能进度放缓.因为你将发现SPD可以让一些开发任务变得更容易. SPD从FrontPage(早起Web开发人员工具)进化而来到SPD(以SharePoint为中心的设计人员工具,随SharePoint 2010一起出现)

活动目录的FSMO owner 在ADSI中的对应位置

如题,方便定位. PDC模拟器: 路径: 默认命名上下文 - DC=domain,DC=com,在上面点右键 - 属性 - fsMORoleOwner RID主机: 路径:默认命名上下文 - DC=domain,DC=COM,CN=System,CN=RID Manager$ 点右键- 属性 - fsMORoleOwner 架构主机: 路径:架构分区 - CN=Schema,CN=configuration,DC=Domain,DC=Com 点右键- 属性 - fsMORoleOwner 基础结

BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第2章节--SharePoint 2013 App 模型概览 理解三个SharePoint 部署模型 Apps

BEGINNING SHAREPOINT? 2013 DEVELOPMENT 第2章节--SharePoint 2013 App 模型概览 理解三个SharePoint 部署模型 Apps 由于SharePoint 2013 正逐步移动到云,有三类部署模型可用来帮助你完毕这个目标(关于SharePoint Apps): SharePoint-hosted: Autohosted: Provider-hosted: 每一类部署模型都含有特色,使它成为针对不同类型App开发的理想的(选择).以下的部

BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第2章节--SharePoint 2013 App 模型概览 理解三个SharePoint 部署模型 Apps

BEGINNING SHAREPOINT? 2013 DEVELOPMENT 第2章节--SharePoint 2013 App 模型概览 理解三个SharePoint 部署模型 Apps 因为SharePoint 2013 正逐步移动到云,有三类部署模型可用来帮助你完成这个目标(关于SharePoint Apps): SharePoint-hosted: Autohosted: Provider-hosted: 每一类部署模型都含有特色,使它成为针对不同类型App开发的理想的(选择).下面的部

BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发人员工具 使用Napa开发SharePoint应用程序

BEGINNING SHAREPOINT? 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发人员工具 使用Napa开发SharePoint应用程序 如果你做过SharePoint开发,你会知道构建开发环境要花费时间.在SharePoint 2010中,你不得不安装在本地一些软件应用程序,如SharePoint,SQL Server,VS等,并且配置你的环境能使用它们.然后要在本地安装的SharePoint实例上调试.SharePoint 2013快速开发则稍微进

08r2活动目录迁移升级2012r2--(主域控升级及DHCP迁移,目标系统准备)

接前面几篇文章,已经完成辅助域控的升级迁移以及证书角色的迁移,接下来,介绍主域控及DHCP迁移,首先,准备目标系统.目标系统加入域添加活动目录域服务角色 完成域服务角色安装 将PDC提升为辅助域控制器 完成辅助域控制器部署,并检查辅助域控健康状态,确认正常后进行主域控角色迁移. 原文地址:http://blog.51cto.com/yourcloud/2351159

SharePoint 2013 表单认证使用ASP.Net配置工具添加用户

前 言 上面一篇博客,我们了解到如何为SharePoint 2013配置表单身份认证,但是添加用户是一个麻烦事儿:其实,我们还可以用Asp.Net的配置工具,为SharePoint 2013添加表单用户,下面让我们简单介绍下,如何操作. 打开Visual Studio,新建项目,选择Asp.net web application类型,如下图: 点击OK,进入选择模板页面,如下图: 创建完毕,双击打开web.config,如下图: 添加数据库连接串,连接的是我们表单认证的数据库,不要写错了,如下图