当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

作者:精品下载站 日期:2024-12-14 08:39:43 浏览:14 分类:玩电脑

PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com


让我们从关于我自己的一个基本事实开始:我不是程序员(而且我可能永远不会)。如果我能学会如何使用 PowerShell,那么每个人都可以做到!一开始,PowerShell 在我看来像是一个不必要的“黑色”且复杂的工具,我尽力避免它。

PowerShell 的强大功能 |系列文章

PowerShell 的力量文章系列,包括以下三篇文章:

  • PowerShell 的强大功能 |第 1/3 部分(本文)
  • PowerShell 的强大功能 |第 2/3 部分
  • PowerShell 的强大功能 |第 3/3 部分

我想:“为什么我应该使用 PowerShell,而不是友好的 Microsoft GUI(图形用户界面)?随着时间的推移,我逐渐意识到使用 PowerShell 的显着优势,并且随着时间的推移,我开始对 PowerShell 环境感到满意。

本文的主题是:了解 Office 365 环境中 PowerShell 的基础知识。

如果你觉得你想更好地理解PowerShell的概念和逻辑,并且愿意花2分钟以上的时间来阅读这些信息,我相信你会享受到理解这个环境的能力,而不是复制和复制。粘贴“神秘”的PowerShell命令。

什么是“PowerShell”?

对于 PowerShell 有很多“正式”的描述,但我们先简单说一下:PowerShell,顾名思义,是一种“Shell”和脚本语言。 PowerShell 与其他脚本语言相比的主要特点是 PowerShell 是非常友好且“类人”的脚本语言。

PowerShell使我们能够使用非常简单而强大的命令(cmdlet),同时PowerShell可以用于编写非常复杂的脚本(这是最接近“程序员”的部分)。

目前,微软的大部分操作系统和产品都可以使用PowerShell进行管理,而部分产品如Exchange服务器则纯粹基于PowerShell。

例如,我们使用的Exchange GUI界面只是一个“友好界面”。我们在 GUI 界面中使用的每个选项都会被翻译并作为 PowerShell 命令执行。

PowerShell 的“力量”

使用 PowerShell 有很多优点:

  • 批量操作 - 术语“批量操作”的含义是执行 PowerShell 命令来管理“对象组”的能力。
    例如,我们需要向所有没有许可证的 Office 365 用户分配许可证许可证。如果我们的组织有 10 名员工,则可以使用 Office 365 门户 Web 界面非常轻松地实现此任务。但是,在什么情况下我们需要将许可证分配给 1, 500 个用户?
    当然,我们可以手动完成,但这将是一项非常累人的任务。
    通过使用 PowerShell,我们可以使用该命令查找所有没有许可证的用户,并为这些用户分配所需的许可证。
  • 导出信息 - Office 365 Web 界面不包含用于创建报告或导出信息的选项。
    通过使用 PowerShell,我们可以创建报告并导出有关不同组件的所需数据,例如已分配许可证的用户列表、有关信息邮箱的大小、用户列表,其中包括电话号码、部门等信息。
  • 无用户干预 - 使用 PowerShell,我们可以在“后台”执行 Office 365 用户所需的所有管理任务,而无需用户参与此过程。
    例如:当我们需要为用户分配权限时邮箱或用户日历,无需登录outlook用户配置文件,或远程控制用户桌面。
    相反,我们可以使用PowerShell命令执行所需的管理任务。
  • GUI 界面限制 - Office 365 Web 界面,使我们能够执行许多管理任务。某些管理任务只能使用 PowerShell 来执行。例如:我们可以使用 Office 365 Web 界面重置用户密码并为用户创建临时密码,但基于 Web 的界面不包含以下选项: :为用户设置预定义密码,或更改默认的过期密码策略(此任务只能使用PowerShell 实现)。
  • 自动化管理任务 - 很多时候,我们需要按计划运行管理任务。
    例如:通过使用 PowerShell 脚本和内置的Windows任务管理器,我们可以自动执行这些管理任务。

远程 PowerShell - Office 365

