[玩转系统] 使用 PowerShell 连接到 Exchange Online - 最佳方法
作者:精品下载站 日期:2024-12-14 03:40:18 浏览:13 分类:玩电脑
使用 PowerShell 连接到 Exchange Online - 最佳方法
Exchange Online 中的某些设置只能使用 PowerShell 进行更改。但是如何使用 PowerShell 连接到 Exchange Online?特别是当您使用 MFA,或者想要按照计划或 Azure Runbook 自动运行脚本时。
PowerShell 也是在 Exchange Online 中执行许多日常任务的好方法,例如更改邮箱设置、添加新邮箱或从中检索信息。
在本文中,我们将了解如何在 PowerShell 中连接到 Exchange Online、如何在 Azure Runbook 中使用该模块等等。
安装 Exchange 在线模块
我们需要在 PowerShell 中安装 EXO V3 模块,然后才能连接到 Exchange Online。要安装 PowerShell 模块,我们将以提升(管理员)模式打开 PowerShell:
- 以提升模式打开 PowerShell
按Windows 键 + X 并选择Windows PowerShell (admin) - 安装 EXO V3 模块
键入以下命令来安装 Exchange Online 管理模块:
# Add -Force to it when you need to update EXO V3.
Install-Module -Name ExchangeOnlineManagement -Force
- 按 Y 两次
如果您尚未安装 NuGet,系统将首先提示您安装 PowerShellGet。只需按 Y。再次按 Y 从不受信任的存储库安装 Exchange Online 模块
使用 PowerShell 连接到 Exchange Online
要连接到 Exchange Online,您有多种选择。如果您仅输入命令 Connect-ExchangeOnline
,系统将提示您输入或选择您的 Microsoft 365 帐户。最新模块 v3 支持 MFA,因此您可以使用启用了 MFA 的帐户进行身份验证。
就个人而言,我更喜欢指定要用于连接的帐户,您可以使用 UserPrincipalName
参数来执行此操作:
Connect-ExchangeOnline -UserPrincipalName [email protected]
连接到 Exchange Online 后,默认情况下您将获得包含有关 EXO 模块信息的输出。我们可以通过使用参数-ShowBanner:$false
来隐藏横幅
Connect-ExchangeOnline -UserPrincipalName [email protected] -ShowBanner:$false
新的 EXO V3 模块还支持连接到另一个租户。如果您是 Microsoft 合作伙伴或管理多个租户,则可以通过添加 -DeleratedOrganization
参数连接到另一个租户:
Connect-ExchangeOnline -UserPrincipalName [email protected] -DelegatedOrganization contoso.onmicrosoft.com
自动检查EXO模块是否安装
您要在脚本中使用 Exchange Online 模块吗?然后确保在尝试连接之前自动检查模块是否已安装。
使用单个 cmdlet,我们可以列出 PowerShell 中所有已安装的模块。您可以通过验证 ExchangeOnlineManagement 模块是否可用来防止不必要的错误。
if ($null -ne (Get-Module -ListAvailable -Name ExchangeOnlineManagement)){
# Your script goes here
}
上面的 cmd 应返回已安装的 Exchange Online 模块的列表。如果结果为空 (null),则我们知道该模块未安装。
更新 Exchange Online PowerShell 模块
PowerShell 模块经常更新,包括 Exchange Online 模块。最新版本的 EXO v3 进行了一些改进,值得更新您的 PowerShell 模块。
- 更好的性能 - 新的 EXO cmdlet 基于 REST API
- 更安全 - V3 使用现代身份验证
- 更可靠
- 基于证书的身份验证
- UseRPSSession Switch - 授予对所有现有远程 PowerShell cmdlet 的访问权限。
要更新 Exchange Online PowerShell 模块,我们可以在提升的 PowerShell 窗口中使用以下命令:
Update-Module -Name ExchangeOnlineManagement
使用以下命令验证更新:
Get-Module ExchangeOnlineManagement
要受益于新功能,请确保将 Get-*
cmdlet 更新为 Get-EXO*
对应项。您可以在文档中找到新 cmdlet 的最新列表。
连接到 PowerShell 的 Exchange Online 功能
下面的完整函数可以在脚本中使用来连接到 Exchange Online。此函数检查是否安装了 Exchange Online 模块,以及何时提供自动安装的选项。
它还检查 PowerShell 中任何现有的 Exchange Online 连接,防止来自同一会话的多个连接。
Function ConnectTo-EXO {
<#
.SYNOPSIS
Connects to EXO when no connection exists. Checks for EXO v3 module
#>
param(
[Parameter(
Mandatory = $true
)]
[string]$adminUPN
)
process {
# Check if EXO is installed and connect if no connection exists
if ($null -eq (Get-Module -ListAvailable -Name ExchangeOnlineManagement))
{
Write-Host "Exchange Online PowerShell v3 module is requied, do you want to install it?" -ForegroundColor Yellow
$install = Read-Host Do you want to install module? [Y] Yes [N] No
if($install -match "[yY]") {
Write-Host "Installing Exchange Online PowerShell v3 module" -ForegroundColor Cyan
Install-Module ExchangeOnlineManagement -Repository PSGallery -AllowClobber -Force
}else{
Write-Error "Please install EXO v3 module."
}
}
if ($null -ne (Get-Module -ListAvailable -Name ExchangeOnlineManagement)) {
# Check which version of Exchange Online is installed
if (Get-Module -ListAvailable -Name ExchangeOnlineManagement | Where-Object {$_.version -like "3.*"} ) {
# Check if there is a active EXO sessions
if ((Get-ConnectionInformation).tokenStatus -ne 'Active') {
write-host 'Connecting to Exchange Online' -ForegroundColor Cyan
Connect-ExchangeOnline -UserPrincipalName $adminUPN
}
}else{
# Check if there is a active EXO sessions
$psSessions = Get-PSSession | Select-Object -Property State, Name
If (((@($psSessions) -like '@{State=Opened; Name=ExchangeOnlineInternalSession*').Count -gt 0) -ne $true) {
write-host 'Connecting to Exchange Online' -ForegroundColor Cyan
Connect-ExchangeOnline -UserPrincipalName $adminUPN
}
}
}else{
Write-Error "Please install EXO v3 module."
}
}
}
以委派管理员(合作伙伴)身份连接到 Exchange Online
当您管理多个租户时,您可能还需要连接到 Exchange Online。您还可以作为委派管理员连接到 Exchange Online,而不是使用客户端租户的专用管理员登录名。
这样,您就可以使用自己的凭据进行身份验证。为此,您需要使用参数-DeleatedOrganization
。
# Replace stonegrovebank.onmicrosoft.com with the organization that you want to manage
Connect-ExchangeOnline -DelegatedOrganization stonegrovebank.onmicrosoft.com
# Optional, you can specify your username as well
Connect-ExchangeOnline -UserPrincipalName [email protected] -DelegatedOrganization stonegrovebank.onmicrosoft.com
您现在可以管理合作伙伴租户的所有邮箱。
在没有现代身份验证的情况下将 Exchange Online 连接到 PowerShell
如果您的帐户尚不支持新式身份验证,您可以使用以下方法在 PowerShell 中连接到 Exchange Online:
$cred = Get-Credential
Connect-ExchangeOnline -Credential $cred -ShowProgress $true
检查 Exchange Online 是否已连接
在脚本中使用 Exchange Online 模块时,最好检查连接是否已存在。请记住,您只能有 5 个同时连接到 Exchange Online。如果不需要,您可能不想登录。
从 EXO v3 开始,我们可以使用 cmdlet Get-ConnectionInformation
。如果您使用的是旧版本的 Exchange Online,则需要使用 Get-PSSession
。
通过下面的代码片段,您可以检查 V3 和旧版本是否有活动的 ExchangeOnline 会话。我们首先检查是否安装了 ExchangeOnline 模块,然后检查是否安装了 3.x 版本。然后根据版本,我们检查现有连接。
if ($null -ne (Get-Module -ListAvailable -Name ExchangeOnlineManagement)) {
# Check which version of Exchange Online is installed
if (Get-Module -ListAvailable -Name ExchangeOnlineManagement | Where-Object {$_.version -like "3.*"} ) {
# Check if there is a active EXO sessions
if ((Get-ConnectionInformation).tokenStatus -ne 'Active') {
write-host 'Connecting to Exchange Online' -ForegroundColor Cyan
Connect-ExchangeOnline -UserPrincipalName $adminUPN
}
}else{
# Check if there is a active EXO sessions
$psSessions = Get-PSSession | Select-Object -Property State, Name
If (((@($psSessions) -like '@{State=Opened; Name=ExchangeOnlineInternalSession*').Count -gt 0) -ne $true) {
write-host 'Connecting to Exchange Online' -ForegroundColor Cyan
Connect-ExchangeOnline -UserPrincipalName $adminUPN
}
}
}
获取邮箱信息
借助新的 EXO V3 模块,您现在可以使用以下简写轻松获取邮箱详细信息:
# Old way:
Get-ExoMailbox -identity [email protected]
# With the EXO V2 module you can write the following shorthand
Get-ExoMailbox johndoe
断开您的会话
在关闭 PowerShell 窗口之前,请务必确保断开 Exchange Online 会话。如果不关闭会话,您最终可能会使用所有 5 个与 Exchange Online 的远程 PowerShell 连接。如果发生这种情况,您将需要等待会话过期才能重新连接。
Disconnect-ExchangeOnline
常见问题解答
如果您收到错误“无法加载文件,因为该系统上禁用了运行脚本。提供用于签署文件的有效证书。” 那么您忘记设置执行策略。
在提升的 PowerShell 窗口中运行以下 cmd:Set-ExecutionPolicy RemoteSigned
您正尝试在使用基本身份验证选项时使用启用了 MFA 的帐户连接到 Exchange Online。
请确保安装最新的 Exchange Online 模块 EXO V3,如本文开头所述。
您已使用所有 5 个可用的 Exchange Online 连接。确保断开 PowerShell 会话连接。
要关闭当前会话,您需要运行以下 cmd:Get-PSSession |删除-PSSession
要连接到 Exchange Online,您需要使用 Office 365 中的全局管理员帐户。您连接的帐户没有正确的权限。
总结
新的 Exchange Online 模块非常强大,使使用 Exchange Online 变得更加容易。我希望这篇文章可以帮助您入门。如果您有任何疑问,请在下面发表评论。
您可能还喜欢以下文章:
- 启用 Office 365 Plus 寻址
- 使用 PowerShell 查找所有电子邮件地址
- 将 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