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
这些参数都可以用来作为过滤的条件,而且这个过滤是在服务器端发生的。
需要注意的是SearchString,只支持简单的模糊匹配,它会在displayname和alias中做匹配。
有时候,我们可能需要根据用户的创建时间进行筛选。目前没有看到这方面的参数。但可以通过下面的方式来解决
Where-Object {$_.WhenCreated –gt “6/16/2017”}
这个过滤是在本地过滤的,就是把所有用户读取到了本地缓存中,然后再过滤。上述表达式的意思是,找到6/16/2017后创建的用户。
使用$users保存了这个用户列表后,可以进一步操作Remove-MsolUser命令来进行删除。
$users.count $users | Remove-MsolUser –Force
主要内容来自:ypank.com 和 https://www.cnblogs.com/chenxizhang/p/7144340.html