diff --git a/DeleteOldProfiles.ps1 b/DeleteOldProfiles.ps1 new file mode 100644 index 0000000..0cee404 --- /dev/null +++ b/DeleteOldProfiles.ps1 @@ -0,0 +1,21 @@ +$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() + } + } +} \ No newline at end of file