[玩转系统] 使用 PowerShell“Where 语句”创建过滤搜索 | Office 365 和 Exchange Online 对象 |第 1 部分#3
作者:精品下载站 日期:2024-12-14 09:04:31 浏览:14 分类:玩电脑
使用 PowerShell“Where 语句”创建过滤搜索 | Office 365 和 Exchange Online 对象 |第 1 部分#3
当前的文章系列包括三篇专门讨论以下主题的文章:使用 PowerShell“查看”有关 Office 365 (Azure Active Directory) 和 Exchange Online 对象的信息。
- 第一篇文章包括对 PowerShell“Where 语句”的基本介绍,我们将其用作“过滤器”来获取有关具有特定字符的对象的信息。
- 第二篇文章包含许多示例 - 在 Office 365 (Azure Active Directory) 环境中过滤搜索结果。我提供的示例主要与“Office 365 对象”相关。
- 第三篇文章包含许多示例 - 在 Exchange Online 环境中过滤搜索结果。我提供的示例将与 Exchange Online“邮箱对象”以及 Exchange Online 不同类型的收件人相关。
使用 PowerShell 查看 Office 365 和 Exchange Online 对象 |系列文章
该系列文章包括以下文章:
- 使用 PowerShell“Where 语句”创建过滤搜索 | Office 365 和 Exchange Online 对象(本文)
- 使用 PowerShell 查看 Office 365 对象
- 使用 PowerShell 查看 Exchange Online 对象
为什么我们需要创建过滤搜索?
管理任何基础设施的每个管理员的基本需求之一是能够查找(搜索)“特定对象”并对这些对象执行某些“操作”。
术语——“对象”。
在 Office 365 和 Exchange Online 中,术语“对象”可以翻译为各种类型的对象,例如 Azure Active Directory 用户帐户、Exchange Online 邮箱、公共文件夹、组等。
该术语 - 执行一些“操作”。
“执行某些动作”的含义也可以转化为无数的例子。
在大多数情况下,我们需要查找特定的“对象”,然后“在对象上”执行管理任务,例如:
- 更新指定对象的某些属性。
- 对指定对象启用特定功能。
- 将有关指定对象的信息导出到文件,例如文本、CSV 和 HTML。
如何处理“过滤搜索”结果?
当我们使用 PowerShell 执行“过滤搜索”时,我们可以通过以下方式之一使用结果:
1.在 PowerShell 控制台上显示搜索结果
在这种情况下,我们的目的只是获得“问题”的“答案”,该答案将显示在 PowerShell 控制台上。例如,显示所有没有许可证的 Office 365、显示所有考虑“共享邮箱”的 Exchange Online 邮箱等等。
2.将搜索结果保存到变量中
在这种情况下,我们的目的是为“PowerShell 过滤搜索”中包含的每个对象“做一些事情”。
第一步是通过定义一个充当“临时存储”的 PowerShell 变量来实现,该变量将“保存”“PowerShell 过滤搜索”的结果。
在下一步中,我们要求 PowerShell“获取”“过滤搜索结果”数组中包含的每个对象,然后对每个对象“执行某些操作”。
例如
- 为没有许可证的 Office 365 用户创建“PowerShell 筛选搜索”。
- 将从“PowerShell Filtered Search”获得的信息存储在变量中。
- 使用其他 PowerShell 命令,该命令将“访问”存储在创建的变量中的信息,获取有关“用户帐户”的信息,并为每个 Office 365 用户分配 Office 365 许可证。
3.将搜索结果导出到各种类型的文件
在这种情况下,我们的目的是通过将信息导出为各种类型的文件格式(例如 TEXT、CSV 和 HTML)来保存从“PowerShell 筛选搜索”中获取的信息以供以后使用。
使用 PowerShellWhere-Object 语句创建“过滤搜索”
我们用于执行过滤搜索查询任务的工具是以下 PowerShell cmdlet。
Where-Object
注意:在当前的文章系列中,我们使用较短的形式 -Where(而不是Where-Object)。我们可以用来定义“Where 语句”的另一个选项是使用问号字符“?”而不是“Where”或“Where-Object”。
Where-Object PowerShell cmdlet 为我们提供了一种过滤其他 PowerShell cmdlet 返回的数据的方法。
在下图中,我们可以看到PowerShell命令的结构,它使用“Where语句”。 ”
1. “获取”特定对象信息的 PowerShell 命令
这是“获取”有关特定对象类型(例如 Azure Active Directory 用户或 Exchange Online 邮箱(编号 1))的信息的部分。
例如 - 获取邮箱
2.过滤器PowerShell“Where语句”
这是我们使用 PowerShell“Where 语句”来“过滤”从上一个命令获得的输出的部分(编号 2)。
如果我们想使用技术术语,我们可以使用上一个 PowerShell 命令的“管道”输出。
每个Where 语句都使用大括号开始并括起过滤条件。
3. “$”字符
$_ 符号(数字 3)用于表示默认对象(即通过管道传输的对象)。
换句话说,$_ 符号用于表示每个对象,这些对象包含在我们从过滤后的查询结果中获得的“对象数组”中。
4.我们寻找的具体财产
这是“Where 过滤器”使用的特定对象属性(编号 4)。
例如,获取 Exchange Online 邮箱,它们是“RecipientTypeDetails”属性,包括特定值。
另一个示例可能是 - 过滤有关“Department”属性包含特定值的用户的信息。
5. PowerShell 理解运算符
这是“Where 语句”(编号 5)使用的“条件”。条件是通过使用理解运算符来定义的,例如小于、等于、不等于等。
在下表中,我们可以看到有关PowerShell理解运算符的信息
-lt少于
-le小于或等于
-gt比...更棒
-ge大于或等于
-eq等于
-ne不等于
-like喜欢;使用通配符进行模式匹配
6.具体数值
这是我们定义“包含”在对象属性中的特定值(数字 6)的最后一部分。
该值可以是日期、数字、文本字符串等。
例如,仅显示“Department”属性包含值“manager”的用户。
PowerShell“Where 语句”示例
在以下示例中,我们使用 PowerShell “Where 语句”来获取有关特定类型的 Exchange Online 邮箱的信息。
要获取被视为“共享邮箱”的特定 Exchange Online 邮箱的列表,我们将使用以下 PowerShell 命令:
请注意,在此示例中,我们使用“FT”(文件表)格式“管道”显示的结果,并指示 PowerShell 仅显示对象的特定属性,例如 - 别名 和收件人类型详细信息。
Get-Mailbox -ResultSize Unlimited | Where {$_.RecipientTypeDetails -eq "SharedMailbox"} | FT Alias,RecipientTypeDetails
第一个 PowerShell 命令是:
Get-Mailbox -ResultSize Unlimited
此命令的结果是有关所有现有 Exchange Online 邮箱的信息。
在PowerShell命令的第二部分(出现在Pipe之后的部分),我们按如下方式使用PowerShell“Where语句”:
我们要求 PowerShell “查看结果”,我们在前面的步骤中获得(所有 Exchange Online 邮箱的数组),并“仅获取”满足以下条件的 Exchange Online 邮箱:
属性名为“RecipientTypeDetails”的 Exchange Online 邮箱包含等于“共享邮箱”的值。
使用 PowerShell “Where 语句”与变量组合
在下面的部分中,我想提供一个场景示例,其中我们使用 PowerShell“Where 语句”与变量的组合。
我们的使命是为以下场景提供解决方案:
为所有 Exchange 邮箱的 Exchange 用户分配完全访问权限,其用户标题为“管理员”。
在我们的示例中,我们希望向 Adele 提供对所有“经理邮箱”的完全访问权限。
第 1#5 部分 - 获取有关特定 Exchange 对象的信息
在我们的示例中,我们想要获取所有 Exchange Online 用户的列表。我们使用的 PowerShell 命令是:
Get-User
第 2#5 部分 - 使用“Where 语句”来过滤信息
在这一部分中,我们使用 PowerShell Where 语句来过滤结果,方法是仅获取有关职务等于 (eq) 为“Manager”的 Exchange 用户的信息。
Get-User | Where {$_.Title -eq "Manager"}
第 3#5 部分 - 创建变量,并存储信息和变量
在这一部分中,我们将创建一个变量,它将存储 Where 语句结果的结果。
我们定义的变量是$Managers(在PowerShell环境中,我们使用$字符来指定变量)。
PowerShell 命令将如下所示:
$Managers = Get-User | Where {$_.Title -eq "Manager"}
第 4#5 部分 - 使用 PowerShell ForEach 循环运算符
在此步骤中,我们使用 PowerShell ForEach“循环运算符”来声明我们要求 PowerShell 对每个数组成员(标题等于 Manager 的每个用户)执行某些操作。
存储在名为 $Managers 的变量中的信息被视为一个“数组”,结果中包含的每个用户都可以被视为“数组中的成员”。
我们将使用以下 PowerShell 语法:
Foreach ($Member in $Managers)
请注意,当使用ForEach 循环运算符时,我们使用了一个附加变量。在我们的示例中,我们定义了一个名为 $Member 的变量
该变量只是一个临时变量,用作逻辑盒,它将保存有关特定成员 的信息,我们从存储在名为 $Managers 的变量中的对象数组中获取。
第 5#5 部分 - 为每个数组成员执行所需的命令
在此步骤中,我们执行 PowerShell 命令,该命令将为数组中包含的每个“成员”的用户名 Adele 分配完全访问权限。
换句话说,我们为 Adele 分配对每个 Exchange Online 邮箱的完全访问权限,她的用户将其视为管理员。
我们使用的 PowerShell 命令是:
Add-MailboxPermission "Adele" -User $Member.name -AccessRights FullAccess -InheritanceType All
请注意,我们没有关联特定的经理名称,而是使用带有属性“Name”的$Member 变量。
完整的 PowerShell 命令是:
$Managers = Get-User | Where { $_.Title -eq "Manager" }
Foreach ($Member in $Managers) {
Add-MailboxPermission "Adele" -User $Member.name -AccessRights FullAccess -InheritanceType All
}
使用 PowerShell “Where 语句”将特定数据导出到文件。
在上一节中,我想回顾一下选项 - 使用 PowerShell“Where 语句”将特定数据导出到文件。
最常用的文件格式:
- 文本文件格式
- CSV(逗号分隔值)文件格式
- HTML 文件格式
在下图中,我们可以看到 PowerShell 命令的格式,用于将从过滤的搜索查询中获得的“结果”导出到各种文件类型。
将使用 PowerShell“Where 语句”运行“筛选的搜索查询”的 PowerShell 命令示例可以是我们向 PowerShell 请求的命令,以获取有关特定类型的 Exchange Online 邮箱的信息。
例如,Exchange Online 邮箱被视为“共享邮箱”,然后将信息导出为各种类型的文件格式。
在下一节中,我们可以看到用于将数据导出为各种类型的文件格式的 PowerShell 命令语法示例:
示例 1 - 将 PowerShell 筛选的搜索导出到文本文件。
Get-Mailbox -ResultSize Unlimited | Where {$_.RecipientTypeDetails -eq "SharedMailbox"} | FT Alias,RecipientTypeDetails | Out-File c:\temp\file.txt
示例 2 - 将 PowerShell 筛选的搜索导出到 CSV 文件。
Get-Mailbox -ResultSize Unlimited | Where {$_.RecipientTypeDetails -eq "SharedMailbox"} | FT Alias,RecipientTypeDetails | Export-CSV c:\temp\file.csv
示例 3 - 将 PowerShell 筛选的搜索导出到 HTML 文件。
Get-Mailbox -ResultSize Unlimited | Where {$_.RecipientTypeDetails -eq "SharedMailbox"} | FT Alias,RecipientTypeDetails | ConvertTo-Html c:\temp\file.html
在下一节中,我们可以看到结果的示例。
在我的示例中,我以三种不同的文件类型导出搜索结果。每种文件类型格式都有其“优点”。
这是导出到文本文件的信息示例。
这是导出到 CSV 文件的信息示例。
使用CSV文件格式的好处是,我们可以使用Microsoft Excel等应用程序,这将帮助我们更方便地查看信息,过滤特定列等。
这是导出到 HTML 文件的信息示例。
使用 HTML 文件格式的优点是,它更适合“报告”,并且我们可以使用简单的 Web 浏览器显示导出的信息。
以下屏幕截图中显示的示例不是“标准 HTML”PowerShell 输出。 “原始HTML格式输出”是更基本的。
在我的示例中,我使用 PowerShell 脚本向 HTML 输出添加额外的设计格式。
如果您想使用这种更“设计的 HTML 输出”,您可以使用我已添加到本系列其他文章中的 PowerShell 脚本。
- 使用 PowerShell 查看 Office 365 对象 |第 2 部分#3
- 使用 PowerShell 查看 Exchange Online 对象 |第 3 部分#3
在下一篇文章中,我们将研究使用 PowerShell 查看 Office 365 对象。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag