AD-User nach Ablaufdatum filtern
Hallo Zusammen,
ich habe ein Skript, welches mir zuverlässig alle AD-User ausgibt, deren Kennwort in ein bestimmten Tagen ausläuft.
Versuche ich jetzt allerdings einen weiteren Filter hinzuzufügen (siehe unteres Skript) meldet er mir einen Syntaxfehler. Es geht hierbei direkt um den Filter LogonName
ich habe ein Skript, welches mir zuverlässig alle AD-User ausgibt, deren Kennwort in ein bestimmten Tagen ausläuft.
Import-Module ActiveDirectory
$Days= Read-Host "Gebe Tage bis Ablauf ein "
$Date=Get-Date -Format yy-MM-dd((Get-Date).adddays($Days))
$Users=Get-ADUser -filter {(Enabled -eq $True) -and (PasswordNeverExpires -eq $False)} -SearchBase "OU=Users,OU= ,OU= ,OU= ,OU= ,DC= ,DC= " -Properties DisplayName, msDS-UserPasswordExpiryTimeComputed, Mail | Where-Object {$_.DisplayName -ne $null} | Select DisplayName, Mail,@{Name="ExpiryDate";Expression={([datetime]::fromfiletime($_."msDS-UserPasswordExpiryTimeComputed")).DateTime}}
foreach ($Entry in $Users) {
$EntryDate = Get-date($Entry.ExpiryDate) -Format yy-MM-dd
if ($EntryDate -lt $Date) {
Write-Host "Der User" $entry.DisplayName "mit der Mailadresse:" $Entry.Mail "läuft ab am" $EntryDate -ForegroundColor Red
}
else
{
Write-host "OK: Der User" $entry.DisplayName "mit der Mailadresse:" $Entry.Mail "läuft ab am" $EntryDate -ForegroundColor green
}
}
Read-Host
Versuche ich jetzt allerdings einen weiteren Filter hinzuzufügen (siehe unteres Skript) meldet er mir einen Syntaxfehler. Es geht hierbei direkt um den Filter LogonName
Import-Module ActiveDirectory
$Days= Read-Host "Gebe Tage bis Ablauf ein "
$Date=Get-Date -Format yy-MM-dd((Get-Date).adddays($Days))
$Users=Get-ADUser -filter {(Enabled -eq $True) -and (PasswordNeverExpires -eq $False) -and ("LogonName -like 'RES*'")} -SearchBase "OU=Users,OU= ,OU= ,OU= ,OU= ,DC= ,DC= " -Properties DisplayName, msDS-UserPasswordExpiryTimeComputed, Mail | Where-Object {$_.DisplayName -ne $null} | Select DisplayName, Mail,@{Name="ExpiryDate";Expression={([datetime]::fromfiletime($_."msDS-UserPasswordExpiryTimeComputed")).DateTime}}
foreach ($Entry in $Users) {
$EntryDate = Get-date($Entry.ExpiryDate) -Format yy-MM-dd
if ($EntryDate -lt $Date) {
Write-Host "Der User" $entry.DisplayName "mit der Mailadresse:" $Entry.Mail "läuft ab am" $EntryDate -ForegroundColor Red
}
else
{
Write-host "OK: Der User" $entry.DisplayName "mit der Mailadresse:" $Entry.Mail "läuft ab am" $EntryDate -ForegroundColor green
}
}
Read-Host
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 451153
Url: https://administrator.de/contentid/451153
Ausgedruckt am: 21.11.2024 um 18:11 Uhr
2 Kommentare
Neuester Kommentar