Windows Server 2008 R2에서 모든 사용자의 휴지통 비우기


답변:


34

내가 알 수있는 한, 이것들은 "공식적인"Microsoft 지원 방법이 아닙니다. 두 가지 옵션이 있습니다. 하나는 c : \ $ Recycle.Bin을 삭제하고 다른 하나는 cleanmgr.exe를 스크립팅하여 각 사용자 로그온시 실행되도록합니다.

c : \ $ Recycle.bin 삭제에 대한 "공식적인"지원에 가장 가까운 것은 XP 및 Vista를 참조하는 이 MS KB 에서 발생하지만 예상되는 동작을 의미합니다.


즉시 삭제

이 작업을 즉시 수행하려면 바로 실행할 수 rd /s c:\$Recycle.Bin있고 다음에 필요할 때 Windows에서 필요한 폴더를 다시 만들어야합니다. 방금 이것을 빨리 테스트했는데 작동하는 것처럼 보이지만 조심스럽게 진행하십시오.


로그온 가능한 스크립팅 삭제

디스크 정리 도구 (cleanmgr.exe)를 사용하여이 작업을 수행 할 수 있습니다. 불행히도 Microsoft는이 기능을 "데스크탑 경험"기능 세트와 함께 제공하기로 결정했습니다. 즉, 여러 가지 다른 문제를 설치하고 다시 부팅해야합니다.

대안은 다음 두 파일을 잡고 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는 % systemroot % \ System32에 있어야합니다.

Cleanmgr.exe.mui는 % systemroot % \ System32 \ en-US에 있어야합니다.

cleanmgr 만 실행하면 모든 사람의 휴지통을 지울 수는 없지만 / sageset 및 / sagerun을 사용하여 여기에 설명 된대로 다음 로그온시 휴지통을 지울 GPO를 통해 모든 사용자에 대해 실행되는 로그온 스크립트를 만들 수 있습니다 . 가장 깨끗한 것은 아니지만 작동합니다. 링크 된 기사는 XP 용이지만 Server 2008 R2에서 구문은 변경되지 않았습니다.


그것에 대해 약간의 연구를 해본 결과, 조금 더 정교해진이 링크가있었습니다. social.technet.microsoft.com/ 포럼
— 바트 실버 스트림

테스트 한 결과 모든 사용자에게 적용되는 것은 아닙니다. 실제로 계약자에게 연락하여 파일을 삭제하기 위해 로그인하도록하고 싶지는 않습니다.
— Kyle Brandt

예,이 동작도 확인할 수 있습니다. cleanmgr각 로그인에서 실행되는 스크립팅 은 공식적인 MS 방식과 가장 비슷합니다. 대안은 각 프로파일에서 휴지통 폴더를 제거하는 것입니다. 그것은 해야한다 각 사용자에 대해 다음 로그인을 다시,하지만 난이 생산 시도 조금 지친 것.
— MDMarra

자세한 내용은 여기에서 cleanmgr을 자동화 ...에 stackoverflow.com/a/35214197/80161
— 나단 하틀리

9

사용자의 휴지통이 프로필에서 분리되어 있기 때문에 문서화 된 적절한 방법이 없다고 생각합니다. 휴지통에있는 문서 나 항목을 사용자가 사용하는 경우 특정 문서가 유출 될 수 있으므로 보안 상 위험 할 수 있습니다.

관리자 권한 스크립트를 스크립트하여 각 로컬 프로파일의 휴지통에서 파일을 실행하고 지우는 것이 가능할 수 있습니다 (그러나 로밍 프로파일이있는 경우 프로파일을 보유한 서버와 동기화 될 수 있음). 그러나 권한과 소유권을 올바르게 설정해야합니다. 서버에서 관리자는 스토리지 서버의 프로파일에 올바르게 액세스 할 수 없습니다. 관리자는 프로필의 소유권을 가져야하며, 완료되면 올바른 사용자에게 소유권을 반환하거나 프로필이 더 이상 제대로 작동하지 않습니다.

로그 오프시 사용자별로 휴지통 디렉토리를 지우는 프로세스를 실행할 수 있지만 나중에 복구하려는 항목을 실수로 삭제해야하며 마지막 로그 오프시 삭제 된 이후에 사라질 것입니다.

아마도 "적절한"방법은 워크 스테이션과 서버에서 할당량을 구성하는 것이며 해당 할당량에 도달하면 휴지통에서 항목을 삭제해야한다는 것을 알게됩니다. 보안 상 훈련 문제가 될 것입니다. 그렇지 않으면 해결 방법이 필요합니다.

@markm은이 작업을 수행하는 것으로 보이는 유틸리티 제안이있었습니다. 추가 기능이므로 기본적으로 Windows에 내장되어 있지 않기 때문에 "적절한"방법이 아니라고 주장합니다 (유용한 관리 유틸리티가 포함되어 있지 않은 것은 놀랍지 않습니다). d 워크 스테이션과 서버에서 실행해야하거나 위치에 나타나는 프로필 동기화 문제가있을 수 있습니다. Windows의 "디스크 정리"탭에 액세스하기위한 단순한 도구 인 것 같습니다.

