使用 powershell 在 Office365 中通过电子邮件重置密码

使用 powershell 在 Office365 中通过电子邮件重置密码

当我在 Office 365 管理门户中重置密码时,我可以选择通过电子邮件发送新密码,而我甚至不需要先看到密码。

在此处输入图片描述

我知道我可以使用以下方法重置密码

Set-MsolUserPassword

我是否也可以从 Powershell 触发密码电子邮件到我选择的电子邮件地址 - 就像在 UI 中一样?如果可以,怎么做?

答案1

对 Mike111b 的电子邮件进行一点调整:

您可以简单地使用:

$Password = Set-MsolUserPassword -UserPrincipalName <UPN>

然后使用Send-MailMessage命令。

Set-MsolUserPassword 命令将密码作为输出返回,以便可以将其保存到变量中。

答案2

是的。查看Send-MailMessagecmdlet:

https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/send-mailmessage

非常基本的实现:

$UserPrincipalName = Read-Host "Enter the UserPrincipalName"
$Password = Read-Host "Enter the new password"

Set-MsolUserPassword -UserPrincipalName "$UserPrincipalName" -NewPassword "$Password"

Send-MailMessage -To "$UserPrincipalName" -From "ENTER YOUR EMAIL HERE" -Subject "Password Reset" -Body "I have reset your password.  Your new password is:`n`n$Password"

默认情况下,发件人字段的身份验证是针对当前用户的身份验证。如果这不适合您,您可以使用 -Credential 参数。

我还建议将每个密码随机化。无论是使用在线工具然后粘贴到 PowerShell 中还是直接在 PowerShell 中完成,这都无关紧要,但我会将其作为优先事项。

相关内容