Cách thích hợp để xóa thùng rác cho tất cả người dùng trong Windows Server 2008 R2 là gì?
Cách thích hợp để xóa thùng rác cho tất cả người dùng trong Windows Server 2008 R2 là gì?
Câu trả lời:
Theo như tôi có thể nói, đây không phải là cách "chính thức" được Microsoft hỗ trợ để thực hiện việc này. Có hai lựa chọn. Một liên quan đến việc xóa c: \ $ Recycl.Bin và cái còn lại là script script Cleanmgr.exe để chạy ở mỗi lần đăng nhập của người dùng.
Điều gần nhất với hỗ trợ "chính thức" để xóa c: \ $ Recycl.bin là từ MS KB này , tham chiếu XP và Vista, nhưng ngụ ý hành vi dự kiến.
Nếu bạn muốn điều này xảy ra ngay lập tức, có vẻ như bạn chỉ có thể chạy rd /s c:\$Recycle.Bin
và Windows sẽ tạo lại các thư mục cần thiết vào lần tiếp theo khi cần. Tôi chỉ thử nghiệm điều này một cách nhanh chóng và nó có vẻ hoạt động, nhưng - rõ ràng - tiến hành thận trọng.
Bạn có thể làm điều này với công cụ Disk Cleanup (cleanmgr.exe). Thật không may, Microsoft đã quyết định kết hợp tính năng này với bộ tính năng "Trải nghiệm máy tính để bàn", nghĩa là bạn sẽ phải cài đặt một loạt các crap khác và khởi động lại.
Cách khác là lấy hai tệp sau và di chuyển chúng đến các vị trí đã chỉ định trên mỗi 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 nên có trong% systemroot% \ System32.
Cleanmgr.exe.mui nên vào% systemroot% \ System32 \ en-US.
Chạy Cleanmgr một mình sẽ không cho phép bạn xóa thùng rác của mọi người, nhưng bạn có thể sử dụng / sageset và / sagerun để tạo tập lệnh đăng nhập chạy cho tất cả người dùng thông qua GPO sẽ xóa thùng rác của họ trong lần đăng nhập tiếp theo, như được mô tả ở đây . Nó không phải là thứ sạch nhất, nhưng nó sẽ hoạt động. Bài viết được liên kết là dành cho XP, nhưng cú pháp không thay đổi kể từ Server 2008 R2.
cleanmgr
để chạy trong mỗi lần đăng nhập là điều gần nhất với cách làm MS chính thức. Cách khác là thổi bay thư mục thùng rác trên mỗi hồ sơ. Nó sẽ tạo lại nó trong lần đăng nhập tiếp theo cho mỗi người dùng, nhưng tôi sẽ hơi mệt mỏi khi thử điều này trong sản xuất.
Tôi không nghĩ có một cách thích hợp được ghi lại là thùng rác cho người dùng được giữ riêng trong hồ sơ của họ; đây cũng sẽ là một mối nguy hiểm về bảo mật vì các tài liệu hoặc vật phẩm trong thùng rác, nếu người dùng lạm dụng, có thể cho phép một số tài liệu bị rò rỉ.
Có thể kịch bản một tập lệnh đặc quyền của quản trị viên để chạy và xóa các tệp khỏi thùng rác của từng hồ sơ cục bộ (nhưng vẫn có thể được đồng bộ hóa với máy chủ giữ hồ sơ của bạn nếu bạn có hồ sơ chuyển vùng). Nhưng bạn cần phải có quyền và quyền sở hữu được thiết lập đúng; Tôi biết trên máy chủ của chúng tôi Quản trị viên không có quyền truy cập thích hợp vào hồ sơ trên máy chủ lưu trữ; quản trị viên phải có quyền sở hữu hồ sơ và khi chúng tôi hoàn tất quyền sở hữu cho người dùng phù hợp hoặc các cấu hình khác không còn hoạt động đúng với họ nữa.
Bạn có thể thử chạy một quy trình khi đăng xuất để xóa thư mục rác cho mỗi người dùng, nhưng điều đó cũng kéo theo việc vô tình xóa thứ gì đó mà họ muốn khôi phục sau đó và sẽ biến mất vì nó đã bị xóa ở lần đăng xuất cuối cùng.
Có lẽ cách "phù hợp" để thực hiện là định cấu hình hạn ngạch trên máy trạm và máy chủ và khi hạn ngạch đó được lưu để lưu trữ, người dùng biết rằng họ phải xóa các mục khỏi thùng rác. Bởi vì an ninh nó sẽ là một vấn đề đào tạo. Nếu không, bạn cần một cách giải quyết.
@markm đã có một đề xuất tiện ích xuất hiện để làm điều này; Tôi khẳng định rằng đó không phải là một cách "phù hợp" vì nó là một tiện ích bổ sung và không được tích hợp vào Windows theo mặc định (mặc dù tôi không ngạc nhiên rằng tiện ích quản trị hữu ích không được bao gồm.) Điều lo lắng về việc sử dụng nó là nó có thể phải được chạy trên máy trạm và trên máy chủ hoặc bạn có thể gặp sự cố đồng bộ hóa hồ sơ với những gì xuất hiện ở đâu. Có vẻ như nó chỉ là một công cụ nhỏ để truy cập tab "dọn đĩa" trong Windows.
Một suy nghĩ khác ... chưa được kiểm tra ... sẽ là sử dụng chuyển hướng thư mục để chuyển hướng thư mục rác của họ đến một máy chủ trung tâm. Tuy nhiên, tôi sẽ phân loại nó như là một ý tưởng tồi tệ (tm). Sau đó, bạn sẽ xóa các tập tin của họ từ thư mục chia sẻ đó. Liên kết điều này qua mạng, thiết lập bảo mật, v.v.
Tôi đã chạy TreeSize Free và thấy tôi có 15gigs trong Thùng rác, nhưng tôi không thể nhìn thấy nó, có lẽ vì nó được thực hiện bởi một người dùng đã rời đi từ lâu. Nhưng trong TreeSize Pro tôi có thể xóa nó, đưa dữ liệu vào Thùng rác mà tôi có thể thấy.
Điều này làm việc cho tôi: -
Get-ChildItem "C:\`$Recycle.bin\" | Remove-Item -Recurse -Force
Nó sẽ loại bỏ recycl.bin; Windows sẽ tạo lại thùng rác theo yêu cầu, tức là ngay khi người dùng xóa một tệp mới.
Có thể không có mã thanh lịch nhất và có thể có một cách tốt hơn để làm điều đó nhưng nó sẽ giúp giải phóng không gian trên một máy chủ bị tắc nghẽn. Bạn có thể kiểm tra nó bằng cách sử dụng công tắc -What If trên lệnh Remove-Item.
Get-ChildItem "C:\`$Recycle.bin\" | Remove-Item -Recurse -Force -WhatIf
NB: Mỗi ổ đĩa duy trì thùng rác riêng của mình; vì vậy bạn muốn thay thế ký tự ổ đĩa bằng bất kỳ ổ đĩa nào bạn đang chạy lệnh này hoặc bạn có thể sử dụng cách sau cho tất cả các ổ đĩa cục bộ:
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 }
Hi vọng điêu nay co ich
Tôi đã có một thùng rác hiển thị trên 4GB dữ liệu nhưng tôi không thể xóa nó. Đi vào và tìm thấy một loạt các hồ sơ không còn được sử dụng trên máy chủ và xóa chúng theo thuộc tính hệ thống - Nâng cao - Hồ sơ người dùng và bây giờ thùng rác đã trống.
Rõ ràng không xóa bất kỳ tài khoản nào vẫn còn hiện hành hoặc đang sử dụng nhưng với tư cách là quản trị viên, bạn có thể thực hiện theo cách này.
Tôi thích giải pháp này vì dễ hiểu những gì nó đang làm và nó thực hiện công việc, nhưng để làm việc từ bất kỳ vị trí nào bạn chạy lệnh từ đó, bạn cần chạy thay đổi nó như thế này (thêm một \ sau "drive_letter: ") và để có thể xóa thư mục đó khỏi những người dùng khác .. bạn cần thêm" -force "vào cuối lệnh remove-item. Ngoài ra, khi bạn đang xóa tất cả các thư mục trong C: \ $ Recycl.bin \, bạn không cần bao gồm "-recurse" khi nhận các mục con. Vì vậy, đây sẽ là lệnh cuối cùng tôi sẽ sử dụng thay thế:
Get-ChildItem "C:` $ Recycl.bin \ "-Force | Xóa-Mục -Recurse-Force -What If
loại bỏ -What If nếu bạn muốn làm nhiều hơn là chỉ kiểm tra lệnh
Sử dụng quy trình dưới đây để loại bỏ tất cả các tập tin.
Tất cả các tập tin sẽ bị xóa khỏi đĩa.