AD 帐户过期和电子邮件脚本

     2023-03-15     240

关键词:

【中文标题】AD 帐户过期和电子邮件脚本【英文标题】:AD Account Expiring and Emailing Script 【发布时间】:2020-02-29 19:49:06 【问题描述】:

我想使用以下代码通过电子邮件发送广告帐户即将到期的人员列表。但是我收到此错误:

Search-ADAccount:“Search-ADAccount”一词未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者路径是否 包括,验证路径是否正确,然后重试。 在 C:\Users\georgeh\Desktop\ADAccount Test.PS1:8 char:18 + $Message.body = 搜索-ADAccount -AccountExpiring -TimeSpan "30" |选择对象... + ~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Search-ADAccount:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

Search-ADAccount:“Search-ADAccount”一词未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者路径是否 包括,验证路径是否正确,然后重试。 在 C:\Users\test\Desktop\ADAccount Test.PS1:15 char:17 + $Message.body = 搜索-ADAccount -AccountExpiring -TimeSpan "30" |选择对象... + ~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Search-ADAccount:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

代码:

$smtpServer = "test.local" 
$smtpFrom = "gh@test.com" 
$smtpTo = "gh@test.com"; 
$messageSubject = "These users AD Accounts are expiring"
$Message = New-Object System.Net.Mail.mailmessage $smtpFrom, $smtpTo 
$Message.Subject = $messageSubject
$content = 'TEST'

$Message.body =  Search-ADAccount -AccountExpiring -TimeSpan "30" |
        Select-Object Name,AccountExpirationDate |
        Sort-Object AccountExpirationDate |
        ConvertTo-HTML -Head $style 

$Message.IsBodyHtml = $true

$style = "<style>BODYfont-family: Arial; font-size: 10pt;" 
$style = $style + "TABLEborder: 1px solid red; border-collapse: collapse;" 
$style = $style + "THborder: 1px solid red; background: #dddddd; padding: 5px; " 
$style = $style + "TDborder: 1px solid red; padding: 5px; " 
$style = $style + "</style>" 

$Message.body = Search-ADAccount -AccountExpiring -TimeSpan "30" |
    Select-Object Name,AccountExpirationDate |
    Sort-Object AccountExpirationDate |
    ConvertTo-HTML -Head $style 

$smtp = new-Object Net.Mail.SmtpClient($smtpServer) 

if ($content) 
    $smtp.Send($message) 

【问题讨论】:

您的 PC 上运行的是哪个 Windows 版本?确保您的 PC 是最新的 WMF 和 .NET,并且您可以联系运行 ADWS 的域控制器。 运行时:Search-ADAccount -AccountExpiring -TimeSpan "30" | Select-Object Name,AccountE xpirationDate |排序对象 AccountExpirationDate |它自己返回结果。当尝试合并到电子邮件部分时,它会失败。 检查 "$message.body =" 中的所有空格是否有未知/非法字符 - 你那里的脚本对我来说很好用。如果有疑问,请取出换行符并将其全部放在一行中。 这段代码是怎么回事?例如,第一个错误消息At C:\Users\georgeh\Desktop\ADAccount Test.PS1:8 char:18 + $Message.body 中的这个位与第二个错误At C:\Users\test\Desktop\ADAccount Test.PS1:15 char:17 + $Message.body 中的这个位相比有点令人困惑。 【参考方案1】:

您的所有语法看起来都不错。您确定在运行此脚本的计算机上安装了 ActiveDirectory 模块吗?

由于您评论说脚本在变量之外运行。仅用于测试,尝试在变量之外但仍在此脚本中运行该命令?

【讨论】:

运行整个脚本时,我收到以下错误:使用“1”参数调用“发送”的异常:“事务失败。服务器响应为:来自 gh@test.com 的邮件出于政策原因被拒绝。”在 line:30 char:5 @glh 这与你原来的问题完全不同。 对于我最初的错误,我会接受这个答案,谢谢

windowsserver2012r2ad域密码过期邮件提醒(代码片段)

...域密码提醒的服务,这样会更人性化些,员工也就不必等过期了来找管理员重置。但是但是本人不懂脚本,就干脆从网上找了些链接做为参考,这里感谢此链接的作者https://www.yeboyzq.com/windowsserver/632.html以下是最终的过程Import-Modu... 查看详情

为啥我们应该让帐户激活/密码重置链接在一段时间后过期?

...他的密码并要求重置他的密码,一封带有密码重置链接的电子邮件被发送给 查看详情

Rails - 使用 Omniauth 和 Koala 的 Facebook:如何更新过期的令牌

