그룹 정책 : 특정 컴퓨터의 특정 사용자에 대한 관리자 권한


11

저는 소규모 회사의 Active Directory 설정을 관리하려고하는 프로그래머입니다. 도메인 컨트롤러가 Windows Small Business Server 2008을 실행하고 있습니다.

태블릿 PC를 사용하는 현장 직원이 있습니다. 태블릿 ThinkVantage bloatware의 구성 문제는 태블릿을 사용할 때 이러한 사용자에게 관리자 권한이 있어야합니다. 괜찮습니다. 전화로 문제를 해결할 때 광범위한 권한을 갖는 것이 유용하므로 해결 방법을 찾지 않습니다.

그룹 정책을 사용하여 다음 시나리오를 설정하고 싶습니다. 특정 보안 그룹 (또는 조직 구성 단위)의 사용자는 특정 보안 그룹 (또는 조직 구성 단위)의 컴퓨터에 로그인 할 때 BUILTIN / Administrators 그룹에 있어야합니다. 컴퓨터가 OU에 있어야하는 것은 괜찮지 만 그룹별로 사용자를 할당하고 싶습니다.

물론 현장 작업자는 다른 워크 스테이션의 관리자가 아니어야하며 바닐라 사무실 직원은 태블릿의 관리자가 아니어야합니다.

현재 각 태블릿에서 로컬로 관리되고 있지만 새로운 직원을 추가함에 따라 더 많은 번거 로움이 커지고 있습니다.

Restricted Groups가 답이라고 생각하지만 AD 개념과 방법에 대한 탄탄한 근거가 없으면 어려움을 겪고 있습니다.

이 작업에 적합한 기술은 무엇이며 어떻게 구현해야합니까?

답변:


13

사용자를 캡슐화 할 그룹을 작성하고 (Local-Admins-Tablets)이 그룹에 추가하십시오.

현재 워크 스테이션 OU의 하위 OU를 작성하고 여기에 태블릿을 넣습니다 (워크 스테이션 \ 태블릿).

GPO (Local-Admins-Tablets-Policy)를 만들어 Workstations \ Tablets OU에 연결합니다.

GPO에서 다음을 설정하십시오.

  • Comp 구성-정책-Windows 설정-보안 설정-제한된 그룹
  • 마우스 오른쪽 버튼을 클릭하고 그룹 추가
  • "관리자", OK
  • 이 그룹의 구성원 : myDomain \ Local-Admins-Tablets

PC를 재부팅하고 완료하십시오.

제한된 그룹을 설정하면 기존 로컬 관리자 목록을 컴퓨터에 덮어 씁니다. 다른 사용자 / 그룹이 이미 있으면이 정책에도 추가해야합니다. 다른 예는 myDomain \ Domain Admins 등입니다.

편집 : 아, 그리고 GPO의 필터링을 변경하고 도메인 컴퓨터를 추가하십시오 . 가장 쉬운 방법은 그룹 정책 관리 MMC 스냅인을 사용하는 것입니다 ( Microsoft 의 원격 서버 관리 도구 에서 얻을 수 있음 ).


5
+1. 제한된 그룹이 여기에 해결책입니다. 워크 스테이션의 gpupdate / force는 변경 사항을 적용하기에 충분하므로 재부팅 할 필요가 없습니다.
joeqwerty

태블릿이 현장에 있다면, "open cmd, gpupdate / force / boot"등을 설명하는 것보다 일반적으로 사용자가 재부팅하는 것이 더 쉽습니다 :)
Izzy

1
그룹 정책 기본 설정 ( technet.microsoft.com/en-us/library/cc731892%28WS.10%29.aspx )을 사용하면 아무 것도 덮어 쓰지 않고 로컬 그룹을 업데이트 할 수 있습니다.
Zoredache

1
글쎄, 그 트릭을했다! 단 두 가지 질문 : 로컬 사용자를 포함하여 현재 Admin 그룹의 모든 구성원을 완전히 제거 할 것이라고 생각합니다. 맞습니까? 그것은 놀라운 놀라움으로 판명 될 수 있습니다. 기본 관리자 계정은 이것의 영향을받지 않을 것이라고 생각합니다. 그거 저런 거에요?
WCWedin

1
나는 그것을 테스트 한 적이 없으며, 항상 제한된 그룹에 Builtin \ Administrators를 추가했습니다. 벨트 중괄호 :)
Izzy

12

Izzy의 답변은 Administrators 그룹이 로컬 컴퓨터의 향후 변경 사항에서 효과적으로 잠기지 않을 것이라면 괜찮습니다. 또한 정책 설정이 적용되기 전에 이미 Administrators 그룹의 구성원 인 그룹이 모두 지워집니다.

그러나 동일한 정책 설정을 약간 다른 방식으로 사용하여 이러한 성가심을 무시할 수 있습니다 (성가심이라고 생각되는 경우).

  • 이전과 같은 방식으로 OU / 그룹 구조를 만듭니다.
  • 그룹 정책 오브젝트의 제한된 그룹 섹션에 그룹 추가이지만 관리자 를 지정 하는 대신 YOURDOMAIN \ Local-Admins-Tablets를 지정하십시오 .
  • 에서 "이 그룹의 구성원" 섹션에서 추가 입력을 클릭 관리자를

두 섹션의 작동 방식이 미묘하지만 중요한 차이점입니다. 이 그룹의 구성원은 효과적으로 "그룹 A는 그룹 X, Y 및 Z 만 포함합니다"가됩니다. 이 그룹은 "A 그룹이 X, Y 및 Z 그룹의 구성원인지 확인하십시오."

이 그룹의 구성원으로 정책을 설정 한 후에 는 그룹의 구성원을 수정할 수있는 유일한 것은이 그룹의 구성원을 사용하는 재정의 정책 개체이거나이 그룹을 사용하는 다른 정책 은의 구성원입니다 .


2

도메인 그룹을 로컬 관리자 그룹에 추가하는 그룹 정책을 작성하기 만하면됩니다. 간단한 시작 스크립트 나 그룹 정책 기본 설정을 사용하면 쉽게 수행 할 수 있습니다 .

그룹 구성원을 추가하는 간단한 시작 스크립트

DomainName="example"
Set oShell = WScript.CreateObject("WScript.Shell")
Set oProcsEnv = oShell.Environment("Process")
ComputerName = oProcsEnv("COMPUTERNAME")
Set oGroup = GetObject("WinNT://" & ComputerName & "/" & "Administrators")
If Not oGroup.IsMember("WinNT://"&DomainName&"/_Group_Tablet_Admins") Then _
    oGroup.Add ("WinNT://"&DomainName&"/_Group_Tablet_Admins")

그가 W2K8을 사용하고 있다고 가정하면, 그의 질문으로는 말할 수 없습니다.
joeqwerty

클라이언트 쪽 기본 설정은 2003r2 도메인에서 지원됩니다. 2003r2 기사가 유용한 링크가 없었습니다.
Zoredache

OS를 추가하기 위해 질문을 편집했습니다. GPP는이 시나리오에 적합 해 보입니다. 사용자는 나중에 그룹을 수정하지 않아 일시적인 특성이 문제가되기 때문입니다. 즉, 모든 클라이언트 컴퓨터에 필수 구성 요소를 배포하는 것은 큰 골칫거리처럼 보입니다.
WCWedin

1
따라서 간단한 시작 스크립트로이를 수행하는 것도 간단한 옵션입니다. 선호도는 다른 많은 것들에도 유용하다고 생각합니다. 앞으로 성취 할 수있는 다른 것들을 위해 설치하는 것이 좋습니다.
Zoredache

1

나열된 솔루션의 유일한 문제점은 해당 정책이 적용되는 모든 시스템에 로컬 관리자 권한을 부여한다는 것입니다. 일반적으로 특정 컴퓨터에만 관리자 권한을 부여하려고합니다. 내가 관찰 한 것은 사용자가 로컬 관리자 권한이 있음을 알고 모든 동료를 위해 소프트웨어를 설치한다는 것입니다.

이 작업을 수행 할 수있는 여러 가지 방법이 있지만 제안 할 수도 있습니다. 위와 같이 단계를 완료하고 사용자에게 추가 권한이 필요한 각 컴퓨터마다 그룹을 만듭니다. 이러한 "컴퓨터 그룹" 은 각각 myDomain \ Local-Admins 그룹에 추가됩니다.

그런 다음 액세스해야하는 머신에 해당하는 그룹에 사용자가 추가됩니다.

그래서 그들은 관리자이지만 그 기계의 유일한 사람입니다.


0

새로운 채용을 추가하는 것이 번거롭지 만 번거로울 수있는 새로운 태블릿을 추가해서는 안된다고하십니까?

나는이 라인을 따라 뭔가를하고있을 것입니다 :

태블릿 PC의 관리자 여야하는 모든 사용자 (예 : TabletAdministrator)가 포함 된 도메인 보안 그룹이 있어야합니다.

각 태블릿에서 해당 그룹을 관리자 그룹에 추가하십시오.

이것이 적절한 기술인지 아닌지 모르겠습니다. 구현 방법에 관한 첫 번째 아이디어 일뿐입니다.


2
각 머신에 수동으로 추가해서는 안됩니다. 이것은 그룹 정책에 대한 것입니다
Izzy

1
새 태블릿을 설정할 때 한 태블릿에 15 명의 사용자를 추가해야합니다. 새 직원을 추가 할 때 한 명의 사용자를 20 개의 태블릿에 추가해야합니다. 둘 다 번거롭지 만 기계에서 기계로 걷는 메커니즘은 후자의 프로세스를 지루하고 느리게 만듭니다. 그러나 우아하지는 않지만 귀하의 접근 방식은 실질적으로 완화됩니다.
WCWedin

1
이 투표에서 +1하여 조금 다시 가져옵니다. 이것이 최선의 해결책은 아니지만 유효한 해결책입니다. 사람들이 선호하는 솔루션이 아니기 때문에 유효한 솔루션을 제안한 것에 대해 투표를해서는 안됩니다. 이 솔루션에서 누락 된 것은 그룹을 로컬 관리자 그룹에 추가하는 프로세스를 자동화하기 위해 제한된 그룹을 사용하는 것입니다. 노력과 답변에 기여한 것에 대해 +1을 말합니다.
joeqwerty

0

로컬 워크 스테이션에서 관리 권한이있는 컴퓨터 정책으로 실행되는 스크립트를 작성했습니다. 워크 스테이션 이름이 포함 된 경우 도메인 관리자가 "Active Directory 사용자 및 컴퓨터"에서 설정할 수있는 AD에서 마지막으로 로그온 한 사용자의 설명을 확인합니다. 워크 스테이션 이름이없는 경우 스크립트는 사용자를 로컬 관리자 그룹에 추가합니다. 사용자 설명, 로컬 관리자 그룹에서 사용자를 제거합니다. 설명에는 다음과 같은 컴퓨터 이름이 두 개 이상 포함될 수 있습니다.

사용자 설명 : "WKST-E445R 및 WKST-VM398의 로컬 관리자"

따라서 한 컴퓨터에서 누군가를 로컬 관리자로 만들려면 AD의 사용자 설명에이 컴퓨터의 이름을 추가하고 사용자에게 재부팅하도록 요청하면됩니다 . 컴퓨터 이름을 제거하면 로컬 관리자 권한이 제거됩니다.

가장 적은 해결책이 아닌가? :-)

스크립트는 다음과 같습니다.

    @if "%debug%" neq "%username%" echo off
set ver=MakeLocalAdmin.cmd henrik@c o m m o r e.se 20150423
:: Adds last logged on domain user to local Administrators group if run by computer GPO with Administrative rights and the user's Comment contains Computername

set log=nul
:: or set log=c:\logs\MakeLocalAdmins.txt

:: Check who was last logged on user
FOR /F "tokens=3 delims= " %%G in ('reg query "hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI" /v LastLoggedOnUser') DO (
set DomainAndUserName=%%G)

:: Remove the spaces
set DomainAndUserName=%DomainAndUserName: =%

:: Get only username part
set LastLoggedOnUserName=%DomainAndUserName:*\=%


:: Check OS language, so we can adapt to localized name of Admin group and Comment
FOR /F "tokens=3 delims= " %%G in ('reg query "hklm\system\controlset001\control\nls\language" /v Installlanguage') DO (
set Language=%%G)

echo %date% %Time% ; %0 ; %computername%; %LastLoggedOnUserName%; %DomainAndUserName%, %Language% >> %log%
goto %Language%

:: Add any langauage specific part below, but if an unknown install language is found,
:: an error 'label not found' should mean script terminates, but anyway make sure it terminates. 
goto end

:0409
:: English
net user /domain %LastLoggedOnUserName% | find "Comment " | find "%computername%" >> %log%
set NoLocalAdmin=%errorlevel%
if %NoLocalAdmin% equ 0 net localgroup Administrators /add "%DomainAndUserName%" >> %log%
if %NoLocalAdmin% equ 1 net localgroup Administrators /del "%DomainAndUserName%" >> %log%
goto end

:041D
:: Swedish 
:: †„” åäö (Swedish char's)
net user /domain %LastLoggedOnUserName% | find "Kommentar " | find "%computername%" >> %log%
set NoLocalAdmin=%errorlevel%
if %NoLocalAdmin% equ 0 net localgroup Administrat”rer /add "%DomainAndUserName%" >> %log%
if %NoLocalAdmin% equ 1 net localgroup Administrat”rer /del "%DomainAndUserName%" >> %log%
goto end



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