또 다른 생각은 ... 추천되지 않은 ... 폴더 리디렉션을 사용하여 휴지통 폴더를 중앙 서버로 리디렉션하는 것입니다. 그러나 나는 이것을 기념비적으로 나쁜 생각 (tm)으로 분류 할 것이다. 그런 다음 해당 공유 디렉토리에서 파일을 삭제합니다. 그러나 네트워크, 보안 설정 등을 통해이 링크를 연결하면 다른 시스템 관리자가 자발적으로 폭발하기 전에 도망치게하는 1 순위 우선 순위가됩니다.


관리자 권한으로 디스크 정리를 실행해도 모든 사람의 휴지통에 닿지 않습니까?
— MDMarra

나는 그것이 PITA를 정리하는 것조차하지 않기를 바랍니다. Nastiness가 가능한 터미널 서버와 같은 공유 환경에서.
— Rob Moir

흠. 이것을 테스트 해야하는 것 같습니다.
— MDMarra

@MarkM의 대답이 가장 표준 적으로 합리적이라고 생각했을 때 삭제했지만 KyleBrandt가 테스트 한 후에 모든 사용자에게 작동하지 않는 것 같습니다. 보안 때문에 문서를 올바르게 작성하는 방법이 없다고 생각합니다. 휴지통은 로밍 프로필의 일부이므로 다른 사용자의 물건을 삭제하는 기능은 보안 위험이 될 수 있습니다.
— 바트 실버 스트림

내 대답을 삭제했습니다.
— 바트 실버 스트림

6

TreeSize Free를 실행하고 휴지통에 15gigs가있는 것을 보았지만 오랫동안 이탈 한 사용자가 수행했기 때문에 볼 수 없었습니다. 그러나 TreeSize Pro에서 데이터를 삭제하면 볼 수있는 휴지통에 데이터가 저장됩니다.


7
WinDirStat는 무료로 할 수있었습니다. 하드 드라이브의 모든 공간을 사용하는 것이 무엇인지 알아야 할 때 도구를 사용합니다. 파일 또는 폴더를 마우스 오른쪽 버튼으로 클릭하고 휴지통으로 삭제하거나 영구적으로 마우스 오른쪽 버튼을 클릭하고 탐색기 창 또는 명령 프롬프트를 열 수도 있습니다. 또한 SID를 찾아 각 사용자와 일치시켜야하지만 모든 사용자 휴지통을 표시하는 데 대한 자격은 없습니다.
— JamesH

3

이것은 나를 위해 작동합니다 :-

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

recycle.bin을 제거합니다. Windows는 필요에 따라, 즉 사용자가 새 파일을 삭제하자마자 휴지통을 다시 만듭니다.

가장 우아한 코드는 아니며 더 좋은 방법이있을 수도 있지만 혼잡 한 서버의 공간을 확보하는 데 도움이됩니다. Remove-Item 명령에서 -WhatIf 스위치를 사용하여 테스트 할 수 있습니다.

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

주의 : 각 드라이브는 자체 휴지통을 유지합니다. 따라서 드라이브 문자를이 명령을 실행중인 드라이브로 바꾸거나 모든 로컬 드라이브에 다음을 사용할 수 있습니다.

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 }

도움이 되었기를 바랍니다


1

4GB가 넘는 데이터를 보여주는 휴지통이 있었지만 지울 수 없었습니다. 들어 와서 서버에서 더 이상 사용되지 않는 많은 프로파일을 발견하고 시스템 특성-고급-사용자 프로파일에서 프로파일을 제거했으며 이제 휴지통이 비어 있습니다.

현재 또는 사용중인 계정은 삭제하지 말고 관리자는이 방법으로 계정을 삭제할 수 있습니다.


0

이 솔루션이 무엇을하고 있는지 이해하기 쉽고 작업을 수행하기 때문에이 솔루션이 마음에 들었지만 명령을 실행하는 모든 위치에서 작업하려면 "drive_letter 뒤에 \를 추가하여 다음과 같이 변경해야합니다. ") 및 다른 사용자로부터 해당 폴더를 삭제할 수 있습니다. remove-item 명령 끝에"-force "를 추가해야합니다. 또한 C : \ $ Recycle.bin \ 내의 모든 폴더를 삭제하면 하위 항목을 가져올 때 "-recurse"를 포함 할 필요가 없습니다. 그래서 이것은 내가 대신 사용할 최종 명령입니다.

Get-ChildItem "C :`$ Recycle.bin \"-Force | 항목 제거-재귀-강제-WhatIf

명령을 테스트하는 것 이상을 수행하려는 경우 -WhatIf 제거


0

아래 프로세스를 사용하여 모든 파일을 제거하십시오.

  1. 관리자로 로그인 및 c 드라이브 탐색
  2. 폴더 옵션에서 보호 된 운영 체제 파일 숨기기
  3. $ Recycle.Bin 폴더 찾아보기
  4. 모든 파일 및 폴더 삭제
  5. 휴지통 비우기

모든 파일이 디스크에서 삭제됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.