Windows PowerShell 可以发现无法在管理中心看到的“隐藏”信息

 

上一次修改主题: 2014-06-09

有时 Office 365 能带给您的并不仅仅是呈现在眼前的那么简单。(或者,不仅仅是呈现在 UI 中的那样简单。)例如,管理中心将显示许多非常有用的信息,但这并不能说明显示了所有信息。

我们所说的是什么意思呢?假定您在管理中心的 Office 365 部分中,并单击“用户和组”。默认情况下,您将看到有关所有活动的 Office 365 用户的信息:

Office 365 管理中心。

这有什么问题吗?没问题,这些都是非常有用的信息。当然,实际情况还包括对每个用户显示的信息仅为用户的显示名称、用户名和用户的当前状态。这又有什么问题呢?同样,没有任何问题:这些都是您需要了解的所有信息。

尽管如此,还有您要不断了解的可能有用的其他信息。例如,Office 365 授权(及用户可用的 Office 365 功能)在一定程度上取决于用户的地理位置:您可向居住在美国的用户扩展的策略和功能可能与可向居住在印度或比利时的用户扩展的策略和功能不同。您是否可以使用管理中心来确定用户的地理位置?您当然可以。您需要做的是:

  1. 双击用户的“显示名称”。

  2. 在用户属性显示窗格中,单击“详细信息”。

  3. 在显示的详细信息中,单击“其他详细信息”。

  4. 向下滚动,直到看见“国家或地区”标题:

    Office 365 用户设置。
  5. 在一张纸上记下用户的显示名称和位置,或将其复制并粘贴至记事本中。(除非您认为可以记住所有用户的显示名称和位置。)

来看看有多简单。然后您只需为下一个用户重复此过程。后面的用户也是如此。然后……

安全注释安全性注意:
希望用户数量不超过 1,000。因为管理中心一次最多只能显示 1,000 个用户帐户。假设您有 2,000 个用户,则需要找到一种方法显示前 1,000 个用户,然后再找到一种方法显示后 1,000 个用户。

这样是否有效?当然有效。这样做是不是感觉繁琐和浪费时间?是的,非常繁琐和浪费时间。但您能选择什么样的方式呢?

事实证明,您可以选择以下方式:

Get-MsolUser | Select-Object DisplayName, UsageLocation

这个简单的 Windows PowerShell 命令(需要安装 Windows Azure Active Directory 模块)将显示与此类似的信息,并显示所有用户(即使有 2,000 个用户)的这些信息:

DisplayName                               UsageLocation
-----------                               -------------
Zrinka Makovac                            US
Bonnie Kearney                            GB
Fabrice Canel                             BR
Brian Johnson (TAILSPIN)                  US
Anne Wallace                              US
Alex Darrow                               US
David Longmuir                            BR

请等一等:还有更有用的命令。您可能想要通过用户的位置对用户进行排序、将所有巴西用户分为一组、将所有美国用户分为一组等。Windows PowerShell 是否可以做到?是否有这样的要求?请尝试使用以下命令:

Get-MsolUser | Select-Object DisplayName, UsageLocation | Sort-Object UsageLocation, DisplayName

将返回类似于以下的数据:

DisplayName                                 UsageLocation
-----------                                 -------------
David Longmuir                              BR
Fabrice Canel                               BR
Bonnie Kearney                              GB
Alex Darrow                                 US
Anne Wallace                                US
Brian Johnson (TAILSPIN)                    US
Zrinka Makovac                              US

如果您只想查看有关在巴西的用户的信息,请尝试使用以下命令:

Get-MsolUser | Where-Object {$_.UsageLocation -eq "BR"} | Select-Object DisplayName, UsageLocation 

将返回以下信息:

DisplayName                                           UsageLocation
-----------                                           -------------
David Longmuir                                        BR
Fabrice Canel                                         BR

我们说过,这非常简单。

有关较大的域的快速说明

如果您的域非常大,假设有数万个用户,那么此介绍性文章中介绍的某些示例可能会带来“限制”。这说明,基于计算能力和可用网络带宽等因素,您每次尝试的操作有点多。正因为如此,较大型的组织可能要将某些 Windows PowerShell 命令拆分为两个命令。例如,这一个命令将返回所有用户帐户,并显示每个用户的 DisplayName 和 UsageLocation。

Get-MsolUser | Select-Object DisplayName, UsageLocation

这对于较小的域非常有用。但在大型组织中,您可能需要将此命令拆分为两个命令:一个命令用于返回用户帐户(并将用户帐户信息存储在变量中),另一个命令用于显示返回的信息:

$x = Get-MsolUser
$x | Select-Object DisplayName, UsageLocation


下一篇文章: Office 365 具有一些只能通过使用 Windows PowerShell 进行配置的功能

 
显示: