slashtec.de

Die beste Nation ist die Resignation

Abgelaufene User Accounts ausgeben

,

Aus der Serie der Active Directory Hygiene folgt ein Skript um alle abgelaufene Accounts auszugeben.

Abgelaufene Accounts sind die Accounts, bei denen ein Account Ablauf Datum gesetzt ist, und dieses in der Vergangenheit ist. Dies ist ein Sicherheitsfeautre für AD Accounts, damit diese Accounts nicht mehr zum Login benutzt werden können, wenn es nicht mehr erlaubt sein soll.

Einsatzzwecke sind für Mitarbeiter Accounts die nur eine gewisse Zeit im Unternehmen arbeiten, bspw. Zeitarbeiter, befristete Einstellungen oder Projekt bezogene Accounts.

# Import Active Directory Module
Import-Module ActiveDirectory

# Get the current date
$currentDate = Get-Date

# Search for users with account expiration date in the past and account is active
$expiredUsers = Get-ADUser -Filter {
    AccountExpirationDate -lt $currentDate -and 
    Enabled -eq $true
} -Property DisplayName, AccountExpirationDate, DistinguishedName

# Function to extract OU from DistinguishedName
function Get-OUFromDistinguishedName {
    param (
        [string]$distinguishedName
    )
    # Extract the OU part from DistinguishedName
    $ou = ($distinguishedName -split ',')[1..($distinguishedName.Length)] -join ','
    return $ou
}

# Output the results with OU
$expiredUsers | Select-Object DisplayName, AccountExpirationDate, @{Name="OU";Expression={Get-OUFromDistinguishedName $_.DistinguishedName}}


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert