AD Konten 10 Stunden nach dem letzten Logon deaktivieren

Mit diesen beiden Beispiel-Skripts kann man die AD Accounts von z.B. externen Support Mitarbeitern nach X Zeit deaktivieren. Ich habe dazu einen Task eingesetzt, der jede Stunde läuft.

# 10 Stunden nach dem letzten Logon > Konto deaktivieren

$domain = “ndsedv.de”
$HoursInactive = 10
$time = (Get-Date).AddHours(-($HoursInactive))

Get-ADUser -Filter {LastLogon -lt $time -and enabled -eq $true} -Properties LastLogon -Server dc01 -SearchBase ” OU=User Accounts,OU=User,OU=ORG,DC=ndsedv,DC=de ” |

select-object samaccountname,@{Name=”LastLogon”; Expression={[DateTime]::FromFileTime($_.lastLogon).ToString(‘dd:mm:yyyy hh:mm:ss’)}} | export-csv C:\Temp\inactiveUser.csv -notypeinformation

Import-Csv “C:\Temp\inactiveUser.csv” | ForEach-Object {  $samAccountName = $_.”samAccountName” Get-ADUser -Identity $samAccountName |   Disable-ADAccount }

AD Account 10 Stunden nach letzten Logon deaktivieren