Deaktivieren Sie den Papierkorb für alle Benutzer in Windows Server 2008 R2

Antworten:

34

Soweit ich das beurteilen kann, handelt es sich hierbei nicht um eine "offizielle" von Microsoft unterstützte Methode. Es gibt zwei Möglichkeiten. Eine davon besteht darin, c: \ $ Recycle.Bin zu löschen, und die andere darin, cleanmgr.exe für jede Benutzeranmeldung als Skript auszuführen.

Die "offizielle" Unterstützung für das Löschen von c: \ $ Recycle.bin kommt dieser MS-KB am nächsten , die auf XP und Vista verweist, jedoch das erwartete Verhalten impliziert.


Sofortige Löschung

Wenn dies sofort geschehen soll, können Sie anscheinend einfach ausführen, rd /s c:\$Recycle.Binund Windows sollte die erforderlichen Ordner beim nächsten Mal neu erstellen, wenn sie benötigt werden. Ich habe das gerade schnell getestet und es scheint zu funktionieren, aber natürlich mit Vorsicht vorgehen.


Wiederkehrendes Löschen von Anmeldeskripten

Sie können dies mit dem Tool zur Datenträgerbereinigung (cleanmgr.exe) tun. Leider hat Microsoft beschlossen, dies mit den "Desktop Experience" -Features zu bündeln, was bedeutet, dass Sie eine Reihe anderer Fehler installieren und neu starten müssen.

Die Alternative besteht darin, die folgenden zwei Dateien zu erfassen und sie per Technet an die angegebenen Speicherorte zu verschieben :

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 sollte sich in% systemroot% \ System32 befinden.

Cleanmgr.exe.mui sollte sich in% systemroot% \ System32 \ en-US befinden.

Wenn Sie cleanmgr alleine ausführen, können Sie nicht den Papierkorb aller löschen. Sie können jedoch / sageset und / sagerun verwenden, um ein Anmeldeskript zu erstellen, das für alle Benutzer über ein Gruppenrichtlinienobjekt ausgeführt wird und den Papierkorb bei der nächsten Anmeldung löscht, wie hier beschrieben . Es ist nicht das Sauberste, aber es wird funktionieren. Der verknüpfte Artikel bezieht sich auf XP, die Syntax ist jedoch ab Server 2008 R2 unverändert.

MDMarra
quelle
Habe ein wenig recherchiert, da war dieser Link, der ein wenig ausführlicher ist. social.technet.microsoft.com/Forums/en-US/winserverManagement/…
Bart Silverstrim
Getestet, dies ist nicht für alle Benutzer klar. Ich möchte nicht unbedingt Kontakt mit unserem Auftragnehmer aufnehmen und ihn nur zum Löschen einiger Dateien anmelden lassen ...
Kyle Brandt
Ja, ich kann dieses Verhalten auch bestätigen. Es scheint, dass jedes Skript cleanmgr, das bei jedem Login ausgeführt wird, einer offiziellen MS-Methode am nächsten kommt. Die Alternative besteht darin, den Papierkorbordner in jedem Profil zu entfernen. Es sollte beim nächsten Login für jeden Benutzer neu erstellt werden, aber ich wäre ein wenig müde, dies in der Produktion zu versuchen.
MDMarra
Weitere Informationen zur Automatisierung von CleanMgr finden Sie hier ... stackoverflow.com/a/35214197/80161
Nathan Hartley
9

Ich glaube nicht, dass es eine angemessene Art der Dokumentation gibt, da die Papierkörbe für Benutzer in ihren Profilen getrennt gehalten werden. Dies wäre auch ein Sicherheitsrisiko, da Dokumente oder Elemente im Papierkorb, wenn sie von Benutzern gelesen werden, das Auslaufen bestimmter Dokumente ermöglichen könnten.

