24 lines
866 B
PowerShell
24 lines
866 B
PowerShell
# Delete old profiles based on the home users directory last modification date
|
|
|
|
$daysInactive = 14 # Specify the number of days of inactivity
|
|
$inactiveDate = (Get-Date).AddDays(-$daysInactive)
|
|
$homeDirectoryPath = "C:\Users" # Path to user home directories
|
|
|
|
# Get all user profiles
|
|
Get-WmiObject Win32_UserProfile | ForEach-Object {
|
|
$profile = $_
|
|
$userFolder = $profile.LocalPath
|
|
|
|
# Check if the profile folder exists and get the last modification date
|
|
if (Test-Path $userFolder) {
|
|
$lastWriteTime = (Get-Item $userFolder).LastWriteTime
|
|
|
|
if ($lastWriteTime -lt $inactiveDate) {
|
|
Write-Host "Deleting user profile: $($profile.LocalPath) Last Modified: $lastWriteTime" -ForegroundColor Red
|
|
|
|
# Remove the user profile
|
|
$profile.Delete()
|
|
}
|
|
}
|
|
}
|