Script de Powershell que elimina por completo el perfil de usuario, la carpeta del usuario y la clave de registro del usuario para cuentas inactivas

Script de Powershell que elimina por completo el perfil de usuario, la carpeta del usuario y la clave de registro del usuario para cuentas inactivas

Estoy intentando crear un script de Powershell que elimine de una computadora con Windows el perfil de un usuario, la carpeta de un usuario en "C:\Users" y la clave de registro de un usuario en "HKLM:\Software\Microsoft\Windows NT\CurrentVersion\ProfileList " - Todo para cualquier usuario cuyo perfil esté inactivo más de 90 días, sin tener en cuenta administradores específicos o cuentas de servicio.

La razón por la que necesito los tres es porque quiero asegurarme de que este script elimine los perfiles inactivos que incluyen tanto cuentas locales como cuentas de dominio de una computadora.

Nota: Estoy tratando de no usar la Política de grupo para lograr lo que estoy haciendo aquí, solo Powershell.

Aquí está el código que tengo hasta ahora que no funciona:

Get-CimInstance -Class Win32_UserProfile | 
Where-Object {(!$_.Special) -and ($_.LastUseTime -lt (Get-Date).AddDays(-90)) -and ($_.SID -notmatch '-500$')} | 
Remove-CimInstance -WhatIf

$profiledirectory="C:\Users\"
Get-ChildItem -Path $profiledirectory | Where-Object {$_.LastAccessTime -lt (Get-Date).AddDays(-90) -and ($_.FullName -notmatch 'Administrator|Public|LocalAdmin') }
    ForEach-Object{
        Get-ChildItem 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion\ProfileList' |
            ForEach-Object{
            $profilepath=$_.GetValue('ProfileImagePath')    
            if($profilepath -notmatch 'administrator|NetworkService|Localservice|systemprofile|LocalAdmin'){
                Write-Host "Removing item: $profilepath" -ForegroundColor green
                Remove-Item $_.PSPath -Whatif
                Remove-Item $profilepath -Recurse -Force -Whatif
            }else{
                Write-Host "Skipping item:$profilepath" -Fore blue -Back white
            }
        }
    }

Cualquier opinión o sugerencia sería muy apreciada. ¡Gracias!

Respuesta1

Lo reescribiría como:

delprof2 /d:60

Eldelprof2La herramienta es una .exedescarga independiente.

información relacionada