+49 (0) 8171/405-0 info@proSoft.de

LastLogon Benutzer

Beispielscript, um mit Powershell zu überprüfen, welche AD-Benutzer sich seit einer definierten Zeitspanne nicht mehr im Active Directory angemeldet haben.
Dieses Script kann z.B. dazu verwendet werden, um verwaiste AD-Benutzeraccounts im AD zu finden.
Die ermittelten Daten werden nach Datum sortiert und per HTML eMail versendet.

[sourcecode language=“ps“ autolinks=“false“ collapse=“false“ gutter=“true“ htmlscript=“false“ light=“false“ padlinenumbers=“true“ title=“LastLogon Benutzer“ toolbar=“true“ wraplines=“true“]
### ******************************
### Deklarationen
### ******************************

### Zeitspanne
### ******************************
$lastLogonDays_User = -30;

### Mail-Parameter
### ******************************
$mailFrom = "admin@domain.tld";
$mailTo = "support@domain.tld"
$mailSMTP = "smtpserver.domain.tld";
$mailSubject = "LastLogon Benutzer";

### eMail Header & Body
### ******************************
$mailHtmlHeader = @"
<style>
BODY {font-size:14px;}
TABLE {border-width: 1px; border-style: solid; border-color: black; border-collapse: collapse;}
TD {border-width: 1px; padding: 3px; border-style: solid; border-color: black;}
H2 {font-size:16px;}
</style>
"@

### ******************************
### Script
### ******************************

### aktuelles Datum ermitteln
### ******************************
$currentDate = Get-Date

### Benutzer ermitteln
### ******************************
$dateLimitUser = $currentDate.AddDays($lastLogonDays_User)
$user = Get-ADUser -Filter * -Properties Name, LastLogonDate | Where-Object { $_.LastLogonDate -notlike "" -and $_.LastLogonDate -lt $dateLimitUser -and $_.enabled -eq $true } | Sort LastLogonDate | ConvertTo-Html -Property Name, LastLogonDate -Head $mailHtmlHeader

### eMail versenden
### ******************************
$body = "<h2>Benutzer</h2>" + $user | Out-String
Send-MailMessage -To $mailTo -From $mailFrom -Subject $mailSubject -SmtpServer $mailSMTP -Body $body -BodyAsHtml -encoding ([System.Text.Encoding]::UTF8)
[/sourcecode]