Deseleziona il Cestino per tutti gli utenti in Windows Server 2008 R2


Risposte:


34

Per quanto ne so, non è un modo "ufficiale" supportato da Microsoft per farlo. Vi sono due opzioni. Uno prevede l'eliminazione di c: \ $ Recycle.Bin e l'altro è lo script cleanmgr.exe da eseguire ad ogni accesso dell'utente.

La cosa più vicina al supporto "ufficiale" per l'eliminazione di c: \ $ Recycle.bin proviene da questo MS KB , che fa riferimento a XP e Vista, ma implica il comportamento previsto.


Cancellazione immediata

Se vuoi che ciò accada immediatamente, sembra che tu possa semplicemente eseguire rd /s c:\$Recycle.Bine Windows dovrebbe ricreare le cartelle necessarie la prossima volta che sono necessarie. Ho appena testato questo rapidamente e sembra funzionare, ma - ovviamente - procedere con cautela.


Cancellazione ricorrente tramite script

Puoi farlo con lo strumento Pulizia disco (cleanmgr.exe). Sfortunatamente, Microsoft ha deciso di raggrupparlo con il set di funzionalità "Esperienza desktop", il che significa che dovrai installare un sacco di altre schifezze e riavviare.

L'alternativa è prendere i seguenti due file e spostarli nelle posizioni specificate per Technet :

C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe
C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui

Cleanmgr.exe dovrebbe andare in% systemroot% \ System32.

Cleanmgr.exe.mui dovrebbe andare in% systemroot% \ System32 \ en-US.

L'esecuzione di cleanmgr da solo non ti permetterà di cancellare il cestino di tutti, ma puoi usare / sageset e / sagerun per creare uno script di accesso che venga eseguito per tutti gli utenti tramite GPO che cancellerà il loro cestino al prossimo accesso, come descritto qui . Non è la cosa più pulita, ma funzionerà. L'articolo collegato è per XP, ma la sintassi è invariata rispetto a Server 2008 R2.


Ho fatto una piccola ricerca su questo, c'era questo collegamento che elabora un po '. social.technet.microsoft.com/Forums/en-US/winserverManagement/…
Bart Silverstrim

Testato, questo non lo cancella per tutti gli utenti. Non voglio davvero contattare il nostro appaltatore e fargli accedere solo per eliminare alcuni file ...
Kyle Brandt

Sì, posso confermare anche questo comportamento. Sembra che uno degli script cleanmgrda eseguire ad ogni login sia la cosa più vicina a un modo MS ufficiale di farlo. L'alternativa è eliminare la cartella del cestino su ciascun profilo. Si deve ricreare sul successivo accesso per ogni utente, ma sarei un po 'stanco di provare questo in produzione.
MDMarra,

Altro su automatizzando cleanmgr qui ... stackoverflow.com/a/35214197/80161
Nathan Hartley

9

Non credo che sia documentato un modo corretto poiché i contenitori per il riciclaggio per gli utenti sono tenuti separati nei loro profili; ciò costituirebbe anche un rischio per la sicurezza, in quanto documenti o elementi nel cestino, se esaminati dagli utenti, potrebbero consentire la fuoriuscita di determinati documenti.

Potrebbe essere possibile eseguire lo script di uno script con privilegi di amministratore per eseguire e cancellare i file dal cestino di ciascun profilo locale (ma potrebbe essere comunque sincronizzato con il server che contiene i profili se si dispone di profili di roaming). Ma devi avere le autorizzazioni e la proprietà impostate correttamente; So che sui nostri server l'amministratore non ha un accesso adeguato ai profili sul server di archiviazione; l'amministratore deve assumere la proprietà del profilo e, quando avremo finito, restituirà la proprietà all'utente corretto altrimenti i profili non funzioneranno più correttamente per loro.

Potresti provare a eseguire un processo alla disconnessione che cancella la directory del cestino per utente, ma che comporta anche l'eliminazione accidentale di qualcosa che vogliono recuperare in seguito e ora scomparirà da quando è stato eliminato all'ultima disconnessione.

Probabilmente il modo "corretto" per farlo è configurare le quote su workstation e server e quando tale quota viene colpita per l'archiviazione, l'utente impara che devono eliminare gli elementi dal cestino. Per motivi di sicurezza sarebbe un problema di formazione. Altrimenti avresti bisogno di una soluzione alternativa.

@markm aveva un suggerimento di utilità che sembra fare questo; Sostengo l'affermazione che non è un modo "corretto" poiché è un componente aggiuntivo e non è integrato in Windows per impostazione predefinita (anche se non mi sorprende che l'utilità di amministrazione utile non sia inclusa.) L'unico altro problema che ho ' d preoccuparsi di usarlo è che potrebbe essere necessario eseguirlo su una workstation e sul server o si potrebbero avere problemi di sincronizzazione del profilo con ciò che appare dove. Sembra che dovrebbe essere solo un mini-strumento per accedere alla scheda "pulizia del disco" in Windows.

