Windows 7에서 사용자 그룹 멤버쉽을 어떻게 업데이트합니까?


27

.NET Windows 인증을 사용하는 웹 응용 프로그램을 작성하고 있으며 사용자의 그룹 구성원 자격을 사용하여 웹 사이트의 다양한 영역에 권한을 부여합니다. 지금은 도메인의 일부가 아니며 AD를 사용하지 않는 개발자 컴퓨터에 있고 대신 로컬 사용자 그룹을 사용하고 있습니다. 일반적으로 이것은 정상적으로 작동합니다.

그러나 응용 프로그램을 테스트 할 때 사용자 계정에서 역할을 추가 및 제거하여 작동하는지 확인해야합니다. 역할을 추가하면 Windows에서 로그 아웃하고 다시 로그인 할 때까지 전파되지 않는 것 같습니다.

로그 오프하지 않고 그룹 멤버쉽을 강제로 업데이트 할 수 있습니까?


3
스테이션 또는 웹 사이트에서 로그 오프 했습니까?
Dan

좋은 지적, 나는 명확히하기 위해 내 질문을 업데이트했습니다. Windows 사용자 계정에서 로그 오프하고 (Windows에서 로그 아웃) 다시 로그인해야합니다.
kingdango

시스템 멤버쉽을 강제로 시스템 업데이트합니다. 명령 태스크 kill explorer를 다시 실행 한 후 정상적으로 탐색기를 실행하십시오. 그러면 새로운 탐색기 인스턴스에도 새로운 보안 토큰이 생깁니다.

답변:


25
taskkill.exe /F /IM explorer.exe
runas /user:%USERDOMAIN%\%USERNAME% explorer.exe

이것은 탐색기를 죽인 다음 사용자 계정으로 다시 열 것입니다 ... 암호를 묻는 메시지가 표시되고 새 토큰이 생겨 회원 자격이 업데이트됩니다.


1
이것은 작동하는 것처럼 보이지만 매핑 된 드라이브 연결이 끊어졌습니다.
SomeGuy

2
Windows 10 Pro에서 작동하지 않습니다
Dave Cousineau

woshub.com/… 도 참조하십시오 . 컴퓨터의 경우 klist -lh 0 -li 0x3e7 purge사용자에 대한, klist purge. NB : 나는 그 명령들을 직접 시도하지 않았습니다. 연결된 기사에서 정보를 반복합니다.
JohnLBevan

10

이는 시스템 차원에서 수행하기 어렵지만 개별 실행 파일을 사용하여 프로세스를 종료하고 사용자의 자격 증명으로 다시 시작하면 가능합니다.

로그온하면 무엇보다도 그룹 멤버십을 반영하는 토큰을받습니다. 이 토큰을 새로 고치는 유일한 방법은 로그인하는 것입니다.


이것이 범인이라면 내 테스트를 조금 방해 할 것입니다. 통찰력을 가져 주셔서 감사합니다 ... 다른 사용자가 더 나은 답변을 원하지만 15k 이상의 담당자가 당신이 무슨 말을하는지 알고 있다고 추측합니다.
kingdango

2
@kingdango 당신은 항상 당신 runas과 다른 사용자로 프로세스를 실행하고 해당 테스트 사용자의 그룹 멤버쉽을 조작하는 데 사용할 수 있습니다. 프로세스를 사용하여 프로세스를 닫았다가 다시 시작할 때마다 변경된 그룹 멤버쉽을 반영 runas하는 새 세션이 작성 되어야 합니다. 나는 이것을 테스트하지 않았지만 이론적으로는 이런 식으로 작동해야합니다.
MDMarra

내 개발 환경으로 인해 힘들지만 탐험 할 가치가 있습니다. 빠르고 신중한 답변 Mark에 감사드립니다.
kingdango

4

