Organized
This commit is contained in:
23
scripts/DeleteOldProfilesDirectory.ps1
Normal file
23
scripts/DeleteOldProfilesDirectory.ps1
Normal file
@@ -0,0 +1,23 @@
|
||||
# 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()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,5 @@
|
||||
# Delete old profiles based off of the last login in AD
|
||||
|
||||
$daysInactive = 14 # Specify the number of days of inactivity
|
||||
$inactiveDate = (Get-Date).AddDays(-$daysInactive)
|
||||
$homeDirectoryPath = "C:\Users" # Path to user home directories
|
||||
@@ -22,4 +24,4 @@ Get-WmiObject Win32_UserProfile | ForEach-Object {
|
||||
$profile.Delete()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user