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

SharePoint 2010: Export User Profile Properties to a Text File or Excel using PowerShell

时间: 2024-10-11 21:57:06

SharePoint 2010: Export User Profile Properties to a Text File or Excel using PowerShell的相关文章

Sharepoint 2010 工作流启动时处理出错

在Sharepoint 2010 中使用Sharepoint 2010 designer做了一个工作流: 运行工作流时,当主办工程师是“张三”的时候,工作流一启动就报错. ------------------------------------------------------------------------------------ 排查方法 : 1.重新编制工作流,发送给其他用户.工作流正常运行. 2.新建审批工作流,把审批对象设置为“张三”.工作流运行时报错. ------------

SharePoint 2010 之 数据库架构

1.SharePoint Foundation 2010 数据库 1)配置数据库 配置:SharePoint_Config 配置数据库包含有关 SharePoint 数据库.Internet Information Services (IIS) 网站.Web 应用程序.受信任的解决方案.Web 部件包.网站模板以及特定于 SharePoint 2010 产品的 Web 应用程序和服务器场设置(例如默认配额设置和被禁止的文件类型)的数据. 在仅服务器场配置备份或还原过程中,不会保存许多配置设置,尤

SharePoint 2010、2013多个域之间互信(Domain Trust)的设计与实施

在现实的业务场景中,有时为了更好的管理域用户和服务.我们往往会创建多个分散式的域,每个域的Administrator专注于维护特定域中的用户和资源,Administrator也可以定义安全策略,比如账号策略等. 场景介绍 现有如下场景,一个二层拓扑的SharePoint Farm包含一台SharePoint Server,DB Server,AD(假设Contoso.com) ,毫无疑问AD Contoso.com承载了SharePoint的身份认证.现需要再加入一台AD(假设为Mintcode

Sharepoint 2010 用户配置文件同步服务无法启动

文章摘要 在安装Sharepoint 2010后想要启动用户配置文件同步服务,但是无论如何都无法启动,重启了好多次,也没有作用,这个问题遇到了很多次,每次的解决办法都不一样,有时候使用同样的办法却无法解决问题,下面描述一下最近的解决办法,可以尝试,但不一定成功. 开始 据说要想启动这个服务,在windows服务中的"Forefront Identity Manager Service"和"Forefront Identity Manager Synchronization S

Sharepoint 2010 备份与恢复 (二)

使用数据库备份: 1. 安装必要组件 SharePoint Server 以下这些组件适用于Windows Server 2008及Windows Server 2008 R2. KB971831 (目前该KB还没有对2008 R2进行更新,这个KB为WCF添加一个新模式“AllowInsecureTransport”,如果没有这个模式则User Profile SA.Metadata Service SA不能正常工作) http://support.microsoft.com/kb/97183

创建SharePoint 2010 Timer Job

好久没有写博客了.最近在使用SharePoint 2010中Timer Job的功能,有了一点心得,分享一下. 我个人认为SharePoint Timer Job和Windows Service或者是Schedule很相似,就是enable之后可以定时执行.开发的步骤如下: 1.   在VS中新建一个Class,这个Class继承Microsoft.SharePoint.Administration.SPJobDefinition,实现的代码如下: using System; using Sys

Custom Ribbon in SharePoint 2010 & which not wrok when migrate from 2010 to 2013

1. First of all, let me show you the ribbon modal in our project whcih just like the example from internet. >>SPMIPRibbon.cs I've add some clear comments. using System.Collections.Generic; using System.Reflection; using System.Web.UI; using System.X

SharePoint 2010 升级到2013时间 为了确保用户可以连接,但无法改变升级数据

SharePoint 2010 升级到2013时间 为了确保用户可以连接,但无法改变升级数据 我总结的步骤 红色请注意它们的含义. 步骤1:连接到SQL DBS 上的SharePoint 2010数据库的内容. 步骤2:设置SharePoint内容数据库的仅仅读状态为True. 步骤3:把SharePoint 2010内容数据库备份文件恢复到SharePoint 2013场. 步骤4:SharePoint内容数据库的仅仅读状态设置为False(读写). 步骤5:分离SharePoint 2010

SharePoint 2010 BCS - 概述

SharePoint 2010首次引入了BCS的概念 - Business Connectivity Service,即业务连接服务.简言之,它能将外部系统的数据(如业务系统的数据表.ODATA数据源等)读取到SharePoint中以外部列表的方式显示出来,并实现简单的CURD.它可以看作是2007版本中BDC的升级版,或者也可以这么说,BCS包含了BDC,它能做BDC所有能做的东西,还能做更多的东西. Microsoft Business Connectivity Services (BCS)