当使用 PowerShell 管理 Office 365 基础设施时,我们使用一种称为“远程 PowerShell”的方法。为了能够执行所需的 PowerShell 命令,我们首先需要创建一个远程会话,其中包括远程主机(Office 365 和 Exchange Online 基础结构)的身份验证过程。

我们使用远程 PowerShell 来管理 4 种不同的基础设施:

  1. Office 365 - 当我们使用“Office 365”一词时,其含义是:充当所有其他 Office 365 服务的“信封”的部分。该部分包括以下组件:用户和安全组对象(Windows Azure Active Directory)、域名管理、邮件迁移、SSO(单点登录)、许可证管理等。
  2. Exchange Online - 这部分包括邮件服务的管理。例如:添加或删除电子邮件地址、设置邮箱大小、为邮箱分配策略等。
  3. 在线SharePoint
  4. 林克在线

每个 Office 365 基础设施都需要一个“专用远程 PowerShell 会话”,对于每个环境,我们需要使用一组不同的 cmdlet(稍后我们将回顾术语 cmdlet)来创建远程会话。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

PowerShell“对象类”

PowerShell 的核心是:管理对象。
在 Office 365 环境中,有数十个对象。 “对象”的示例可以是:用户、邮箱、组、域等。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

对象类/类型和对象实例

术语“对象类/类型”描述具有特定属性的“实体”。当我们创建一个“新对象”(例如:new User)时,我们实际上是在创建一个对象实例

“新实例”(例如,新用户)继承对象类的结构并且(大多数时候)具有唯一的标识。

例如:当我们创建一个名为“John”的新用户时,该新用户被视为对象类“User”的“实例”。新用户(约翰)将拥有从用户对象类继承的所有“属性字段”。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

注意:大多数时候,当我们谈论对象时,我们不使用术语“实例”,而是只使用术语“对象”。 ”

对象类和对象派生类

某些“对象类”充当具有派生项的“根对象”。

例如,“组对象类”具有以下派生:

组对象可以是:安全组或通讯组,通讯组可以是“标准通讯组”或动态通讯组。

当我们创建新的“分发组”时,新实例继承“组对象类”+特定属性的结构和属性,这些属性对于“分发组”对象类是唯一的,例如:电子邮件地址和消息批准。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

对象属性

对象类的基本定义可以是:一个集合或一组预定义的属性。
对象和对象属性的概念是从现实世界“借用”的。

例如,我们每个人(人类或一个人)都具有诸如身高、眼睛颜色、体重、公民身份等属性。

每个对象类(例如用户对象或邮箱对象)都具有一组与对象类“相关”的特定属性。

例如,用户对象属性可以是:一般详细信息,例如 - 职务、部门、城市、电话号码,或其他属性,例如:用户角色(标准用户、全局管理员)、许可证(用户是否拥有许可证)、邮箱(用户是否将邮箱“附加”到其用户帐户)等等。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

注意:邮箱可以被视为一个“对象”,但是,邮箱也被视为用户的“属性”,因为邮箱对象没有自己的“生命周期”。邮箱对象应该“附加”到用户对象。

另一个示例是 - 邮箱属性。

邮箱对象的属性可以是邮箱大小、“附加”到邮箱的电子邮件地址、个人存档等。

附加“邮箱属性”可以是附加到邮箱的策略。

例如:保留策略(与当邮件项目达到特定“年龄”时删除或移动到存档邮件项目相关的策略)。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

如果我们想要显示“属于”特定对象类的属性列表,我们可以使用 PowerShell cmdlet:

Get-Object Class | Get-Member

对象属性值

如前所述,我们可以将对象描述为属性的集合。当我们创建一个新对象时(或者如果我们想要更准确 - 对象实例),某些属性“必须”具有值(强制要求)。

例如:Office 365 用户对象必须具有别名和用户主体名称。其他属性(例如:密码永不过期)会自动设置为值“True”,而其他属性(例如:标题、部门、城市等)没有预定义值(或者我们可以说:“空属性”)。

这个“值”可以由管理用户帐户的管理员设置。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

引用对象

