用powershell批量新增user profile

SharePoint 2013 新系统,要在User Profile
Service里把人全加一下,其实同步ad更方便,但ad里的人太多,没必要全要,只要大中华区就行了,问hr要了一份人员名单,写了个脚本

先来个xml,把要加的人ad账号列一下

<Users>
  <UserName Name="user_a" />
  <UserName
Name="user_b" />
  <UserName
Name="user_c" />
  <UserName
Name="user_d" />
  <UserName
Name="user_e" />
  <UserName
Name="user_f" />

</Users>

再来一段简单的脚本

#********************************************************************
# Create New User
#
#********************************************************************

$snapin = Get-PSSnapin | Where-Object
{$_.Name -eq
‘Microsoft.SharePoint.Powershell‘}
if ($snapin
-eq $null)
{

  Write-Host "Loading SharePoint Powershell
Snapin..."
  Add-PSSnapin "Microsoft.SharePoint.Powershell"

  Write-Host "SharePoint Powershell Snapin
Loaded"
}
# Get
XML Configuration file
[xml]$xmlData=Get-Content "C:\\test.xml"

Write-host
""
Write-host -f
Yellow "Starting create new
user"

# create a connection to
the User Profile Manager
$MySite
= Get-SPSite
<siteUrl>
$context = Get-SPServiceContext
$MySite

# Get UserProfileManager
Object
$profileManager = New-Object
Microsoft.Office.Server.UserProfiles.UserProfileManager($context)

$xmlData.Users.UserName |
ForEach-Object {

  if($profileManager.UserExists($_.Name) -eq
$false){
    $profileManager.CreateUserProfile($_.Name)
    Write-host
-f Green $_.Name"created"
  }

  else{
    Write-host -f Red $_.Name"already exist"
  }

}

时间: 2024-12-09 01:18:44

用powershell批量新增user profile的相关文章

批量导入是批量修改还是批量新增

1.一般基础数据信息的管理功能包括   新增.修改.删除.查询.导入.导出,比如物料信息维护: 这里说到的导入即相对于新增来说,即批量新增的功能: 2.当我所有的数据信息都完善了的情况下,由于业务的变更,需要给这些基础数据信息新增一个字段信息A:这个时候怎么办? 3.注:在新增.修改.导入模块都增加了字段信息A; 方案1.我做一个批量修改导入的模块,取物料信息的唯一字段标识与要导入的字段A,2列,单独去导入,实现批量修改的功能,用户自己去导入: 方案2.用户提供要导入的信息,包括物料信息的唯一标

使用powershell批量添加Qt的文件(生成pro)

想使用QtCreator作为编辑器编辑keil或者IAR的工程,需要生成.pro文件,于是使用powershell批量处理. 源码如下: $incPath = dir -filter "*.h" -Recurse $headList="","" $pathList = "","" foreach($fpath in $incPath) { $headList+=$fpath.DirectoryName +

mybatis 学习笔记(4) —— 批量新增数据

1.业务是从前台传入List<T> ,在controller层接受参数,并进行批量新增操作. 2.需要处理的细节 a) mybatis可以支持批量新增,注意数据表需要将主键设置成自增列. b) 由于spring mvc 无法将参数[{id:0,text:'a'},{id:1,text:'b'}] json字符串转换为对应的List<T>,因此需要自己手动封装一个方法用于将传入的字符串转换为泛型集合 3.具体实现步骤 a) js提交 需要注意的是必须在参数名上加引号 var dept

MyBatis批量新增和更新

之前有开发任务一个接口里面有大量的数据新增和更新操作,导致十分缓慢.使用了批量操作之后速度有明显提升,几乎百倍千倍的速度提升. 博主之前统计过,通过普通接口一次数据库插入大概需要200ms,对于大量新增或更新操作的情况,数据库批量操作是十分有必要的.废话不多说,直接上代码. 博主的resultMap如下: <resultMap id="BaseResultMap" type="com.luo.domain.Words" > <id column=&

Powershell批量修改AD账户登陆到的计算机

Powershell 批量修改AD账户登陆到的计算机 上个月有个项目中碰到这样一个需求,讲述步骤前先描述下客户的实际情况:因安全考虑需要,域内的计算机之前都已经设置了指定登陆到的计算机,目前的项目是从Lotus邮件系统迁移到Exchange 2010,Lotus工作流迁移到泛微OA,域内账户输入账号和密码后不能登陆到Exchange系统.原因就是设置了账户的登陆到计算机属性,因为Exchange是新上的系统,没在指定范围内,所以需要添加Exchange服务器CAS01,CAS02,Mail,Ma

PowerShell批量配置Azure VM端点

我们可以通过PowerShell命令:Add-AzureEndpoint来向虚拟机添加端点. 请参考以下脚本,批量添加虚拟机端点: 备注:该例子针对一个虚拟机,添加了三个端口: 端口名称 协议 公用端口 私有端口 MyPort1 tcp 5001 5001 MyPort2 tcp 5002 5002 MyPort3 udp 5003 5003 该例子中,云服务名称与虚拟机名称均为:JohnsonLinux.如果需要添加更多的端口,那么可以按照相应格式,将端口配置添加到$newVmEndpoint

批量新增百万条数据 十百万条数据

--创建用户表CREATE TABLE table_1(    id int PRIMARY KEY, -- 主键ID    c1 varchar(24) NOT NULL,-- 列1    c2 datetime NOT NULL -- 列2) -- 批量新增一万条数据CREATE PROCEDURE PROC_INSERT @max int = 1000000, @c1 int = 1as WHILE @c1  <= @maxBEGIN  INSERT INTO Table_1 VALUES

PowerShell批量启动/关闭Azure VM

备注:以下例子中出现的JohnsonWeb, JohnsonVm均是虚拟机的名称.在运行Powershell脚本之前,请导入您的订阅文件. 根据条件启动/关闭虚拟机,例如根据虚拟机名称,批量启动/关闭 启动虚拟机 $vmNames = New-Object System.Collections.ArrayList $vmNames.Add("JohnsonWeb") $vmNames.Add("JohnsonVm") foreach($vm in Get-Azure

PowerShell 批量导入/导出Active Directory

PowerShell 批量导入/导出Active Directory 最近因为公司要求,需要导入20个供应商.20个客户到AD域中,刚开始手动加入了2个供应商,2个客户.但是感觉费时费力.如果能够找到一个命令,批量导入AD该多好呀. 因为之前有师兄在AD方面留下的有文档,发现AD域用户导出的命令是这样的: csvde -f E:\20131015.csv -r "(objectClass=user)" -d "OU=XXX,DC=XXX,DC=com" -u 这里对