文章

Office 365 批量生成用户

  编辑于:2018-05-28
文章目录

Powershell模块。

AdministrationConfig
msoidcli_64

CSV 文件说明。

可以用excel生成csv文件。
开头5列为:

DisplayName UserPrincipalName Department Password UsageLocation
显示名称     登录名            类型        密码     地区

使用EXCEL随机生成用户名,密码。

随机生成数字:=INT(RAND()*10)
随机小写字母:=CHAR(INT(RAND()*26)+97)
随机大写字母:=CHAR(INT(RAND()*26)+65)
随机大小写混合字母:=CHAR(INT(RAND()*26)+if(INT(RAND()*2)=0,65,97))
产生随机的六位数的字母和数字混合:
=CONCATENATE(IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48)),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65)),CHAR(INT(RAND()*25+97)))))

示例:

DisplayName	UserPrincipalName	Department	Password	UsageLocation
teyixa	        [email protected]	EDU	        af2T3qdO4	CN

生成足够数量的账户后,使用EXCEL另存为CSV文件。

使用说明(pwershell)

打开微软powershell
依次运行,下面四条命令

#导入office模块
Import-module MSOnline
#登录office,必须有365开号权限
$Credential = Get-Credential
#链接
connect-msolservice -credential $Credential
#查询授权
Get-MsolAccountSku

把查询出来的授权和下面的XXXXXXX替换
然后运行下面的命令
其中user.csv为生成的csv文件,自己改成user.csv,放入D盘根目录就可以了。

Import-Csv -Path “D:\user.csv” | ForEach {New-MsolUser -DisplayName $_.DisplayName -UserPrincipalName $_.UserPrincipalName -Department $_.Department -Password $_.Password -UsageLocation $_.UsageLocation -LicenseAssignment ‘XXXXXXXXXXX’ -PasswordNeverExpires $true -ForceChangePassword $False}

批量删除用户

有的时候有一些意外情况,多添加了用户,这时候怎么批量添加用户呢?
同样的,还是使用PowerShell,首先,还是使用powershell登录到账户。

操作

首先,我们来看一下Get-MsolUser这个命令
https://docs.microsoft.com/en-us/powershell/module/msonline/get-msoluser?view=azureadps-1.0

这里的关键在于如何过滤出来我们想要操作的用户,这个命令带有几个有趣的参数

[-City ] [-Country ] [-Department ] [-DomainName ] [-EnabledFilter ][-SearchString ]

这些参数都可以用来作为过滤的条件,而且这个过滤是在服务器端发生的。
需要注意的是SearchString,只支持简单的模糊匹配,它会在displayname和alias中做匹配。
有时候,我们可能需要根据用户的创建时间进行筛选。目前没有看到这方面的参数。但可以通过下面的方式来解决

Where-Object {$_.WhenCreated –gt “6/16/2017”}

这个过滤是在本地过滤的,就是把所有用户读取到了本地缓存中,然后再过滤。上述表达式的意思是,找到6/16/2017后创建的用户。
使用$users保存了这个用户列表后,可以进一步操作Remove-MsolUser命令来进行删除。

$users.count
$users | Remove-MsolUser –Force

主要内容来自:ypank.comhttps://www.cnblogs.com/chenxizhang/p/7144340.html

发表回复