每个“PowerShell 语句”或 PowerShell 命令的第一部分都以对对象类或对象实例的引用开始。让我们通过演示邮箱管理的基本管理任务来回顾一下“引用对象”选项。

当我们需要管理托管在 Exchange Online 服务器上的邮箱时,我们可以定义 3 个“引用”对象的选项:

  1. 引用对象类的特定实例
    例如 - 我们想要获取有关“John”邮箱的信息。
  2. 引用对象类。
    我们可以使用 PowerShell 命令来显示有关所有邮箱对象类的信息
  3. 引用对象子集/对象组
    在 Exchange 环境中,我们有不同类型的“邮箱”,例如用户邮箱、资源邮箱、共享邮箱、搜索邮箱等。很多时候我们只想引用“子集”或对象的“子组”。

例如:我们只想显示“属于”“用户邮箱”组的邮箱。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

对象“身份”

当我们想要引用对象类的“实例”时,我们需要指定对象身份。这个“身份”的概念与“现实世界”非常相似。

我们每个人都有几个身份,例如名字、全名、“昵称”或社交号码。同样的,当我们需要管理某个对象的具体实例如“John User Account”时,我们需要指定这个实例的身份(John)。

注意:大多数“身份”被认为是“唯一”,这意味着 - 没有其他对象(用户)可以具有相同的身份。

用户对象“身份”

为了演示目的,让我们回顾一下“用户对象标识”的选项。以下列表包括当我们需要引用对象类的特定实例(特定用户,例如“John”)时可以使用的不同用户对象标识的描述。

  • 用户显示名称 - 此身份由用户的名字和最后一个用户名组成。 “显示名称”标识符不是唯一标识符。含义是我们可以有 2 个(或更多)用户具有相同的显示名称。
    当我们想要使用对象显示名称引用对象时,我们应该使用引号,因为显示名称包含空格(名字和姓氏之间有空格)。由于“显示名称”的用户身份不是唯一的,因此当我们想要引用特定用户时,建议避免使用此选项。
  • 用户 UPN -(UPN 代表 - 用户主体名称)。在 Office 365 中,用户 UPN=用户登录名。用户 UPN 是唯一标识符(只有一个用户可以拥有特定的 UPN)。 UPN 由用户别名和 Office 租户域或“自定义域”名称(虚域名)组成。
    默认情况下,用户 UPN 也是用户主电子邮件地址(此默认值可以只能通过使用 PowerShell 命令进行更改)。
  • 用户别名 - 根据组织“别名策略”创建的用户别名。
    例如,标准别名策略可以是用户的名字和家庭用户名的第一个字符。用户别名不是唯一标识符。当我们想要引用用户邮箱时,使用用户别名比使用“长”用户 UPN 更容易。
  • 用户电子邮件地址 - 用户电子邮件地址是唯一标识符。当 Office 365 用户拥有邮箱时,用户需要至少有一个被描述为主要电子邮件地址的电子邮件地址。如前所述,默认情况下,用户的主电子邮件地址与用户 UPN 相同。
  • GUID(对象 ID)——对象 ID 是唯一的标识符。该标识符不经常使用。我们唯一需要使用“对象 ID”的时候是当我们需要使用与安全组相关的特定配置时。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

注意: 还有其他“身份”,例如 SIP 地址(用户 LYNC 地址)和 Windows Live ID 地址,但是,我们将“跳过”这些“身份”,因为它们不经常使用。

Office 365 环境中的用户对象

Office 365 可以被定义为“云服务套件”。

使用 Office 365 门户管理(Web 界面)时,不同的基础设施看起来像“一个实体”,但实际上,这些服务中的每一项(Windows Azure Active Directory、Exchange Online 等)都基于一个单独的基础设施。基础设施,包括专用的 Active Directory 林、专用服务器等。

例如:当我们创建新的用户帐户时,会在 Windows Azure Active Directory 中创建该用户帐户,然后将该用户帐户的副本复制到所有其他服务/基础设施,例如 Exchange Online、SharePoint online 和 LYNC在线的。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

当我们引用诸如“用户对象”之类的对象时,我们需要知道我们要引用哪个基础设施。