웹 사이트에 로그인 할 수 있도록 AD의 사용자 멤버쉽에 의존하는 웹 사이트와 비슷한 상황이있었습니다. 고려해야 할 한 가지는 웹 서버가 제공된 자격 증명으로 AD 서버에 대한 인증 / 쿼리를 수행하도록하는 것입니다. 웹 서버가 AD에 액세스 할 수 있고 사용자가 XYZ 그룹에 있는지 여부를 서버에 쿼리하면 새 로그온을 위해 로그온 / 로그 오프가 필요한 사용자의 로그인 토큰이 아니라 AD에서 직접 목록을 가져옵니다. 적절한 권한을 가진 토큰.

설명에서 현재 개발자 컴퓨터에 액세스 권한이 없지만 배포 할 때이 기능이 필요하다는 의미가있는 것처럼 들립니다.

토큰에 의존하는 경우 로그 오프했다가 다시 로그인해야합니다.


신중한 답변에 감사드립니다. 이것이 문제를 해결하는 좋은 방법입니다. 정상적인 상황에서는 사용자가 시스템에서 로그 오프했다가 다시 로그인해야한다고해도 업데이트 된 액세스 제어를받을 때까지 기다리는 것이 더 행복합니다. 이것이 부담이 될 수있는 테스트 시나리오 일뿐이지만 실제로 그렇게 큰 문제는 아닙니다. 솔직히 말해서 지름길을 연구하는 데 더 많은 시간이 걸렸습니다. :-)
kingdango

1
시나리오에 따라 유용 할 수도 있습니다. 서버가 DC에 직접 쿼리하는 경우 "마이그레이션"변경 사항이 거의 즉시 변경되므로 누군가 액세스를 차단하거나 추가 한 경우 클라이언트 로그온 / 로그 아웃주기가 필요하지 않습니다. IT 직원이 조금 더 쉽게 만들 수 있습니다.
바트 실버 스트림

3

명령 행을 통해이를 완전히 수행하는 스크립트 방식이 있습니다. klist 를 사용할 수 있습니다 .

klist purge

Purging tickets destroys all tickets that you have cached, so use this attribute with caution. It might stop you from being able to authenticate to resources. If this happens, you will have to log off and log on again.[Purge](https://technet.microsoft.com/en-us/library/hh134826.aspx?f=255&MSPPError=-2147217396)그래도 토큰을 rerab 합니까 ? 아니면 기존의 것들을 버리고 아무것도 남기지 않습니까? 토큰이 없으면 탐색기를 다시 시작하거나 어떤 프로세스에 토큰이 필요한지 자동으로 등록합니까?
Brad

새로운 자원을 요청할 때 토큰을 재생성합니다. AD 구성원에 그룹 구성원을 추가 할 때 원격 사용자 및 워크 스테이션에 대한 보안 그룹을 업데이트하려고 할 때 이것을 자주 사용했습니다.
Nixphoe

아 좋은 (그리고 폭발 그 의견에 서식을 엉망 .... 아이디어를 얻을)
브래드

-2
  • 작업 관리자 열기
  • Explorer.exe 죽이기 (각각)
  • 파일> 새 작업 (실행 ...)을 클릭하십시오.
  • CMD에 입력
  • 명령 프롬프트에서 "RunAs / user : \ explorer.exe를 입력하십시오.

끝난.


2
아뇨. 질문을 읽으십시오.
HopelessN00b

4
@ HopelessN00b 이것은 확실하게 기본적으로 허용되는 답변이되는 것처럼 보입니다.
Brad

1
@Brad 옳고 그른지와 관계가 없습니다. MDMarra의 권리 (Bart도 마찬가지), 이것 (및 허용되는 답변)은 잘못되었습니다. 이 프로세스는 시스템이 그룹 구성원을 갱신하도록 강제하지 않습니다.
HopelessN00b

1
@ HopelessN00b 당신이 옳습니다. 나중에 나중에 알게되었습니다. 재부팅은 멤버십을 새로 고치는 유일한 방법이었습니다. 슬프게도 두 대답 모두 잘못되었습니다.
Brad

1
로그 오프했다가 다시 트릭하면 재부팅 할 필요가 없습니다. 그룹 멤버십은 로그인시 적용됩니다.
Charlie Wilson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.