Es ist möglicherweise möglich, ein Skript mit Administratorrechten zu erstellen, um Dateien aus dem Papierkorb jedes lokalen Profils auszuführen und zu löschen (dies wird jedoch möglicherweise weiterhin mit dem Server synchronisiert, auf dem sich Ihre Profile befinden, wenn Sie über servergespeicherte Profile verfügen). Sie müssen jedoch die Berechtigungen und das Eigentumsrecht ordnungsgemäß festlegen. Ich weiß, dass der Administrator auf unseren Servern keinen ordnungsgemäßen Zugriff auf die Profile auf dem Speicherserver hat. Der Administrator muss den Besitz des Profils übernehmen, und wenn wir fertig sind, geben Sie den Besitz an den richtigen Benutzer zurück. Andernfalls funktionieren die Profile für ihn nicht mehr ordnungsgemäß.

Sie können versuchen, einen Prozess beim Abmelden auszuführen, der das Papierkorbverzeichnis pro Benutzer löscht, aber auch das versehentliche Löschen von Daten beinhaltet, die später wiederhergestellt werden sollen. Diese werden nun gelöscht, da sie beim letzten Abmelden gelöscht wurden.

Wahrscheinlich besteht die "richtige" Möglichkeit darin, Kontingente auf Workstations und Servern zu konfigurieren. Wenn dieses Kontingent für die Speicherung erreicht wird, muss der Benutzer feststellen, dass Elemente aus dem Papierkorb gelöscht werden müssen. Aus Sicherheitsgründen wäre es ein Trainingsproblem. Andernfalls benötigen Sie eine Problemumgehung.

@markm hatte einen Hilfsprogrammvorschlag, der dies zu tun scheint. Ich stehe zu der Behauptung, dass dies kein "richtiger" Weg ist, da es sich um ein Add-On handelt und nicht standardmäßig in Windows integriert ist (obwohl ich nicht überrascht bin, dass das hilfreiche Verwaltungsdienstprogramm nicht enthalten ist.). Bei der Verwendung ist zu befürchten, dass das Programm möglicherweise auf einer Arbeitsstation und auf dem Server ausgeführt werden muss, oder dass Probleme bei der Profilsynchronisierung auftreten, wenn angezeigt wird, wo. Es sieht so aus, als wäre es nur ein Minitool für den Zugriff auf die Registerkarte "Datenträgerbereinigung" in Windows.

Ein anderer Gedanke ... ungetestet ... wäre, die Ordnerumleitung zu verwenden, um ihren Papierkorbordner auf einen zentralen Server umzuleiten. Ich würde dies jedoch als monumental schlechte Idee einstufen. Dann würden Sie ihre Dateien aus diesem freigegebenen Verzeichnis löschen. Wenn Sie dies über das Netzwerk, die Sicherheitseinstellungen usw. verknüpfen, wird dies zu einem vorrangigen Problem, das andere Sysadmins davonlaufen lässt, bevor sie sich spontan entzünden.

Bart Silverstrim
quelle
Die Datenträgerbereinigung wird ausgeführt, wenn ein Benutzer mit erhöhten Rechten nicht den Papierkorb aller Benutzer erreicht.
MDMarra
Ich hoffe nicht einmal, dass es dazu führt, dass eine PITA aufgeräumt wird. In einer gemeinsam genutzten Umgebung, z. B. einem Terminalserver, der möglicherweise unangenehm ist.
Rob Moir
Hm, interessant. Sieht so aus, als müsste ich das testen.
MDMarra
Ich habe es gelöscht, als die Antwort von @ MarkM die kanonisch vernünftigste klang, aber es klingt so, als ob es nicht für alle Benutzer funktioniert, nachdem KyleBrandt es getestet hat. Ich denke, dass es aus Sicherheitsgründen keine dokumentierte Möglichkeit gibt, dies ordnungsgemäß zu tun. Wahrscheinlich ist die Möglichkeit, die Inhalte anderer Benutzer zu löschen, da der Papierkorb Teil ihres (Roaming-) Profils ist, ein Sicherheitsrisiko.
Bart Silverstrim
Gelöschte meine Antwort, das ist.
Bart Silverstrim
6