Un altro pensiero ... non testato ... sarebbe quello di utilizzare il reindirizzamento delle cartelle per reindirizzare la loro cartella cestino su un server centrale. Lo classificherei come una monumentalmente cattiva idea (tm), tuttavia. Quindi elimineresti i loro file da quella directory condivisa. Collegare questo tramite la rete, la configurazione della sicurezza, ecc. Renderebbe questo un livello di priorità kludge che farebbe scappare altri amministratori di sistema prima di bruciare spontaneamente, comunque.


La pulizia del disco viene eseguita come un utente elevato non colpisce il cestino di tutti?
MDMarra,

Spero un po 'anche se lo fa riordinare un PITA. In un ambiente condiviso come un server terminal che ha il potenziale per cattiveria.
Rob Moir,

Interessante. Sembra che debba provarlo.
MDMarra,

L'ho eliminato quando la risposta di @ MarkM sembrava il più canonicamente ragionevole, ma sembra che non funzioni per tutti gli utenti dopo che KyleBrandt lo ha testato. Sto pensando che non esiste un modo documentato per farlo correttamente a causa della sicurezza, molto probabilmente ... la possibilità di eliminare le cose di altri utenti dal momento che il cestino fa parte del loro profilo (roaming) potrebbe essere un rischio per la sicurezza.
Bart Silverstrim,

Ho cancellato la mia risposta, cioè.
Bart Silverstrim,

6

Ho eseguito TreeSize Free e ho visto che avevo 15 grammi nel Cestino, ma non riuscivo a vederlo, probabilmente perché era stato fatto da un utente scomparso da tempo. Ma in TreeSize Pro ho potuto eliminarlo, che ha messo i dati nel Cestino che ho potuto vedere.


8
WinDirStat avrebbe potuto farlo gratuitamente. È il mio strumento, quando devo capire cosa sta usando tutto lo spazio su un disco rigido. È possibile fare clic con il pulsante destro del mouse su un file o una cartella ed eliminarlo nel cestino o in modo permanente, è inoltre possibile fare clic con il pulsante destro del mouse e aprire una finestra Explorer lì o un prompt dei comandi. Inoltre non ha scrupoli nel mostrarti tutti i Cestini degli utenti, anche se devi cercare i SID e abbinarli a ciascun utente.
JamesH,

3

Questo funziona per me: -

Get-ChildItem "C:\`$Recycle.bin\" | Remove-Item -Recurse -Force

Rimuoverà il recycle.bin; Windows ricreerà il cestino come richiesto, ovvero non appena un utente elimina un nuovo file.

Potrebbe non essere il codice più elegante e potrebbe esserci un modo migliore per farlo, ma aiuterà a liberare spazio su un server congestionato. Puoi testarlo usando l'opzione -WhatIf sul comando Rimuovi-elemento.

Get-ChildItem "C:\`$Recycle.bin\" | Remove-Item -Recurse -Force -WhatIf

NB: ogni unità mantiene il proprio cestino; quindi desideri sostituire la lettera di unità con qualsiasi unità per cui stai eseguendo questo comando, oppure puoi utilizzare quanto segue per tutte le unità locali:

Get-PSProvider -PSProvider FileSystem `
| Select-Object -ExpandProperty Drives `
| Where-Object { $_.DisplayRoot -notlike "\\*" } `
| Select-Object -ExpandProperty Root `
| ForEach-Object { "$_`$Recycle.bin\" } `
| Where-Object { Test-Path -Path $_ -PathType Container } `
| ForEach-Object { Get-ChildItem -Path $_ -Force | Remove-Item -Recurse -Force }

Spero che sia di aiuto


1

Avevo un cestino che mostrava oltre 4 GB di dati ma non ero in grado di cancellarlo. È entrato e ha trovato un sacco di profili che non erano più utilizzati sul server e li ha rimossi sotto le proprietà di sistema - Avanzate - Profili utente e ora il cestino è vuoto.

Ovviamente non eliminare alcun account ancora in uso o in uso ma come amministratore puoi farlo in questo modo.


0

Mi è piaciuta questa soluzione perché è facile capire cosa sta facendo e fa il lavoro, ma per lavorare da qualsiasi posizione da cui si esegue il comando, è necessario eseguirlo cambiarlo in questo modo (aggiungendo un \ dopo la "drive_letter: ") e per poter eliminare quelle cartelle da altri utenti .. devi aggiungere" -force "alla fine del comando remove-item. Inoltre, quando si eliminano tutte le cartelle in C: \ $ Recycle.bin \ non è necessario includere "-recurse" quando si ottengono gli elementi figlio. Quindi questo sarà il comando finale che vorrei usare invece:

Get-ChildItem "C:` $ Recycle.bin \ "-Force | Remove-Item -Recurse -force -WhatIf

rimuovere -WhatIf se si desidera fare qualcosa di più che testare solo il comando


0

Utilizzare la procedura seguente per rimuovere tutti i file.

  1. accedi come utente amministratore ed esplora c drive
  2. deselezionato nasconde il file del sistema operativo protetto dalle opzioni della cartella
  3. sfogliare la cartella $ Recycle.Bin
  4. elimina tutti i file e le cartelle
  5. svuota il cestino

Tutti i file verranno eliminati dal disco.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.