• 折腾
  • Office 365 子账号批量创建

连接到 Office 365 PowerShell

步骤 1:安装所需软件

这些步骤只需在您的计算机上执行一次即可,而不是在每次连接时都要求执行。但是,您可能需要定期安装较新版本的软件。

  1. 安装 64位/32位版 Microsoft Online Services 登录助手(根据自己电脑选择32/64位)。
  2. 安装用于 Windows PowerShell 的 Microsoft Azure Active Directory 模块,具体步骤如下:

打开提升的 Windows PowerShell 命令提示符(以管理员身份运行 Windows PowerShell)。

运行 Install-Module MSOnline 命令。

如果系统提示安装 NuGet 提供程序,请键入 Y,然后按 Enter 键。

如果系统提示从 PSGallery 安装模块,请键入 Y,然后按 Enter 键。

 

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

请从 Windows PowerShell 命令提示符 (它没有要提升的权限) 运行以下命令:


 

Connect-MsolService

登录到您的帐户对话框中,输入您的 Office 365 工作或学校帐户的用户名和密码,,然后单击确定。

 

查看订阅SKU

运行命令:

Get-MsolAccountSku

 

目的是提取相对应的SKU。例如我需要提取下面截图的zjt73027:ENTERPRISEPACK,也就是创建子账号拥有这个订阅

准备账号文本

编辑csv.bat里面的内容,改成相对应的。

修改好之后 直接运行bat,就会在bat的文件夹出现一个csv文件,然后改成名称为:NewAccounts.csv

 

然后把NewAccounts.csv放到C盘的My Documents文件夹里面。(或者自己放到其他路径都可以,禁止路径包含中文)

 

 

使用 Office 365 PowerShell 创建多个用户帐户

输入命令

 

Import-Csv -Path "C:\My Documents\NewAccounts.csv" | foreach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -UsageLocation $_.UsageLocation -LicenseAssignment $_.AccountSkuId} | Export-Csv -Path "C:\My Documents\NewAccountResults.csv"

 

(如果是放到其他路径的,请自行修改相对应路径)

最后My Documents文件夹会出现一个NewAccountResults.csv 里面就有创建好的子号了。

 

 

问题解决

  1. 如果出现路径报错的,请自己检查路径是否正确,实在不行就一步步按照教材的来。

 

  1. 如果出现获取不到订阅的,请查看SKU是否填写正确。

 

  1. 其他问题待补充

 

注意:路径禁止有中文的

 

CSV.BAT

csv.bat文件代码,可以自行新建文本改成csv.bat

REM =====================
REM ======Power BY Ctrler=====
REM =====================
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
COLOR 02
TITLE CREATE CSV
SET NAME=ByCtrler
SET USER=1
SET EMAIL=@ctrons.com
SET LOCATION=US
SET SKU=zjt73027:ENTERPRISEPACK
SET MYDIR=%CD%
SET COUNT=20
SET /A END=%USER%+%COUNT%
SET CSVFILE=%USER%-%END%.csv
SET UTMP=0
 
 
IF EXIST %CSVFILE% DEL /F/Q %CSVFILE%
ECHO UserPrincipalName,FirstName,LastName,DisplayName,UsageLocation,AccountSkuId> %CSVFILE%
 
FOR /L %%i in (0,1,%COUNT%) DO (
SET /A UTMP=%USER% + %%i
ECHO %NAME%!UTMP!%EMAIL%,!UTMP!,!UTMP!,!UTMP!,%LOCATION%,%SKU%>>%CSVFILE%
)
ENDLOCAL