设为首页 收藏本站
查看: 1077|回复: 0

SharePoint自动化部署,利用PowerShell 导出/导入AD中的用户

[复制链接]

尚未签到

发表于 2015-9-24 12:10:06 | 显示全部楼层 |阅读模式
  这几个月一直在帮客户改需求,部署。我已经心力憔悴,经过一段时间的摸索,我对用PowerShell实现自动化部署也有了一些心得,比如说利用PowerShell导出导入AD中的User。在基于SharePoint平台开发时,利用AD来进行人员的管理,一般会建组织单元(OrganizationalUnit)来对用户进行管理。当最终部署到客户的服务器上时,怎样把本地AD中的用户数据同步到服务器上呢,要知道如果手动输入人员是一件麻烦的事。幸运的事,PowerShell可以帮我们解决这个麻烦的问题。


导出AD Users(Export-Csv)


  • 首先导出本地相应OU中的User Object



<#

.Description
从AD中的组织单元里以csv格式导出人员数据
.Example
.\userInfoExport.ps1 -ou "Sources" -dc "xcgov" -path "c:\temp\xxx.csv"
#>
param([string]$ou,[string]$dc,[string]$path)
if(!(Get-PSSnapin| Where-Object{$_.Name -eq "Microsoft.SharePoint.PowerShell"})){
Add-PSSnapin "Microsoft.SharePoint.PowerShell"
}
$searchBase='OU='+$ou+',Dc='+$dc+',Dc=com'
Get-ADUser -LDAPFilter '(name=*)' -SearchBase $searchBase |Select GivenName,SurName,Name,SamAccountName|Export-Csv $path -NoTypeInformation -Encoding UTF8

  • 导出时注意编码格式,特别是数据中包含中文等。比如我这儿使用的是UTF-8。
  • 导出的对象包含许多属性,我们选重要的属性导出,比如GivenName、SurName、Name、SamAccountName,结果如下所示:
DSC0000.png

导入AD Users(Import-Csv)


  • 当得到指定的OU中的User后,接下来就是导入到线上服务器AD指定的OU中



<#

.Description
从指定的csv格式中导入人员信息
.Example
.\importUserInfo.ps1 -ou "Hello" -dc "Kingdom" -sourcePath "C:\temp\xxx.csv"
#>
param([string]$ou,[string]$dc,[string]$sourcePath)
if(!(Get-PSSnapin|Where-Object{$_.Name -eq "Microsoft.SharePoint.PowerShell"})){
Add-PSSnapin "Microsoft.SharePoint.PowerShell"
}
#创建组织单元#

[string]$path='OU='+$ou+',Dc='+$dc+',Dc=Com'
if(![adsi]::Exists("LDAP://$path")){
$domainObj=[adsi]("LDAP://Dc="+$dc+",Dc=com")
$domainOU=$domainObj.Create("OrganizationalUnit","OU="+$ou)
$domainOU.SetInfo()
}
$users=Import-Csv -Path $sourcePath
foreach($user in $users){
$givenName=$user.GivenName
$surName=$user.SurName
$name=$user.Name
$samAccountName=$user.SamAccountName
$userPrincipalName=$samAccountName+'@'+$dc+'.com'
$password=$user.Password
#创建AD User#

New-ADUser -Name $name -SamAccountName $samAccountName -UserPrincipalName $userPrincipalName -DisplayName $name -GivenName $givenName -Surname $surName -AccountPassword (ConvertTo-SecureString $password -AsPlainText -Force) -PasswordNeverExpires $true -Enabled $true -Path $path
}
Write-Host "导入成功"

  • 如果导入的时候一直出现乱码,但用Excel打开csv格式时都是正确的编码。尝试将csv用记事本打开,另存为UTF-8格式。因为我使用的英文版的Server,不知道中文版本的系统是否会出现导入乱码。
  导入成功后,如下所示:
DSC0001.png

小结

  这篇博客对PowerShell自动化部署SharePoint开了个头,下一篇随笔打算写写利用SPSD进行自动化部署SharePoint,包括利用PowerShell创建权限组,分配权限,设置母版页等。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-118197-1-1.html 上篇帖子: PowerShell在SharePoint 2010自动化部署中的应用(1)--代码获取 下篇帖子: 利用 PowerShell 分析SharePoint WebApplication 体系结构
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表