[玩转系统] 使用“ForEach”PowerShell 命令通过数组创建循环 |基本介绍 |第 1 部分#2
作者:精品下载站 日期:2024-12-14 09:05:20 浏览:12 分类:玩电脑
使用“ForEach”PowerShell 命令通过数组创建循环 |基本介绍 |第 1 部分#2
在本文中,我想对基于 PowerShell 的环境(特别是基于 Office 365 和 Exchange Online 的环境)中的“Array”和“ForEach 语句”的概念进行基本介绍。
使用“ForEach”PowerShell 文章系列创建通过数组的循环
通过数组创建循环使用“ForEach”PowerShell 文章系列包括以下文章:
- 使用“ForEach”PowerShell 命令通过数组创建循环 |基本介绍 |第 1#2 部分(本文)
- 使用“ForEach”语句和变量创建通过数组的循环 | PowerShell环境|第 2 部分#2
PowerShell 循环和数组
数组和循环过程(通过使用 PowerShell“ForEach 语句”实现)的组合是一个非常强大的工具,它使我们能够“单击”对多个对象执行批量管理任务。
“问题”(如果我们想使用更政治正确的词,或者是挑战)是,大多数 Exchange 或 Office 365 管理员都对“PowerShell 怪物”感到有点害怕,尤其是更“复杂的场景”,其中我们需要使用包含多于一行的 PowerShell 命令。
好消息是,如果您准备花一点时间阅读以下两篇文章,您会发现术语“数组”、循环过程和“ForEach语句”并不那么可怕。
在您学习如何“注册”此工具后,您将获得一个非常有用的工具,可以改进和优化您的日常管理任务!
一般来说,“数组”的概念与任何编程或脚本语言相关,但如前所述,在当前文章中,示例与 Office 365 环境相关。
关于“数组”要了解什么
在PowerShell环境中,无论我们是否知道,我们多次使用“数组”的概念。如果我们想要更好地理解许多 PowerShell 命令语法示例,并有效地利用“PowerShell”,我们应该对“数组”概念有一个基本的了解。
数组的含义是什么?
让我们从术语“数组”的正式定义开始:
在计算机科学中,数组类型是一种数据类型,用于描述元素(值或变量)的集合,每个元素由一个或多个索引(标识键)选择,这些索引可以由程序在运行时计算。这样的集合通常称为数组变量、数组值或简称为数组。
类比向量和矩阵的数学概念,具有一个和两个索引的数组类型通常分别称为向量类型和矩阵类型。
简而言之,术语“数组”定义了我们在使用 PowerShell 命令时可以“寻址”或与之相关的一组或“对象”列表。
数组被视为对象的集合或其他术语 - 成员的集合。
理论上,数组可以为空,也可以包含零个成员,但大多数时候,我们使用“数组”来分组或“绑定”一个或多个“对象”。
下一个可能出现的问题是——这些“对象”是什么或者这些“成员”是谁?
术语“对象”或“成员”是一个非常通用的术语,我们用来描述我们想要解决的不同类型的“实体”。
在基于 PowerShell 的环境中,术语“对象”有多个示例。
例如,一个对象可以被视为 Exchange 邮箱、Office 365 用户、操作系统进程甚至文件中的“行”。
数组可以包含 100% 的特定类型的对象,或者具有特定字符或特定属性的特定对象的“子集”。
例如:
PowerShell 命令Get-Mailbox 将获取所有 Exchange 邮箱的列表。
换句话说,我们可以说 PowerShell 命令 Get-Mailbox 创建了一个数组,其中包含所有被视为“邮箱对象”的对象。
以下 PowerShell 命令将获取所有被视为“用户邮箱”的 Exchange Online 邮箱的列表。
Get-Mailbox | Where {$_.RecipientTypeDetails -eq "UserMailbox"}
换句话说,在这种情况下,创建的数组仅包含 Exchange 邮箱的特定子集或“组”,这些邮箱具有特定属性 RecipientTypeDetails,并被视为用户邮箱。
数组是如何创建的
我们可以问的另一个有趣的问题是——我们可以使用哪些方法来创建“数组”?
“创建”数组的方法有多种。
- 使用基本的 PowerShell 命令 - 例如,每个以前缀 Get 开头的 PowerShell cmdlet 创建一个数组。
- 以特定格式存储在文件中的信息,例如CSV文件,也可以被视为“数组”。当我们需要访问存储在 CSV 文件中的信息时,CSV 文件中的每个“行”都将被视为“数组成员”,而 CSV 文件中的每一列将被视为“成员属性”。
- 使用组——虽然我们不习惯将“组”视为“数组”,但组实际上是一个数组。 “组”作为包含组成员的逻辑容器,这就是数组的确切定义。
- 手动写入每个成员——创建“数组”的另一种方法是通过手动写入每个数组成员来简单地实现。例如,当我们为特定用户邮箱分配权限时,我们可以为多个用户(Array)分配权限。 “数组”的创建是通过写下来实现的,每个用户(成员)之间用逗号分隔。
用于创建数组的 PowerShell 命令
在本节中,我想将 PowerShell 命令前缀 Get 作为我们创建“数组”的主要方法之一。
每次我们运行带有前缀 Get 的 PowerShell 命令时,我们都会要求 PowerShell 创建一个“数组”。
默认情况下,“数组内容”将通过PowerShell命令显示在PowerShell控制台上,但需要强调的是,PowerShell命令实现的第一个“动作”是——将“数组数据”存储在计算机RAM中,然后将信息复制到 PowerShell 控制台。
除了在PowerShell控制台中查看“数组数据”之外,我们还可以使用存储在RAM中的数组信息并选择我们想要对数据“做什么”。
例如,我们可以将数组信息导出到文件中,通过“管道”将信息导出到另一个PowerShell命令等等。
使用 PowerShell Get-Mailbox 命令创建数组的示例
Exchange 基础结构包括数十甚至数百种不同的对象类型,例如 Exchange 收件人、组、连接器、邮箱等。
当我们使用 PowerShell cmdlet(例如 Get-Mailbox)时,我们要求 Exchange Online 向我们提供有关非常特定的对象类型(“Exchange 邮箱”)的信息。
当我们编写 PowerShell Get-Mailbox 并“点击”回车键时,PowerShell 会自动创建一个“数组空间”,并用有关所有现有邮件的信息“填充”该数组存储。交换邮箱。
使用 PowerShell 创建数组的附加示例
我们使用 PowerShell 命令创建的数组的另一个示例可以是我们使用以下 PowerShell 命令创建过滤搜索的示例,例如:
Get-User | Where {$_.Title -eq "Administrator"}
在这种情况下,我们“要求”Exchange 向我们提供所有 Exchange 用户的列表(Exchange Online 用户的数组),但添加一个额外的过滤器,其中包含条件 - 仅当用户标题为 - 时才“获取信息” 管理员。
在下一篇文章中,我们将研究使用“ForEach”语句和变量通过数组创建循环 | PowerShell环境|第 2 部分#2。
猜你还喜欢
- 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