同时新建AD账号、邮箱、添加通讯组的powershell脚本

根据公司的需要,写了一个同时新建AD账号、邮箱、添加通讯组的powershell脚本,首先需要编辑csv文件,格式如下:

代码如下,加入了重名判断、添加到组延迟6秒运行、失败后重现尝试4次功能:

Import-Module ActiveDirectory
$erroractionpreference = "SilentlyContinue"
#判断是否有重名账号存在
$f = $False
Import-Csv -Path D:\newuser\Info.csv | foreach { 
$a = Get-ADUser -Identity $_.account
if($a -ne $null){
echo ($_.account+‘账户在AD中已经存在了。‘)
$f = $true
}
else
{ }
$a = $null
}
if($f -eq $true){
echo 请在csv文件中修改以上用户名后,重新运行脚本。
cmd /c pause
exit
}
else{echo 没有重名的用户名,正在加载Exchange模块和新建用户账号,请稍等。。。}
#新建账号和邮箱
$erroractionpreference = "Continue"
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
$password = ConvertTo-SecureString -AsPlainText 6yhn^YHN -Force
Import-Csv -Path D:\newuser\Info.csv | foreach {  
New-Mailbox -Name $_.name -Alias $_.account -OrganizationalUnit ‘teset.com/teset/newuser‘ -UserPrincipalName ($_.account+‘@teset.com‘) -SamAccountName $_.account -DisplayName $_.name -Password $password -Database ‘User04‘ -ResetPasswordOnNextLogon $true
}
$erroractionpreference = "SilentlyContinue"
#添加到相应的组
choice /t 6 /d y /n |Out-Null
Import-Csv -Path D:\newuser\Info.csv | foreach {
$b = 1
$b = Add-ADPrincipalGroupMembership -Identity $_.account -MemberOf SHoffice
if($b -eq $null){
echo ($_.account+‘加入SHoffice组成功‘)
}
else{
$b = Add-ADPrincipalGroupMembership -Identity $_.account -MemberOf SHoffice
if($b -eq $null){
echo ($_.account+‘加入SHoffice组成功‘)
}
else{
$b = Add-ADPrincipalGroupMembership -Identity $_.account -MemberOf SHoffice
if($b -eq $null){
echo ($_.account+‘加入SHoffice组成功‘)
}
else{
$b = Add-ADPrincipalGroupMembership -Identity $_.account -MemberOf SHoffice
if($b -eq $null){
echo ($_.account+‘加入SHoffice组成功‘)
}
else{
echo ($_.account+‘加入SHoffice组失败!!‘)
}
}
}
}
$c = 2
$c = Add-ADPrincipalGroupMembership -Identity $_.account -MemberOf $_.group1
if($c -eq $null){
echo ($_.account+‘加入‘+$_.group1+‘组成功‘)
}
else{
$c = Add-ADPrincipalGroupMembership -Identity $_.account -MemberOf $_.group1
if($c -eq $null){
echo ($_.account+‘加入‘+$_.group1+‘组成功‘)
}
else{
$c = Add-ADPrincipalGroupMembership -Identity $_.account -MemberOf $_.group1
if($c -eq $null){
echo ($_.account+‘加入‘+$_.group1+‘组成功‘)
}
else{
$c = Add-ADPrincipalGroupMembership -Identity $_.account -MemberOf $_.group1
if($c -eq $null){
echo ($_.account+‘加入‘+$_.group1+‘组成功‘)
}
else{
echo ($_.account+‘加入‘+$_.group1+‘组失败!!‘)
}
}
}
}
}
cmd /c "pause"

执行成功后:

有问题,给我留言,一起讨论。

时间: 2024-10-28 20:20:33

同时新建AD账号、邮箱、添加通讯组的powershell脚本的相关文章

exchange 2010 EMC创建邮箱时无法同步AD中新建的账号

最近客户公司exchange 2010出现了一个奇怪的现象,在AD中创建一个新的账号,然后在exchange 2010 EMC中新建邮箱时,在向导中选择现有用户时却发现找不到这个用户,同样,在exchange 2010 EMC中直接创建邮箱,同时新建AD账号后,在AD用户和计算机中也无法找到这个账号. 客户的环境比较简单,是单林单域多站点的情况,分别为bj.sz.tw,每个站点各有两台DC和一台exchange. 经过检查,发现这种情况并没有在bj和tw出现,而且各站点的DC都复制正常,我尝试在

Powershell管理系列(二十五)PowerShell操作之或者AD账号及邮箱信息

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 有时候我们需要查询账号的很多属性,但是需要通过不同的命令去获取,有点类似SQL Server里面的多表连接查询,比如查询所有账号的ad账号描述,邮箱名,显示名,邮箱地址,邮箱数目,邮箱大小,存档邮箱大小,存档邮箱数目. ad账号描述---对应AD账号的描述信息,通过Get-adUser 获取 邮箱名,显示名,邮箱地址---对应用户

Powershell管理系列(三十九)PowerShell查询和解锁AD账号

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 需求:根据要求对集团AD域及下属3个子域的所有AD账号进行统计,查询所有锁定的账号,解锁,并每天早上发送邮件到指向邮箱. Import-Module activedirectory $yuntcloud_Lockeduser = Search-ADAccount -LockedOut -SearchBase "dc=yuntclo

恢复AD账号之后……

前言: 恢复AD账号的文章不少,但是恢复后,往往更重要的事情片字未提,本文从实际操作角度出发,利用事前主动备份,防患未然,适用于每家企业. 某AD管理人员失误,将大领导账号*删*除(删*除也是敏感字?).抓紧将领导账户恢复,其反应一天邮件很少,本应该收到N个群组的来信,有些文件夹提示无权限!.才发现恢复账户后隶属组信息丢失.经过查询,未发现事后恢复群组信息的方法. 既然这样,干脆定期备份一次群组信息. 代码部分: Import-Module ActiveDirectory Get-ADUser 

Poweshell修改AD账号属性

Poweshell修改AD账号属性 最近项目中需要对大批量AD用户属性进行修改,如电话.手机等不唯一属性.顺便整理了个用户属性对应AD字段信息,方便查看. 1.常规属性 2.地址属性 3.电话属性 4.组织属性 ---------------------------------------------------------------------------------------- 步骤1.根据用户要求,我们要对现有的AD账号属性进行修改,需要添加以下字段值: 显示名------displa

Powershell管理系列(四十)PowerShell查询和解锁AD账号(改进后,只发一次邮件)

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 需求:根据要求对集团AD域及下属3个子域的所有AD账号进行统计,查询所有锁定的账号,解锁,并每天早上发送邮件到指向邮箱.(之前三十九的基础上略作调整,只发一封邮件即可) Remove-Item C:\get_locked_user\ -Recurse -Force if(!(test-path C:\get_locked_user

Exchange 2013 PowerShell新建&修改&删除邮箱

在我们日常使用Exchange Management Shell最多的应该就是邮箱的管理了.在这一节中,将主要介绍下在Exchange中使用语法命令在组织中创建.更新和删除邮箱. 先来看一个示例: 1.  我们可以使用Exchange Management Shell创建一个启用了邮箱功能的AD账户.语法如下: $password = ConvertTo-SecureString -AsPlainText abc.123 -Force New-Mailbox -UserPrincipalName

sharepoint2010人性化的地方--员工离职AD账号禁用(个人网站自动提醒上级经理功能)

sharepoint2010人性化的地方--员工离职AD账号禁用(个人网站自动提醒上级经理功能) 最近有个项目,每个员工都开通了个人网站,但是有些员工离职后禁用AD账号后自动给该员工的个人属性中的“上级经理”指定的经理发一份提醒邮件如下: XXX/Hunk 的“我的网站”已计划在 14 天内删除.作为他们的经理,您现在是其网站的临时所有者.此临时所有权使您可以访问该网站,复制您可能需要的与企业相关的任何信息.若要访问该网站,请使用以下 URL:http://mysite.xxx.com/pers

禁用Exchange 2016管理员的为邮箱添加完全控制权限

背景 Exchange Server是一个功能强大的邮箱服务器.邮箱做为企业通讯的一种方式,其数据安全的重要性越来越收到重视.在Exchange Server中有个功能,只要把一个邮箱添加到另外一个邮箱的完全控制权限中,就可以像打开自己邮箱一样对其有完全控制权限.很多企业把它做为一个风险.希望在不影响Exchange管理员日常管理的情况下禁用此功能.操作步骤 1, 打开ECP,在Admin Roles中,复制Organization Management权限组,新建的组名为Limited Org