Netwrix 1Secure 提供跨数据和身份的统一可见性——免费试用14天,享有完全访问权限。开始免费试用

资源中心博客

如何创建、分配许可证、禁用和删除 Office 365 帐户

如何创建、分配许可证、禁用和删除 Office 365 帐户

Mar 17, 2023

Office 365 包含多种服务,例如 Exchange Online、SharePoint Online 和 OneDrive for Business,可促进用户之间的沟通与协作。然而,要使用 Office 365 服务,每个用户都需要在 Office 365 中拥有自己的用户帐户,并为其分配许可证。您可以轻松地从不再使用的用户帐户中移除许可证,并将其重新分配给其他用户帐户。

在这篇博客文章中,我将介绍如何快速高效地创建 Office 365 帐户,如何为它们分配合适的许可证,以及在不再需要时如何删除 Office 365 帐户。我将分享如何使用 PowerShell 在 Office 365 中完成这些任务。虽然 Office 365 管理中心是大多数管理任务的起点,并且包含指向 Azure Active Directory、Exchange Online、SharePoint Online 和 Skype for Business Online 的特定服务管理中心的链接,但有些高级任务只能使用 PowerShell 执行。此外,PowerShell 命令的语法变更非常少,因此 PowerShell 很适合长期的管理员使用。

连接到 Office 365

执行这些任务的第一步,是在本地计算机上打开到 Office 365 的 PowerShell 会话。我已创建了一个脚本来简化这一过程;只需将其复制到文本文件中,并将文件保存为扩展名 .PS1。当你准备好连接时,请进入 PowerShell 控制台窗口,通过输入 scriptname.ps1 来运行脚本(即句点、反斜杠、文件名),然后在提示时输入你的 Office 365 管理员凭据。

      $URL = "https://ps.outlook.com/powershell"

$Credentials = Get-Credential -Message "Enter your Exchange Online or Office
 
365 administrator credentials"

$CloudSession = New-PSSession -ConfigurationName Microsoft.Exchange -Connect

ionUri $URL -Credential $Credentials -Authentication Basic -AllowRedirection
 
-Name "Office 365/Exchange Online"

Import-PSSession $CloudSession –Prefix “365”
      

该脚本最后一个 cmdlet 中的 -Prefix 参数在混合部署中很重要;如果你希望在纯云环境中运行此脚本,则可以移除此参数。混合环境中需要它的原因是:有时 cmdlet 的命名空间会发生冲突。例如,当同时运行本地(on-premises)Exchange Server 和 Office 365 Exchange Server 时,如果你运行 New-Mailbox 命令,PowerShell 将无法判断是应在本地创建新的用户邮箱,还是在云端创建共享邮箱。为了解决这个问题,脚本会以前缀“365”加载 Office 365 的 cmdlet 命名空间。因此,你应该将所有需要在云端运行的 Exchange cmdlet 命名为以“365”为前缀,例如“New-365Mailbox”或“Get-365DistributionGroup”;而所有需要在本地部署中运行的 Exchange cmdlet 则按默认设置保持不变。这样就非常容易将它们区分开来。

创建 Office 365 账号

连接到 Office 365 后,你可以一次创建一个账号,也可以批量创建。

要为单个新的 Office 365 用户进行配置,请使用以下脚本:

      New-MsolUser -DisplayName "Employee Name Here" -FirstName FirstName -LastName LastName -UserPrincipalName alias@yourtenant.onmicrosoft.com –UsageLocation US
      

如果你的用户位于美国以外,请将“US”替换为相应的两位字母 ISO 国家/地区代码。此项为必填字段;在 Office 365 知道你的用户将从哪个国家/地区访问其服务之前,你无法分配许可证(如下一节所述)。

要一次性为多个新的 Office 365 用户帐户进行配置,请创建一个具有以下结构的 CSV 文件:

      UserPrincipalName,FirstName,LastName,DisplayName,UsageLocation

      

例如,以下是三个条目:

      newuser1@yourtenant.onmicrosoft.com,John,Smith,John Smith,US

newuser2@yourtenant.onmicrosoft.com,Greg,Jones,Greg Jones,US

newuser3@yourtenant.onmicrosoft.com,Jacob,Rogers,Jacob Rogers,UK
      

