보안 점검을 받으면 꼭 나오는 항목이 "불필요한 공유폴더 제거"입니다. 직접 공유를 건 적이 없어도 Windows 는 C$, ADMIN$, IPC$ 같은 관리용 기본 공유를 알아서 만들어 둡니다. 이름 끝에 $ 가 붙어 탐색기 네트워크 목록에는 안 보이지만, 관리자 계정 정보만 있으면 원격에서 \\PC이름\C$ 로 드라이브 전체에 접근할 수 있는 통로입니다.
지금 열려 있는 공유부터 보기
Windows 키 → 실행 → cmd 를 열고 아래를 입력합니다.
net share
공유 이름, 실제 경로, 설명이 표로 나옵니다. 내가 만든 공유와 시스템 기본 공유가 같이 섞여 있으니, 여기서 지울 대상을 고르면 됩니다.
일단 지우기 (재부팅하면 돌아옴)
net share /delete <공유이름>
예를 들어 net share /delete C$ 처럼 씁니다. 관리자 권한으로 연 명령 프롬프트에서 실행해야 합니다.
문제는 기본 관리 공유가 재부팅하면 다시 생긴다는 점입니다. 서버(LanmanServer) 서비스가 시작될 때마다 기본 공유를 새로 만들기 때문이죠. 그래서 이 방법은 당장 막아 두는 임시방편이고, 계속 꺼 두려면 부팅이나 로그온 때마다 같은 명령이 돌게 하거나 레지스트리로 자동 생성을 끄는 방법 중 하나를 골라야 합니다.
로그온할 때마다 자동으로 지우기
먼저 메모장(시작 → notepad)에 지울 공유를 한 줄씩 적습니다.
net share /delete <공유이름>
저장할 때 파일 형식을 "모든 파일(.)"로 바꾸고 이름을 ○○.bat 로 줍니다. 형식을 안 바꾸면 .bat.txt 로 저장되어 실행이 안 되는데, 여기서 많이들 헤맵니다.
다음으로 시작 메뉴 검색에 gpedit.msc 를 입력해 로컬 그룹 정책 편집기를 엽니다. 로컬 컴퓨터 정책 → 사용자 구성 → Windows 설정 → 스크립트(로그온/로그오프)로 가서 "로그온"을 더블클릭합니다.
로그온 속성 창에서 "추가"를 눌러 방금 저장한 배치 파일 경로를 등록하면 끝입니다.
재부팅 후 다시 net share 를 쳐 보면 지정한 공유가 빠져 있습니다.
막히는 지점과 다른 방법
로그온 스크립트는 로그인한 사용자 권한으로 돌아갑니다. 관리 공유를 지우는 건 관리자 권한이 필요한 작업이라, 일반 사용자 계정으로 로그인하는 PC 에서는 스크립트가 돌아도 "액세스가 거부되었습니다"로 끝날 수 있습니다. 그런 환경이라면 같은 경로에서 "컴퓨터 구성 → Windows 설정 → 스크립트(시작/종료)"의 시작 스크립트로 등록하는 편이 확실합니다. 또 gpedit.msc 는 Windows Home 에디션에는 기본으로 들어 있지 않습니다.
스크립트 대신 기본 공유 자동 생성 자체를 끄는 방법도 있습니다. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 에 DWORD 값 AutoShareWks 를 만들어 0 으로 두면(서버 OS 는 AutoShareServer) 재부팅 후 C$, ADMIN$ 같은 관리 공유가 만들어지지 않습니다. 어느 쪽이든 원격 관리 도구나 백업 프로그램, 사내 자산관리 에이전트가 관리 공유를 쓰고 있을 수 있으니, 회사 PC 라면 전산 담당자와 먼저 확인하고 끄는 게 안전합니다.