Powershell 排除禁用用户获取aduser
我想从这个脚本中排除禁用的用户,但似乎找不到我如何尝试-排除而没有运气 如果你有一个更好的方法来做这件事,也可以公开征求意见Powershell 排除禁用用户获取aduser,powershell,Powershell,我想从这个脚本中排除禁用的用户,但似乎找不到我如何尝试-排除而没有运气 如果你有一个更好的方法来做这件事,也可以公开征求意见 import-module ActiveDirectory; $maxPasswordAgeTimeSpan = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge Get-ADUser -filter * -properties PasswordLastSet, PasswordExpired, PasswordNe
import-module ActiveDirectory;
$maxPasswordAgeTimeSpan = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge
Get-ADUser -filter * -properties PasswordLastSet, PasswordExpired, PasswordNeverExpires, EmailAddress, GivenName | foreach {
$today=get-date
$UserName=$_.GivenName
$Email=$_.EmailAddress
if (!$_.PasswordExpired -and !$_.PasswordNeverExpires) {
$ExpiryDate=$_.PasswordLastSet + $maxPasswordAgeTimeSpan
$DaysLeft=($ExpiryDate-$today).days
if ($DaysLeft -lt 10 -and $DaysLeft -gt 0){
$WarnMsg = "
<p style='font-family:arial'>Bonjour $UserName,</p>
<p style='font-family:arial'>Votre mot de passe va expirer dans $DaysLeft jours, S.V.P. changer votre mot de passe.</p>
<p style='font-family:arial'>Merci.</p>"
$enc = New-Object System.Text.utf8encoding
ForEach ($email in $_.EmailAddress) {
send-mailmessage -to test@test -from noreply@test.com -Subject "Votre mot de passe va expirer dans $DaysLeft jours" -body $WarnMsg -smtpserver x.x.x.x -BodyAsHtml -Encoding $enc }
}
}
}
导入模块ActiveDirectory;
$maxPasswordAgeTimeSpan=(获取AddFaultDomainPasswordPolicy)。MaxPasswordAge
Get ADUser-filter*-属性PasswordLastSet、PasswordExpired、PasswordNeverExpires、EmailAddress、GivenName | foreach{
$today=获取日期
$UserName=$\u.GivenName
$Email=$\电子邮件地址
如果(!$\uu0.PasswordExpired-和!$\u0.PasswordNeverExpires){
$ExpiryDate=$\密码LastSet+$maxPasswordAgeTimeSpan
$DaysLeft=($ExpiryDate-$today)。天
如果($DaysLeft-lt 10-和$DaysLeft-gt 0){
$WarnMsg=”
你好$UserName
Votre mot de passe va呼气机dans$DaysLeft jours,S.V.p.转换器Votre mot de passe
谢谢。
$enc=新对象System.Text.utf8encoding
ForEach($电子邮件地址){
发送邮件至test@test-来自noreply@test.com-主题“Votre mot de passe va呼气机dans$DaysLeft jours”-正文$WarnMsg-smtpserver x.x.x.x-正文ASHTML-编码$enc}
}
}
}
只需在获取AdUser将过滤器从*
更改为'enabled-eq“true”
这表现得更好。我们应该尽可能避免
-Filter*
,因为这样每次都会转储整个广告。既然启用
是他的标准之一。。。
Get-ADUser -filter 'enabled -eq "true"' -properties ...