全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworksBGVM服务器IP归属甄别会员请立即修改密码
查看: 8001|回复: 56

利用Windows PowerShell来批量创建Office 365(各种订阅)用户

  [复制链接]
发表于 2019-5-27 13:58:18 | 显示全部楼层 |阅读模式
刚才水的一篇文章啦,由于技术很差,只能写到这个水平,还请大家多多指正

http://blog.zxd.win/16.html

本文参考的官方文档:https://docs.microsoft.com/zh-cn/office365/enterprise/powershell/create-user-accounts-with-office-365-powershell

首先你的电脑要能运行Windows PowerShell,win10的话,在左下角图标上右键,选择Windows PowerShell(管理员)

步骤 1:安装所需软件

  1. Install-Module -Name AzureAD
复制代码


步骤 2:连接到 Office 365 订阅的 Azure AD

  1. Connect-AzureAD
复制代码


与用于 Windows PowerShell 的 Microsoft Azure Active Directory 模块连接

步骤 1:安装所需软件

  1. Install-Module MSOnline
复制代码


出现提示时选择A

好了,完成上面的环境安装后,我们就可以开始操作了

  1. Connect-MsolService
复制代码


这时会让你输入账号密码,注意需要有管理权限的(或者具有创建用户权限的管理员)



登陆成功后,我们就能开始操作了
下面是官方给的批量创建用户的命令,我们就按照这个写就好



我在这里给出我用的代码

  1. Import-Csv -Path "C:\Users\Administrator\Desktop\001.csv" | foreach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -UsageLocation $_.UsageLocation -LicenseAssignment $_.AccountSkuId} | Export-Csv -Path "C:\Users\Administrator\Desktop\NewAccountResults.csv"
复制代码


这个代码大概的意思是,读取的是我桌面(C:UsersAdministratorDesktop)的001.csv这个文件,并将结果记录在桌面(C:UsersAdministratorDesktop)的这个NewAccountResults.csv 文件中,大家在使用的时候可以自行修改这两个路径

为了方便大家,我把我用的csv文件放出来(csv文件不带用户密码,不用担心安全问题)

https://cloud.zxd.win/mjj.csv

如果你使用我的csv文件,还需要进行修改一些内容

csv文件由5个部分组成



打开我提供的csv文件,UserPrincipalName(就是用户的登陆邮箱)需要修改一下,把后缀修改为你的域名后缀就可以了
用excel的话,直接按ctrl+h,按下图操作(其中xxxxxxx.com代表你绑定在Office 365的域名)



除了UserPrincipalName,你还需要修改LicenseAssignment,就是你要分配给用户什么许可证

我的csv文件里面是这样的

  1. microsoft:STANDARDWOFFPACK_STUDENT
复制代码


前面这个microsoft,你需要修改为微软给你的二级域名的前面那部分
例如我的是这个admin@knauniversity.onmicrosoft.com
就需要把microsoft修改为knauniversity(批量修改的方法在前面有,ctrl+h)

后面这个STANDARDWOFFPACK_STUDENT,代表的是学生许可证
如果你想添加教师,就改为STANDARDWOFFPACK_FACULTY

你也可以在Windows PowerShell使用下面这个命令来看你的订阅

  1. Connect-MsolService
复制代码




这些都做好了,就可以真正的开始跑脚本了

  1. Import-Csv -Path "C:\Users\Administrator\Desktop\001.csv" | foreach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -UsageLocation $_.UsageLocation -LicenseAssignment $_.AccountSkuId} | Export-Csv -Path "C:\Users\Administrator\Desktop\NewAccountResults.csv"
复制代码


这是我用的脚本,具体要修改的地方就两个,在文章开头也说过了,前面那个路径代表你的csv的位置,后面那个路径是储存你创建的用户信息的位置

大概就是这些啦,文章写的还算比较详细吧,所以显得比较冗长,我也是个小白,不足的地方请大家多多指正,谢谢!

这是我跑的成果






如果有什么漏洞,请大家指出,非常感谢,也希望我能起一个抛砖引玉的效果,让更多脚本大佬放出更好的脚本
发表于 2019-5-27 14:09:11 | 显示全部楼层
本帖最后由 lzdszdl 于 2019-5-27 14:40 编辑

start-Transcript
for($i=1;$i -le 5000;$i++)
{
    $name='ppxuser'+$i+'@xxx.onmicrosoft.com'
    New-MsolUser -DisplayName PPXbigschool -FirstName PPX -LastName BIGSCHOOL -UserPrincipalName $name -UsageLocation US -LicenseAssignment xxx:STANDARDWOFFPACK_STUDENT
}
stop-Transcript
完事

友情提示:创号一时爽,删号火葬场

(附上删号脚本


for($i=1;$i -le 5000;$i++)
{
    $name='ppxuser'+$i+'@xxx.onmicrosoft.com'
    Remove-AzureADUser -ObjectID $name
}

点评

tsk
我艹,原来是 ppx 大佬,失敬失敬!  发表于 2019-5-27 20:09
P姥出手,羊毛撸走~  发表于 2019-5-27 19:52
for循环牛逼!  发表于 2019-5-27 14:31
发表于 2019-5-27 15:00:34 | 显示全部楼层
你这是砸了别人的20元饭碗啊
发表于 2019-5-27 14:00:25 | 显示全部楼层
大佬厉害  造福mjj
发表于 2019-5-27 14:02:44 | 显示全部楼层
不错不错     马克一下
发表于 2019-5-27 14:07:12 | 显示全部楼层
大佬就是牛逼啊,
发表于 2019-5-27 14:07:51 | 显示全部楼层
Windows PowerShell
版权所有 (C) 2013 Microsoft Corporation。保留所有权利。

PS C:\Users\Administrator> Install-Module -Name AzureAD
Install-Module : 无法将“Install-Module”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括
路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ Install-Module -Name AzureAD
+ ~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Install-Module:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

PS C:\Users\Administrator>

点评

直接 Install-Module MSOnline,然后 Connect-MsolService ,就好了,前面的操作不用搞。  发表于 2019-5-27 14:37
你这怕是上个世纪的powershell......  发表于 2019-5-27 14:29
 楼主| 发表于 2019-5-27 14:14:02 | 显示全部楼层
mikj 发表于 2019-5-27 14:07
Windows PowerShell
版权所有 (C) 2013 Microsoft Corporation。保留所有权利。

https://docs.microsoft.com/zh-cn/office365/enterprise/powershell/connect-to-office-365-powershell#connect-with-the-azure-active-directory-powershell-for-graph-module

在这里看看吧
发表于 2019-5-27 14:14:17 | 显示全部楼层
mark,感谢分享
发表于 2019-5-27 14:21:14 | 显示全部楼层
感谢分享,前来支持。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2022-1-20 12:14 , Processed in 0.101530 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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