当我们在 Office 365 环境(Windows Azure Active Directory)与 Exchange Online 基础设施中引用对象时,用于引用对象“身份”的 PowerShell 命令语法和“规则”略有不同。

  1. 引用 Office 365 (Azure Active Directory) 中的用户对象 - 当我们想要管理 Office 365 基础结构中的用户对象时,我们使用的 PowerShell 对象名称是:MsolUser
  2. 引用 Exchange Online 中的用户对象 - 当我们想要管理 Exchange Online 基础结构中的用户对象时,我们使用的 PowerShell 用户对象名称是:“User ”

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

PowerShell 和对象管理

在下一节中,我们将“深入”了解 PowerShell 命令和特定的 PowerShell 命令语法,但在开始之前,让我们回顾一下:

我们使用 PowerShell 来管理对象。 “对象管理”可以是:

  • 创建或删除对象 - 创建新的对象实例,例如用户帐户、组帐户或删除现有对象
  • 编辑对象属性 - 通过向对象属性添加新值(例如部门名称、职位)、添加许可证、添加或删除权限等。
  • “获取”并显示有关对象的信息 - 当我们需要管理对象时,我们使用 PowerShell 命令来引用特定的对象类,例如用户或邮箱对象类。当我们想要引用特定的对象实例时,我们需要使用该对象身份。我们想要获取的有关对象的信息可以显示在屏幕上(PowerShell 控制台),也可以导出到文件以创建报告或编辑导出的数据。

PowerShell cmdlet

cmdlet 的正式定义是:

“在 PowerShell 中,管理任务由 cmdlet(发音为 command-let)执行。 Cmdlet 是实现特定操作的专用 .NET 类。 cmdlet 集可以与脚本、可执行文件(独立应用程序)或通过实例化常规 .NET 类(或 WMI/COM 对象)进行组合。这些工作原理是访问不同数据存储中的数据,例如文件系统或注册表,这些数据可通过 Windows PowerShell 提供程序提供给 PowerShell 运行时。 ”

现在,我们尝试用更友好的描述来描述 cmdlet 的含义:PowerShell cmdlet 是“小命令”。 ”

(我认为这就是后缀“let”的含义),我们用它来管理 PowerShell 环境中的对象。 “cmdlet”的概念是 PowerShell 语言相对于其他脚本语言的独特特征。

我们可以将“cmdlet”视为“小型应用程序”或“应用程序”(例如我们在移动设备上使用的应用程序)。每个对象类(例如用户对象类)都有一组“专用”cmdlet,使我们能够以简单且“友好”的方式管理对象。

PowerShell和区分大小写的问题

PowerShell 环境不被视为区分大小写。当我们使用大写字母作为 PowerShell cmdlet 名称或属性名称时,这仅用于“美观”目的。

Cmdlet - 命名约定

Cmdlet 名称由两个由连字符分隔的“部分”组成:

  • cmdlet 名称的第一部分以“动词”开头,例如:Set、Get 等。
  • cmdlet 名称的第二部分是对象类/类型名称,例如:用户、邮箱、组等。
  • “动词”和对象名称通过“连字符”“连接”(“动词”和“对象”名称之间没有空格)

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

1. “动词”(前缀)

我们大多数时间使用的最“流行”“动词”是:

  • New - 以“New”前缀开头的 cmdlet 用于:创建新对象。例如:创建新的 Office 365 用户。
  • Set - 以“Set”前缀开头的 cmdlet 用于:更新对象属性。 “更新”可以通过向对象添加新值或更新现有对象属性来实现。
  • 添加 - 以“Add”前缀开头的 cmdlet 用于:“向对象添加“某物””。例如:将用户添加到通讯组、将别名添加到邮箱、添加邮箱权限等。
  • 删除 - 以“Remove”前缀开头的 cmdlet 用于:删除或删除对象,或者从对象中删除“某些内容”。例如 - 删除(删除)Office 365 用户帐户或删除邮箱权限。
  • Get - 以“Get”前缀开头的 PowerShell Cmdlet 用于:检索或“获取”对象。 “Get”前缀很特殊,因为我们可以使用“Get cmdlet”来显示有关对象的信息,或者我们可以使用“Get cmdlet”作为PowerShell语句的“第一部分”。 PowerShell 语句的“下一部分”将基于我们从“Get cmdlet”获得的“输入”。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

