Accedi

Powershell - pulire cache e file temporanei per più profili utente.

Un'altro metodo per pulire tutte le cache da ADMIN -  POWERSHELL è il seguente e permette di Cancellare i file cache/temporanei per più profili utente.

Nella ricerca digitate  POWERSHELL = esegui come amministratore, e fate copia/incolla del codice qui sotto:

 

#--------------------------------------------------------------
# Remove-UserProfileTempFiles.ps1 - Ottieni profili utente e rimuovi file e cartelle nella cartella Temp
# Nota: Ignora gli errori di accesso se non hai i diritti di accesso ad altri profili utente
#--------------------------------------------------------------

#--------------------------------------------------------
# Ottieni il percorso della cartella temporanea del profilo utente corrente
# e crea un modello di formato stringa sostituendo il nome utente
#--------------------------------------------------------
$tempPathArray = [environment]::GetEnvironmentVariable('TEMP').Split('\').Split('/')
$tempPathArray[2] = '{0}'
$tempPathPattern = $tempPathArray[2..9] -join '/'

#--------------------------------------------------------
# Ottieni l'elenco di tutti i profili utente dal Registro di sistema
#--------------------------------------------------------
$ProfileList = (Get-ChildItem -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\')
ForEach ($Profile in $ProfileList) {
#--------------------------------------------------------
# Crea la cartella temporanea del profilo utente anteponendo il percorso alla cartella del profilo utente
#--------------------------------------------------------
$tempFolder = [System.IO.DirectoryInfo]::new(($tempPathPattern -f $Profile.GetValue('ProfileImagePath')))
if (-not $tempFolder.Exists) {
#-------------------------------------------
# Non una cartella temporanea del profilo utente valida
#-------------------------------------------
Continue
}
#----------------------------------------------------------
# Ottieni l'elenco di tutti gli oggetti file e cartella nella cartella Temp
#----------------------------------------------------------
$PreList = @()
$PreList = Get-ChildItem -Path $tempFolder.FullName -Force -Recurse -ErrorAction SilentlyContinue
#----------------------------------------------------------
Write-Host ('Rimozione di file e cartelle da: ({0})' -f $tempFolder.FullName)
Write-Host ('Verranno eliminati: ({0}) oggetti del file system' -f $PreList.Count)
#----------------------------------------------------------
If ($PreList) {
$PreList.Where({$_.Exists}) | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
$PostList = Get-ChildItem -Path $tempFolder.FullName -Force -Recurse -ErrorAction SilentlyContinue
Write-Host ('Saltati: ({0}) file' -f $PostList.Count)
Write-Host -ForegroundColor yellow "Pulizia completata by MSNI.it"
}
}

 

Commenti