sharepoint 2013 修改某些顯示名,email和活動目錄不一致的帳戶 powershell

#該腳本修改某些顯示名,email和活動目錄不一致的帳戶
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)
                        {
                             $account=($user.tostring() -split "---" )[0]
                             $newname=($user.tostring() -split "---" )[1]
                             $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($account.ToUpper()))   #判斷站點中是否存在該用戶
                                
                                {
      
                                    「      ***找到帳戶$user,正在處理中......」
                                    $datetime=get-date 
                                    $date=$datetime.ToString('yyyy-MM-dd')




                                    $outInfo=($datetime.ToString() +" "+$site.url.ToString() + " setting displayname "+$newname.tostring() +" To $newuser and Setting Email:$newemail")
                                                                        
                                    Out-File -filePath $filepath$date.TXT -inputobject $outInfo  -Append  -Encoding UTF8     
                                                              
                                                                       
                                    try
                                        {
                                            set-spuser -Identity $siteUser  -web $site.url -DisplayName $newname -Email $NewEmail  2>>$filepath$date.TXT 
                                            
                                        }  
                                    catch
                                        {$error[0].Exception} 


                                }
                                
                            
                            }


            
                      }
            


            「 」
             $site.dispose()
          }

web

相關文章
相關標籤/搜索