[Windows 7] 로그인 시 계정숨기기

사용환경

  • 운영체제 : Microsoft Windows 7 Enterprise K SP1

01. 시작하기 전에…

요즘 거의 대부분의 운영체제가 다중사용자를 지원하고 있습니다. 최신 운영체제인 윈도우즈7도 마찬가지입니다.

그렇지만 대부분은 여러 사람이 사용하더라도 보통 하나의 계정으로 사용하긴 하죠. 저의 경우에는 저 혼자만 사용하는 개발용 PC이지만… 다른 목적을 위해서 사용자를 하나 추가했습니다.

사무실에서 공용으로 사용하는 네트워크 프린터에서 스캔할 경우 공유 디렉토리에 떨궈주는데 그 전용용도로 계정을 추가한 것입니다.

기존의 계정으로 연동을 해도 관계는 없지만… 주기적으로 비밀번호를 변경할 때마다 프린터에 설정을 바꿔줘야하는 것이 좀 번거로워서… 아예 전용계정을 추가하고 설정을 해두면 어떨까하고 작업을 해봤습니다.

경고) 본 포스트의 목적은 PC에서 직접 로그인하지 않는 계정(공유폴더 접근, 프린터 공유와 같은 네트워크로 접근하는 계정)을 PC로그인 화면에서 숨겨주도록 작성된 내용입니다. 댓글에 의도한 바와 다르게 메인계정(관리자권한을 가진 계정)을 숨김처리하여 복구하는 방법을 문의하는 경우가 많은데… 그런 의도로 아래 포스트의 내용을 적용하셨다가 윈도우를 재설치하셔야 하는 경우가 발생할 수 있습니다. 반드시 적용은 서브계정(PC에서 로그인하지 않는 계정)에만 적용하여 시스템에 문제가 발생되지 않도록 주의하셔야 합니다!

02. 사용자 계정추가

프린터와의 연동을 위한 계정을 추가하겠습니다. 아래와 같이 share라는 이름의 계정을 만들었습니다.

참고) Windows7에서 다중 계정이 있을 경우에… 로그인 시 처음 선택되는 계정은 알파벳 순서로 정렬했을 때 가장 빠른 계정이 기본적으로 선택됩니다.

예를 들어서 AAA라는 계정과 BBB라는 계정이 있다면, Windows 7이 구동되고 비밀번호를 입력하기 위해서 기본적으로 선택되는 계정은 AAA라는 계정입니다.

03. share 계정으로는 로그인을 안할껀데?

간단하게 계정을 추가하고… 비밀번호를 설정하고, 프린터와의 연동작업을 마치고나니 아주 만족스러웠습니다. 이런 경우에 메인 계정인 SIMPLISM의 비밀번호를 변경하더라도 프린터의 설정을 바꾸지 않아도 되니까요.

but… 제가 생각하지도 못했던 불편한 점이 생겼습니다.(재부팅을 하고서야 알게된…)

로그인이 가능한 계정이 두 개로 변경되다보니… 어떤 계정으로 로그인을 할 것인지 선택하고 비밀번호를 입력해야하더군요… 사실 계정자체는 로그인이 가능하지만 저의 경우에는 그런 용도로 사용할 계정이 아니라서… Windows 7 로그인 시에 숨기고 싶더군요…

그리고 구글링을 해보니 역시 해결법이 있었습니다.

04. 레지스트리 수정

맘에 들지는 않지만… 레지스트리를 수정하면 제가 원하는 바를 이룰 수가 있었습니다.

Windows키 + R을 눌러서 실행창을 열어줍니다.

이제 레지스트리를 수정할 수 있는 레지스트리 편집기가 실행이 되었습니다.

그리고 왼쪽의 트리에서 아래의 경로를 잘 찾아봅니다.

HKEY_LOCAL_MACHINESOFTWAREMICROSOFTWINDOW NTCurrentVersionWinlogon

차분하게 왼쪽의 트리를 따라가다보면 금세 찾을 수 있을 껍니다.

이제는 새로운 키를 추가할 차례입니다.

Winlogon이라는 키를 오른쪽 마우스로 클릭하면 새로운 컨텍스트 메뉴(Context Menu)가 나옵니다. 해당 메뉴에서 새로운 키를 추가합니다.

새롭게 추가할 키의 이름은 SpecialAccounts입니다. 그리고 아래처럼 SpecialAccounts 하위에 UserList라는 키도 만듭니다.

이제는 이렇게 추가한 키(Key) 하위에 값을 추가해볼려고 합니다.

UserList 키를 선택한 상태에서 오른쪽으로 넘어와서 오른쪽 마우스를 눌러서 컨텍스트 메뉴(Context Menu)를 호출해서 DWORD 값을 추가합니다. 값의 이름은 로그인 창에서 숨길 계정의 ID입니다.

저의 경우에는 숨기고 싶은 계정이 share 계정이므로 share라는 이름으로 추가했습니다.

이제는 로그인 창에서 share 계정이 숨겨져 있으므로 바로 비밀번호를 입력하여 로그인할 수 있게 되었습니다.

05. 아쉬운 점…

한 가지 아쉬운 점은… 로그인 창에서만 숨은 것이 아니라는 것입니다.

후덜덜… 사용자계정의 관리화면에서도 사라졌답니다. 만약에 share 계정을 다시 보이도록 하고 싶다면… 다시 레지스트리 편집기(regedit)을 열어서 DWORD 값을 1로 변경해주면 됩니다.

share 값을 더블클릭하면 값을 편집할 수 있는 창이 나옵니다. 해당 값의 데이터를 0 -> 1로 변경하면 다시 로그인화면이나 사용자계정 관리화면에 share 계정이 등장합니다.

06. 마치면서…

리눅스의 경우에도 불편한 것을 개선하거나 커스터마이징하기 위해서 수많은 파일들을 수동을 고치는 경우도 많지만… 아직도 이해가 되지 않는 것은 윈도우즈가 아직까지 이 불편한 레지스트리 시스템을 사용한다는 것입니다.

아마도 초기 설계때부터 윈도우즈 커널자체가 레지스트리에 굉장히 의존적이어서 신버전의 윈도우즈를 설계할 때도 레지스트리를 제거하지 못했거나 아니면 필요성을 느끼지 못했을 수도 있지요…

아.. 그러고보니 예전에는 Windows 애플리케이션을 개발할 때에 레지스트리에 설정값과 같은 것을 많이 저장했었는데요… 요즘엔 대부분 ini파일이나 xml과 같은 파일들로 설정파일을 보관하도록 개발하고 있습니다. 그렇지만 아직까지도 많은 윈도우즈 애플리케이션이 레지스트리에 설정을 보관하니 윈도우즈 개발할 때 호환성을 위해서라도 절대 레지스트리를 버릴 수가 없을 것 같네요..

뭐, 어찌되었든 제 불편은 해소가 되었고… 다른 분들도 동일한 작업을 원할 시에 참고가 되었으면 좋겠습니다.

07. 참고문서

  1. http://shiftkey.org/entry/Windows7-로그인-화면에서-사용자-계정-숨기기
  2. http://redsea23.tistory.com/182