如果你像我一样,可能有大量脚本来管理 Microsoft 365 租户的不同部分。我通过在这些脚本运行后给自己发送一封电子邮件来监控这些脚本,然后我检查我的收件箱以确保它们成功运行。
随着基本身份验证在 Microsoft 365 中被弃用,你可能会在通过 PowerShell 脚本发送电子邮件时遇到问题。但这并不是微软在 PowerShell 中弃用 send-mailmessage 的唯一问题。
另一个问题是 MFA。也许您的组织需要对所有用户帐户进行 MFA。您不能期望每次希望脚本运行和发送电子邮件时都使用 MFA 登录!那太荒谬了。
幸运的是,我们并非别无选择。不过,还有一些设置要做。这是一个快速概述
所以让我们开始吧。
正如我上面提到的,我们需要在 Microsoft Entra 中注册一个应用程序。
接下来,我们需要授予我们的应用发送电子邮件的权限。
在您注册的应用程序中单击API 权限>添加权限> Microsoft Graph
现在我们需要跳转到发送电子邮件的计算机或服务器并创建一个自签名证书。
接下来,我们会将证书上传到我们注册的 Microsoft Entra 应用程序。这样,Microsoft 就可以将我们上传的证书与我们将在发送电子邮件期间使用的证书进行比较。
转到Microsoft Entra 管理中心> Applications > App registrations > 单击Allow sending emails。
我们可以使用 PowerShell 发送电子邮件之前的最后一步!我们只需要安装 MG Graph PowerShell 模块。这是我们将用于通过 PowerShell 发送电子邮件的模块。
最后,我们完成了所有的准备工作。我们已经创建了一个应用程序并赋予了它正确的权限。我们已经创建了一个证书并将其上传到我们注册的应用程序。我们已经安装了 Graph PowerShell 模块。现在,我们可以通过 PowerShell 发送电子邮件了!
返回到您在 Microsoft Entra 管理中心注册的应用。单击概览。
$ClientId = ‘65bf8b60–3552–4621-ab36–9b6e7072093e’
$TenantId = ‘d01acbb1-ad7d-48bc-b82d-7597ca77ca95’
$CertThumbprint = ‘1F4B63E994D8513DE582A50B327A52F2C90C7551’
$Message = @{
subject = “Hello World!”;
toRecipients = @(@{
emailAddress = @{
address = “ admin@gruber18.onmicrosoft.com”;
}});
body = @{
contentType = “text”;
content = “This is my test email.”
}
}
Connect-MgGraph -ClientId $ClientId -TenantId $TenantId -CertificateThumbprint $CertThumbprint
Select-MgProfile -Name v1.0
Send-MgUserMail -UserId “ John@gruber18.onmicrosoft.com” -Message $Message
页面更新:2024-05-16
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号