2. “名词”

“名词”是 cmdlet 名称的第二部分。在 PowerShell 世界中,名词是对象类的名称,例如:用户、组、邮箱等。

对象和它们是专用的 cmdlet

在 PowerShell 语言中,每个对象都有一组专门为管理该特定对象而创建的“专用 cmdlet 集”。

例如:Office 365中代表用户对象的对象名称为:MsolUser

Office 365 的 PowerShell cmdlet 包括一个专用的“cmdlet 集”,我们使用它来管理用户对象,例如:

  • Get-MsolUser - 用于显示有关 Office 365 用户的信息
  • Remove-MsolUser - 用于删除用户帐户
  • New-MsolUser - 用于创建新的 Office 365 用户帐户

所有其他对象(例如:邮箱对象、组对象等)都实现相同的原理。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

使用获取帮助 cmdlet

在本文中,我们仅回顾了可用 Office 365 和 Exchange Online cmdlet 的一小部分,并且我们使用的示例仅揭示了每个 cmdlet 的参数和选项的“表面”。

通过使用 cmdlet:Get-Help,我们可以获得有关可以使用的可用 cmdlet 的信息,并获取有关特定 cmdlet 的信息。

示例 1 - 显示为对象类设置的 cmdlet:MsolUser

要获取与“对象”MsolUser 相关的所有 Cmdlet 的列表,我们可以使用以下命令:

Get-Help *MsolUser*

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

示例 2 - 显示特定 cmdlet 的帮助信息

如果我们想要获取有关使用特定 cmdlet 的方式的信息(参数、语法等),我们可以使用 Get-Help cmdlet 以及我们感兴趣的 cmdlet 的名称。

例如:要显示有关 Get-MsolUser cmdlet 的帮助信息,我们可以使用以下命令:

Get-Help Get-MsolUser

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

对象层次结构和 cmdlet 名称

我想强调的另一个 PowerShell 概念是我所说的“对象层次结构”。术语“层次结构”,描述了对象类之间的“父子”关系。

为了演示“对象层次结构”概念,让我们观察 Mailbox 对象。
Mailbox 对象充当文件夹的“容器”。描述这种关系的另一种方式是:Mailbox 对象是文件夹对象的“父级”(或者我们可以说文件夹是 Mailbox 对象的“子级”)。

文件夹对象是其他子文件夹的“父”文件夹,例如:“已发送邮件”文件夹、“日历”文件夹、“联系人”文件夹等。

如果我们想在层次结构中获得“更深”,诸如“已发送邮件”之类的文件夹可以包含其他文件夹,并且“最低级别”可以是“邮件项目”。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

“对象层次结构”的概念由 cmdlet 名称和我们使用的 PowerShell 语法来表达。

假设我们需要获取有关特定用户的日历文件夹的权限的信息。我们用于此目的的 cmdlet 是:

Get-MailboxFolderPermission

您可以注意到,“cmdlet 名称”描述了充当“文件夹”对象“父级”的邮箱对象与与文件夹对象相关的“权限”之间存在的层次结构或“关系”。

我们用于显示有关用户日历的权限信息的 PowerShell 命令语法是:

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

我们使用“Get-MailboxFolderPermission”cmdlet 来: 获取有关文件夹的权限信息。然后,我们指定用户身份(例如 John),最后指定特定文件夹名称(在我们的示例中为日历文件夹)。

如果我们想获取有关可用于管理文件夹、对象的可用 cmdlet 的更多信息,我们可以按以下方式使用 Get-Help cmdlet:

Get-Help *Folder*

在屏幕截图中,我们可以看到与“文件夹对象”相关的所有 cmdlet 的列表。

正如您所看到的,我们可以管理文件夹对象的“不同方面”,例如文件夹权限、文件夹统计信息等。