然后使用 PowerShell 导入 CSV 文件,并将其内容通过管道传递给 New-Msoluser 命令,如下所示:

      Import-Csv -Path "C:newusers.csv" | foreach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName} –UsageLocation $_.UsageLocation | Export-Csv -Path "C:newuserresults.csv"
      

该脚本将创建用户帐户,并同时编写一个新的 CSV 文件,列出新用户以及系统为他们自动生成的密码,然后你可以将该文件与用户共享。

分配许可证

仅在 Office 365 中创建帐户还不够;要能够执行任何操作,用户的帐户必须分配许可证。不同类型的许可证会“解锁”服务中的不同功能。创建帐户后,你有 30 天的时间为其分配许可证。通常可以在同一许可证家族中灵活组合,因此例如部分用户可能有 E3 计划,其他用户有 E1,还有一些用户有 E5。

使用 Get-MsolAccountSku cmdlet 查看组织中的许可证计划和可用许可证,并使用 Get-Msoluser 查看租户中所有用户的许可证状态。

要分配许可证,请使用 Set-MsolUserLicense cmdlet。 例如,要将 Office 365 Enterprise E3 计划(在 PowerShell 中显示为“ENTERPRISEPACK”)分配给用户,请使用以下命令:

      Set-MsolUserLicense -UserPrincipalName "newuser1@yourtenant.onmicrosoft.com" -AddLicenses "yourorgname:ENTERPRISEPACK"
      

若要将 E3 许可证分配给当前尚未分配许可证的所有用户,请使用以下两个命令:

      $UsersWithoutALicense = Get-MsolUser -All -UnlicensedUsersOnly

$UsersWithoutALicense | foreach {Set-MsolUserLicense -AddLicenses "yourorgname:ENTERPRISEPACK"}
      

在哪里购买许可证

你可以通过以下几种方式为你的组织获取许可证:

  • 可通过 Office 365 Web 门户直接从 Microsoft 购买。对于大多数组织而言,这是一种最直接的购买服务方式:你只需将一定数量的许可证添加到购物车中,并使用信用卡购买,通常即可立即投入使用。
  • 通过批量授权协议。此方法可以让你享受组织折扣;不过,在你收到许可证代码之前会需要一些时间。然后,你可以在 Web 门户中兑换该代码(目前无法使用 PowerShell 来兑换许可证)。
  • 通过转售商。有时,通过转售商购买 Office 365 可能更具成本效益。转售商可能会在核心 Office 365 的基础上捆绑提供额外服务,例如在线备份或增强的垃圾邮件过滤。在这种情况下,许可证兑换方式可能因情况而异,但转售商会带您完成整个流程。

阻止用户

如果用户正在休假或由于其他原因暂时离开,您可以禁用其 Office 365 帐户(在 O365 术语中,您需要“阻止”用户帐户),这样就不会有人能使用它进行登录。如果您不想删除用户帐户,但关联用户在较长一段时间内不需要它,这是一个很好的安全预防措施。只需一条 PowerShell 命令即可完成:

      Set-MsolUser -UserPrincipalName newuser2@yourtenant.onmicrosoft.com -BlockCredential $true
      

当然,要取消阻止状态,请使用以下命令:

      Set-MsolUser -UserPrincipalName newuser2@yourtenant.onmicrosoft.com -BlockCredential $false
      

删除 Office 365 用户帐户

当用户离开公司,或不再需要使用 Office 365 时,你需要删除他们的用户账户。PowerShell 也能让这一步变得很简单:

      Remove-MsolUser -UserPrincipalName newuser2@yourtenant.onmicrosoft.com
      

除了移除用户账户之外,此命令还会自动移除 Office 365 的许可证分配,并将已删除的许可证实例放回你的通用许可证池中,以便将来可重新分配给其他账户。

请查看 Exchange Online 章节,了解如何在删除该员工的 Office 365 账户后,仍能保留对其邮箱的访问权限。

分享到

了解更多

关于作者

Asset Not Found

Jonathan Hassell

顾问

在多种 IT 主题上担任作者、顾问和演讲者。Jonathan 已撰写关于 Windows Server 及相关产品的书籍,并在全球范围内就从网络与安全到 Windows 管理等主题进行演讲。