Ich führte TreeSize Free aus und stellte fest, dass ich 15 GB im Papierkorb hatte, aber ich konnte es nicht sehen, wahrscheinlich, weil es von einem längst verstorbenen Benutzer durchgeführt wurde. Aber in TreeSize Pro konnte ich es löschen, wodurch die Daten in den Papierkorb verschoben wurden, die ich sehen konnte.

Strahl
quelle
7
WinDirStat hätte das kostenlos tun können. Es ist mein Werkzeug, wenn ich herausfinden muss, wie viel Speicherplatz auf einer Festplatte belegt ist. Sie können mit der rechten Maustaste auf eine Datei oder einen Ordner klicken und ihn im Papierkorb löschen oder dauerhaft darauf klicken und dort ein Explorer-Fenster oder eine Eingabeaufforderung öffnen. Es hat auch keine Bedenken, Ihnen alle Benutzer Papierkörbe zu zeigen, obwohl Sie die SIDs nachschlagen und sie jedem Benutzer selbst zuordnen müssen.
JamesH
3

Das funktioniert bei mir: -

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

Dadurch wird der Papierkorb entfernt. Windows erstellt den Papierkorb nach Bedarf neu, dh sobald ein Benutzer eine neue Datei löscht.

Möglicherweise ist dies nicht der eleganteste Code, und möglicherweise gibt es einen besseren Weg, dies zu tun, aber er hilft dabei, Speicherplatz auf einem überlasteten Server freizugeben. Sie können es mit der Option -WhatIf im Befehl Remove-Item testen.

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

Hinweis: Jedes Laufwerk verfügt über einen eigenen Papierkorb. Sie möchten also den Laufwerksbuchstaben durch das Laufwerk ersetzen, für das Sie diesen Befehl ausführen, oder Sie können Folgendes für alle lokalen Laufwerke verwenden:

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 }

Hoffe das hilft

K Clethero
quelle
1

Ich hatte einen Papierkorb mit mehr als 4 GB Daten, konnte diese jedoch nicht löschen. Ging ein und fand eine Reihe von Profilen, die nicht mehr auf dem Server verwendet wurden, und entfernte sie unter Systemeigenschaften - Erweitert - Benutzerprofile und jetzt ist der Papierkorb leer.

Löschen Sie natürlich keine Konten, die noch aktuell sind oder verwendet werden. Als Administrator können Sie dies jedoch auf diese Weise tun.

Andrew
quelle
0

Ich mochte diese Lösung, weil sie leicht zu verstehen ist, was sie tut und was sie erledigt, aber um von jedem Ort aus zu arbeiten, von dem aus Sie den Befehl ausführen, müssen Sie sie folgendermaßen ändern (Hinzufügen eines \ nach dem "drive_letter: ") und um diesen Ordner von anderen Benutzern löschen zu können .. müssen Sie die" -force "am Ende des Befehls remove-item hinzufügen. Da Sie außerdem alle Ordner in C: \ $ Recycle.bin \ löschen, müssen Sie beim Abrufen der untergeordneten Elemente nicht "-recurse" angeben. Dies ist also der letzte Befehl, den ich stattdessen verwenden würde:

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

Entfernen von -WhatIf, wenn Sie mehr als nur den Befehl testen möchten

Mike
quelle
0

Verwenden Sie den folgenden Prozess, um alle Dateien zu entfernen.

  1. Melden Sie sich als Administrator an und erkunden Sie c drive
  2. Deaktiviert Geschützte Betriebssystemdatei in den Ordneroptionen ausblenden
  3. Durchsuchen Sie den Ordner " $ Recycle.Bin "
  4. Löschen Sie alle Dateien und Ordner
  5. Leeren Sie den Papierkorb

Alle Dateien werden von der Festplatte gelöscht.

Rajnish Pati
quelle