我们可以看到的另一个有趣的观察结果是,我们有一个用于日历文件夹的“专用”cmdlet (Get-MailboxCalenderFolder)。

从逻辑上讲,“日历文件夹”应该像任何其他文件夹一样“对待”,但由于日历文件夹是 Exchange 邮箱的一个重要功能,因此我们有一个“专用”cmdlet,用于获取有关日历属性的信息例如:PublishDateRange、DetailLevel 等等。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

管道化

“管道”的概念是PowerShell语言的“基石”之一。管道概念类似于由几个部分组成的人类句子。句子中的每个“部分”都指向“下一部分”。

为了简化管道的概念,让我们看一下以下说明:“如何制作炒鸡蛋”。

  • 去杂货店买一盒鸡蛋。
  • 将鸡蛋打碎,然后将鸡蛋倒入煎锅中。
  • 炒鸡蛋。
  • 煎蛋卷做好后,将煎蛋卷放在盘子上。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

现在,让我们再看一下说明:

第一个操作是:去杂货店。杂货店包括许多类型的物品(物体),例如面包、糖等。在我们的场景中,我们只对一种特定类型的物体感兴趣:鸡蛋。句子的第一部分“导致”句子的下一部分。

下一部分包括有关“如何处理鸡蛋”的说明。我们可以说第二部分是基于第一部分的“输入”,因为如果第一部分没有完成(购买/获取鸡蛋),我们就无法“打破鸡蛋并将鸡蛋洒到煎锅上”。

同样的逻辑也适用于句子的第三部分(炒鸡蛋),因为在我们炒鸡蛋之前,我们需要打破鸡蛋并将鸡蛋倒入煎锅中。

也许这不是最精彩的例子,但这正是管道在 PowerShell 中工作的方式。在PowerShell环境中,我们使用“Pipeling”来“构建”一个PowerShell语句。 PowerShell 句子的每个部分都使用竖线(“|”)字符与其他部分“分隔”。

选择“管道”这个名称作为隐喻,因为“管道”充当“液体”的“容器”,例如我们希望将水(数据)从A点输送到B点。

当我们使用“管道”时,PowerShell 句子第一部分的“内容”通过“管道”路由到 PowerShell 句子的第二部分。在第二部分中,我们对第一部分的输入“做一些事情”,然后我们可以继续通过“附加管道”将输入(数据)“路由”到下一部分,依此类推。

PowerShell 句子中的“部分数量”没有限制。我们可以使用非常简单的仅包含一个部分(没有管道)的 PowerShell 语句,也可以构建一个非常复杂的包含多个部分的 PowerShell 语句。

“PowerShell 句子”中的“管道概念”的示例可以是:

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

“获取”命令

以“Get”前缀开头的 PowerShell cmdlet 很特殊,因为我们可以将它们用于两个目的:

1.获取对象并显示该对象的信息

默认情况下,当我们使用 Get cmdlet 作为“独立”命令时,Get 命令将获取/获取对象 + 显示有关对象的信息。

我们可以通过两种方式使用 Get 命令的输出(有关对象的信息):

  • 在屏幕上显示 - 默认情况下,使用 Get 命令时,有关对象的信息显示在屏幕上(PowerShell 控制台)。
  • 将信息导出到文件 - 我们的第二个选项是:将信息导出到文件。此信息可用于两个目的:

    • 报告:我们可以使用 Get 命令中的信息来创建有关基础设施的报告,例如:用户数量、每个用户拥有的许可证、有关邮箱的信息等。
  • 重新编辑数据:我们使用“重新编辑”数据的选项,通过使用附加实用程序(除了PowerShell)来编辑或“操作”数据。

2.获取和管道

Get cmdlet 的第二个用途是将 get cmdlet 用作 PowerShell 句子的第一部分,充当 PowerShell 句子其他部分的“基础”。

[玩转系统] PowerShell、Office 365、语法|PowerShell 的力量|第 1/3 部分 .com

在下一篇文章中,我们将开始使用 Office 365 PowerShell |使用屏幕显示输出上的“获取邮箱”第 2 部分#4。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