...,用户可以在其中链接他们的Facebook帐户。他们可以使用电子邮件登录,但可以链接他们的Facebook帐户。在我显示链接的社交网络(Face 查看详情

为自动电子邮件脚本存储帐户凭据(尤其是密码)的最佳方式是啥?

】为自动电子邮件脚本存储帐户凭据(尤其是密码)的最佳方式是啥?【英文标题】:Whatisthebestwaytostoreaccountcredentials(especiallypassword)foranautomatedemailscript?为自动电子邮件脚本存储帐户凭据(尤其是密码)的最佳方式是什么?【发... 查看详情

netcore如何获取ad帐号

netcore如何获取ad帐,方法如下:第一、输入注册的电子邮件,比如我们常用的QQ,163,新浪,Gmail邮箱等。这个邮箱用作于苹果的账号,并且还可以用于找回密码,接受苹果相关信息等。第二、设置AppleID密码。密码的长度至少为8... 查看详情

Azure AD B2C - 我们可以使用电子邮件 ID 而不是 UPN 登录 - 仅限本地帐户自定义策略吗?

】AzureADB2C-我们可以使用电子邮件ID而不是UPN登录-仅限本地帐户自定义策略吗?【英文标题】:AzureADB2C-Canwesign-inusingemail-idinsteadofUPN-localaccountsonlycustompolicy?【发布时间】:2021-10-1100:00:06【问题描述】:我正在使用AzureADB2C本地帐... 查看详情

使用 gmail 帐户和 PHPMailer 从 Heroku 服务器发送电子邮件

】使用gmail帐户和PHPMailer从Heroku服务器发送电子邮件【英文标题】:SendemailfromHerokuserverusinggmailaccountandPHPMailer【发布时间】:2021-12-1610:23:52【问题描述】:我有一个Heroku应用程序,它有一个发送电子邮件的php脚本。发送的电子邮... 查看详情

Powershell 将用户帐户密码设置为永不过期

】Powershell将用户帐户密码设置为永不过期【英文标题】:PowershelltoSetUserAccountPasswordtoNeverExpire【发布时间】:2020-07-1500:22:02【问题描述】:Set-ADUser-Identity<name>-PasswordNeverExpires$trueSet-ADUser:术语“Set-ADUser”未被识别为cmdlet、... 查看详情

powershell轻松更新所有ad用户电子邮件域的脚本(代码片段)

查看详情

如何配置 Azure AD 访问令牌的过期时间(使用 ADAL)?

...-0120:21:46【问题描述】:我们使用AzureAD通过用户的Office365帐户向我们的WPF应用程序验证用户身份。这是使用ActiveDirectory身份验证库(ADAL)完成的。目前,每次 查看详情

无法使用smtp.gmail.com从一个特定的google帐户发送邮件(代码片段)

我无法通过smtp.gmail.com发送邮件仅用于一个特定的Google帐户。当我使用其他Google帐户时,我的VBS脚本会成功发送邮件,因此我知道该脚本工作正常。两个帐户都打开了LessSecureApps。我也多次尝试过DisplayUnlockCaptcha。两个帐户都启用... 查看详情

AzCopy 的 Azure AD 登录名需要多长时间才能过期?

】AzCopy的AzureAD登录名需要多长时间才能过期?【英文标题】:HowlongbeforetheAzCopy\'sAzureADloginexpire?【发布时间】:2021-11-0115:25:52【问题描述】:我有一个每天运行的python脚本,它需要在每天的某个时间将文件上传到Azure存储。我正... 查看详情

Keycloak :使用带有永不过期令牌的服务帐户

】Keycloak:使用带有永不过期令牌的服务帐户【英文标题】:Keycloak:Useserviceaccountwithtokenthatneverexpire【发布时间】:2021-12-1218:14:55【问题描述】:我正在使用Keycloak和SpringBootAPI。我的目标是能够将keycloakAdminRESTAPI与仅生成一次的令... 查看详情

使用 AD 的服务帐户和用户帐户凭据连接到 Active Directory 以登录(在我的产品中)

】使用AD的服务帐户和用户帐户凭据连接到ActiveDirectory以登录(在我的产品中)【英文标题】:ConnecttoActiveDirectoryforLogin(inmyproduct)usingServiceAccountandUserAccountCredentialsofAD【发布时间】:2019-03-1818:54:32【问题描述】:我目前正在使用D... 查看详情

没有第二个账号查询AD,如何检测AD用户密码是不是过期?

】没有第二个账号查询AD,如何检测AD用户密码是不是过期?【英文标题】:HowcanIdetectwhetherADuserpasswordisexpiredwithoutasecondaccounttoqueryAD?没有第二个账号查询AD,如何检测AD用户密码是否过期?【发布时间】:2015-05-3015:28:57【问题描... 查看详情

Azure AD 链接帐户和备用登录映射

】AzureAD链接帐户和备用登录映射【英文标题】:AzureADLinkedAccountsandAlternateLoginMapping【发布时间】:2016-10-2714:18:35【问题描述】:我的客户正在修改他们的所有UPN以匹配他们的主SMTP。他们有几个AzureAD目录,并且他们正在更改UPN的... 查看详情

PayPal API 休息和商家电子邮件帐户

】PayPalAPI休息和商家电子邮件帐户【英文标题】:PayPalAPIRest&Merchante-mailaccount【发布时间】:2014-06-2221:27:25【问题描述】:这是我的问题:是否可以将PayPalAPIRest与我的API-KEY一起使用,但使用不同的商家电子邮件帐户来接受付... 查看详情

使用 Azure AD 和本地帐户保护 API

】使用AzureAD和本地帐户保护API【英文标题】:SecuringAPIwithAzureADandlocalaccounts【发布时间】:2020-08-1907:34:04【问题描述】:我想保护我的API,以便只有在AzureAD中进行身份验证并在我的应用程序中拥有本地帐户的用户才能调用它。... 查看详情