[玩转系统] 自动化 Exchange PowerShell 脚本
作者:精品下载站 日期:2024-12-14 13:38:22 浏览:16 分类:玩电脑
自动化 Exchange PowerShell 脚本
随着 OAuth2 身份验证和 MFA(多重身份验证)的引入,自动化 Exchange PowerShell 脚本变得更加复杂。
如果您要求所有用户使用 MFA 进行身份验证(您应该这样做)——如何创建无人值守脚本?
幸运的是,从版本 2.0.3 开始,Exchange Online Management 模块 (ExoV2) 包含了一个巧妙的解决方案:
Azure 应用程序和基于证书的身份验证
ExoV2(v2.0.3 及更高版本)具有新参数来提供 AppId 和证书指纹。
这些参数允许您的脚本
- 在 Azure 应用程序 (AppId) 的上下文中执行 Exchange Online PowerShell 命令。
- 使用证书(指纹)对应用程序进行身份验证。
假设您已为 Azure 应用程序分配了适当的权限,这就是我们所需要的。
Exchange PowerShell 自动化配置分步指南
您需要执行以下步骤来设置 Exchange PowerShell 自动化:
- 生成用于身份验证的证书。
- 设置应用程序注册。
- 向应用程序分配 API 权限(并授予管理员同意)。
- 将基于证书的凭据分配给应用程序注册。
- 将 Exchange 权限分配给应用程序。
下面详细介绍了这五个步骤:
Easy365管理器
适用于 Active Directory 的 Office 365 管理工具
直接从 AD 执行所有日常 Office 365 管理
删除本地 Exchange 服务器
1.生成身份验证证书
如果您有 CA(证书颁发机构)基础设施,则可以使用它来生成证书。
如果没有,您可以生成一个同样可以正常工作的自签名证书:Azure 应用程序不需要信任颁发者。
您需要证书中的两个文件:
- .pfx 文件 - 包含私钥,并安全地存储在调度服务器上您的调度帐户的个人证书存储中。
- .cer 文件 - 仅包含公钥并上传到 Azure 应用程序,以允许您使用相应的(秘密)私钥进行身份验证。
使用以下代码生成新证书并导出 .pfx 和 .cer 文件:
# Create certificate with expiry of 5 years
$mycert = New-SelfSignedCertificate -DnsName "easy365manager.com" -CertStoreLocation "cert:\CurrentUser\My" -NotAfter (Get-Date).AddYears(5) -KeySpec KeyExchange
# Export certificate to .pfx file
$mycert | Export-PfxCertificate -FilePath C:\tmp\ExoAutomateCert.pfx -Password $(ConvertTo-SecureString -String "$omeP@ssw0rd" -AsPlainText -Force)
# Export certificate to .cer file
$mycert | Export-Certificate -FilePath C:\tmp\ExoAutomateCert.cer
该证书是在运行代码的用户的个人证书存储中创建的。
这意味着,如果您计划使用登录系统上的登录帐户自动执行脚本,则不需要 .pfx 文件(备份除外)。
要在其他系统/用户帐户上使用证书,您必须以交互方式登录并从 .pfx 文件导入证书。
.cer 文件将用于在后续步骤中在 Azure 应用程序上设置身份验证。
2. 设置 Azure 应用程序
要设置新的 Azure 应用程序,您必须登录到 Azure 门户。选择 Azure Active Directory,然后单击“应用程序注册”或点击直接链接。
从那里,您可以通过单击“新注册”来创建新的应用程序注册:
提供一个有意义的名称,仅选择此组织目录中的帐户,并设置一个 Web 重定向 URI 以用作对身份验证请求的响应(与我们的使用不太相关)。
您现在应该能够验证 Azure 应用程序是否已创建:
注意应用程序(客户端)ID。这是我们在使用 PowerShell 连接到 Exchange Online 时将用作 -AppId 参数的内容。
3. 设置API权限
到目前为止,我们的Azure App还没有权限。
由于我们将使用它进行自动化 Exchange Online 管理,因此我们需要分配 Exchange.ManageAsApp 权限。
选择 API 权限,单击“添加权限”,选择我的组织使用的 API,通过键入 Office 365 缩小结果范围,然后选择 Office 365 Exchange Online:
从下一个菜单中,选择应用程序权限,展开 Exchange,选择 Exchange.ManageAsApp,然后单击添加权限:
最后,您需要同意该应用程序。
单击“授予管理员同意”,然后单击“是”接受:
现在,您将在 API 权限旁边看到一个绿色的复选标记。
4. 将基于证书的凭据分配给应用程序注册
下一步需要将步骤 1 中生成的证书设置为 Azure 应用程序中的有效凭据。
单击“证书和机密”,单击“证书”,单击“上传证书”,浏览到步骤 1 中的 .cer 文件,添加说明,然后单击“添加”:
现在,您将在列表中看到证书,包括我们将在脚本中用作参数的指纹:
5. 为应用程序分配 Exchange 权限
最后,我们只需为我们的应用程序分配适当的 Azure 角色。
如果我们的脚本仅管理收件人(邮箱和其他收件人对象),那么我们需要分配 Exchange 收件人管理员角色。
从 Azure 门户打开 Azure Active Directory,然后单击“角色和管理员”。或者点击此直接链接。
在过滤器中输入“exchange”,然后单击“Exchange 收件人管理员”:
通过单击“添加分配”并单击在步骤 2 中创建的应用程序标识,将 Exchange 收件人管理员角色分配给我们的新应用程序:
使用基于证书的身份验证运行自动化脚本
您现在可以开始设置自动化脚本。
检查您的帐户是否持有正确的证书总是一个好主意。您可以使用以下代码检查您的证书存储并查看指纹:
PS C:\> Get-ChildItem Cert:\CurrentUser\My | ft
PSParentPath: Microsoft.PowerShell.Security\Certificate::CurrentUser\My
Thumbprint Subject
---------- -------
D05DEA539D7D560F342E3CBED9163EB79334F9EC CN=easy365manager.com
如果一切正常,您现在可以使用证书通过 PowerShell 连接到 Exchange Online,无需用户干预:
PS C:\> Connect-ExchangeOnline -AppId "81d79cde-c79e-4608-ba15-8d1e66eab6bc" -CertificateThumbprint "d05dea539d7d560f342e3cbed9163eb79334f9ec" -Organization "skrubbeltrang.onmicrosoft.com"
----------------------------------------------------------------------------------------
This version of EXO PowerShell V2 module contains new REST API backed cmdlets which doesn't require WinRM
for Client-Server communication and therefore you can now run these cmdlets after turning off WinRM Basic
Auth in your client machine thus making it more secure.
The cmdlets in the downloaded module are resilient to transient failures, handling retries and throttling errors inherently.
The service side execution of these cmdlets have been optimized to perform better than the RPS (V1) cmdlets.
Unlike the EXO* prefixed cmdlets, the cmdlets in this module supports full functional parity with the RPS (v1) cmdlets.
For more information check https://aka.ms/exov2-module
Send your issues, product improvement suggestions and feedback to [email protected]
----------------------------------------------------------------------------------------
PS C:\> get-mailbox lene.hau
Name Alias Database ProhibitSendQuota ExternalDirectoryObjectId
---- ----- -------- ----------------- -------------------------
Lene Hau lene.hau EURP189DG065-db131 49.5 GB (53,150,2... 2df91b7a-78a7-47cf-b58c-e294f302fd71
概括
如本概述所示,设置运行自动化 PowerShell 脚本的先决条件有点乏味。
然而,一旦你把所有的细节都排列好,脚本的执行就非常容易了:
只需在您的系统上导入私钥证书并在您的连接中设置参数 - 您就可以开始了!
如果您现在已经在想:“我如何审核我的自动化脚本正在做什么?”你应该阅读这篇文章。
整合您的 AD 和 Office 365 管理
混合 Office 365 管理对许多公司和组织来说都是一个真正的痛苦。
越来越多的公司开始整合 AD 和 Office 365 管理。
大多数解决方案都会引入新的 Web 应用程序,难以学习且成本高昂。
然而,存在一种解决方案,可以简单地扩展 AD 用户和计算机的功能 - 二十多年来深受管理员喜爱的管理工具。
借助 Easy365Manager,您可以获得有关用户属性的额外选项卡,满足您日常管理 Office 365 和 Exchange Online 的所有需求:
通过这些新选项卡,任何人(包括初级 IT 支持人员)都可以开始设置用户日历权限。通常需要二级 PowerShell 脚本编写技能的内容:
Easy365Manager 是 AD 用户和计算机的简单 .dll 扩展。
它不需要更改基础设施,并且可以在不到一分钟的时间内完成安装。
立即下载 30 天试用版。
猜你还喜欢
- 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 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[短剧] 2025年05月31日 精选+付费短剧推荐58部
[软件合集] 25年5月31日 精选软件66个
[电影] 黄沙漫天(2025) 4K.EDRMAX.杜比全景声 / 4K杜比视界/杜比全景声
[风口福利] 短视频红利新风口!炬焰创作者平台重磅激励来袭
[韩剧] 宝物岛/宝藏岛/金银岛(2025)【全16集】【朴炯植/悬疑】
[电影] 愤怒的牦牛 (2025) 国语中字 4k
[短剧合集] 2025年05月30日 精选+付费短剧推荐56部
[软件合集] 25年5月30日 精选软件26个
[软件合集] 25年5月29日 精选软件18个
[短剧合集] 2025年05月28日 精选+付费短剧推荐38部
[剧集] [央视][笑傲江湖][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
[美图] 2W美女个美女小姐姐,饱眼福
[电视剧] [突围] [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