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.