首页 > 代码库 > SharePoint 2010: Export User Profile Properties to a Text File or Excel using PowerShell
SharePoint 2010: Export User Profile Properties to a Text File or Excel using PowerShell
导出到txt
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server") [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.UserProfiles") [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") # SharePoint site URL $site = new-object Microsoft.SharePoint.SPSite("http://contoso.com/"); $ServiceContext = [Microsoft.SharePoint.SPServiceContext]::GetContext($site); $ProfileManager = new-object Microsoft.Office.Server.UserProfiles.UserProfileManager($ServiceContext) $AllProfiles = $ProfileManager.GetEnumerator() $file = New-Object System.IO.StreamWriter "D:\UserProfiles.txt"; $file.Writeline("CustomID|Accountname|PreferredName|UserName|FirstName|LastName|DeskPhoneNo|Department|Title|Manager|WorkEmail|Office|Classification|ServiceDate"); foreach($profile in $AllProfiles) { $CustomID = $profile["CustomID"].value $AccountName = $profile[[Microsoft.Office.Server.UserProfiles.PropertyConstants]::AccountName].Value $PreferredName = $profile["PreferredName"].value $UserName = $profile["UserName"].value $FirstName = $profile["FirstName"].value $LastName = $profile["LastName"].value $DeskPhoneNo = $profile["DeskPhoneNo"].value $Department = $profile["Department"].value $Title = $profile["Title"].value $Manager = $profile["Manager"].value $WorkEmail = $profile["WorkEmail"].value $Office = $profile["Office"].value $Classification = $profile["Classification"].value $ServiceDate = $profile["ServiceDate"].value $file.Writeline($CustomID+"|"+$AccountName+"|"+$PreferredName+"|"+$UserName+"|"+$FirstName+"|"+$LastName+"|"+$DeskPhoneNo+"|"+$Department+"|"+$Title+"|"+$Manager+"|"+$WorkEmail+"|"+$Office+"|"+$Classification+"|"+$ServiceDate); } $file.close(); $site.Dispose()
导出到excel
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue$siteUrl = "http://sp2010"$outputFile = "C:\UserProfiles.csv"$serviceContext = Get-SPServiceContext -Site $siteUrl$profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($serviceContext);$profiles = $profileManager.GetEnumerator()Write-Host "Exporting profiles" $collection = @()foreach ($profile in $profiles) { $profileData = "" | select "AccountName","FirstName", "LastName","PreferredName","WorkPhone" $profileData.AccountName = $profile["AccountName"].Value $profileData.FirstName = $profile["FirstName"].Value $profileData.LastName = $profile["LastName"].Value $profileData.PreferredName = $profile["PreferredName"].Value $profileData.WorkPhone = $profile["WorkPhone"].Value $collection += $profileData}$collection | Export-Csv $outputFile -NoTypeInformation
导出乱码问题
Export-Csv $outputFile -NoTypeInformation -Encoding Unicode
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。