นโยบายกลุ่ม: สิทธิ์ผู้ดูแลระบบสำหรับผู้ใช้เฉพาะบนคอมพิวเตอร์ที่เฉพาะเจาะจง


11

ฉันเป็นโปรแกรมเมอร์ติดพยายามจัดการการตั้งค่า Active Directory สำหรับ บริษัท ขนาดเล็ก ตัวควบคุมโดเมนกำลังเรียกใช้ Windows Small Business Server 2008

เรามีพนักงานภาคสนามที่ใช้แท็บเล็ตพีซี ปัญหาการกำหนดค่าด้วย Bloatware ของ ThinkVantage ของแท็บเล็ตจะกำหนดให้ผู้ใช้เหล่านี้มีสิทธิ์ของผู้ดูแลระบบเมื่อใช้แท็บเล็ต ไม่เป็นไร - มันมีประโยชน์สำหรับพวกเขาที่จะได้รับสิทธิพิเศษเมื่อฉันเดินพวกเขาผ่านการแก้ไขทางโทรศัพท์ดังนั้นฉันไม่ได้มองหาวิธีแก้ไขที่นั่น

ฉันต้องการใช้นโยบายกลุ่มเพื่อตั้งค่าสถานการณ์ต่อไปนี้: ผู้ใช้ในกลุ่มความปลอดภัย (หรือหน่วยองค์กร) ควรอยู่ในกลุ่ม BUILTIN / Administrators เมื่อเข้าสู่ระบบคอมพิวเตอร์ในกลุ่มความปลอดภัย (หรือหน่วยองค์กร) ไม่เป็นไรถ้าคอมพิวเตอร์ต้องอยู่ใน OU แต่ฉันต้องการกำหนดผู้ใช้เป็นกลุ่ม

แน่นอนพนักงานภาคสนามไม่ควรเป็นผู้ดูแลระบบในเวิร์คสเตชั่นอื่น ๆ และพนักงานออฟฟิศวานิลลาไม่ควรเป็นผู้ดูแลระบบบนแท็บเล็ต

ขณะนี้มีการจัดการภายในแท็บเล็ตแต่ละเครื่อง แต่เมื่อเราเพิ่มการจ้างงานใหม่

ฉันรู้สึกว่ากลุ่มที่ถูก จำกัด คือคำตอบที่นี่ แต่หากไม่มีเหตุผลที่ชัดเจนในแนวคิดและวิธีการโฆษณาฉันมีช่วงเวลาที่ยากลำบากในการทำให้เกิดขึ้น

เทคนิคที่เหมาะสมสำหรับงานนี้คืออะไรและฉันจะนำไปใช้อย่างไร

คำตอบ:


13

สร้างกลุ่มเพื่อแค็ปซูลผู้ใช้ (Local-Admins-Tablets) และเพิ่มในกลุ่มนี้

สร้าง sub-OU ของเวิร์กสเตชันปัจจุบัน OU และวาง tablet ไว้ที่นี่ (Workstations \ Tablets)

สร้าง GPO (Local-Admins-Tablets-Policy) และเชื่อมโยงไปยัง Workstations \ Tablets OU

ใน GPO ตั้งค่าต่อไปนี้:

  • Comp Config - นโยบาย - การตั้งค่า Windows - การตั้งค่าความปลอดภัย - กลุ่มที่ถูก จำกัด
  • คลิกขวาเพิ่มกลุ่ม
  • "ผู้ดูแลระบบ" ตกลง
  • สมาชิกของกลุ่มนี้: myDomain \ Local-Admins-Tablets

รีบูทพีซีและทำ

โปรดจำไว้ว่าการตั้งค่ากลุ่มที่ถูก จำกัด จะเขียนทับรายการเครื่องที่มีอยู่ของผู้ดูแลระบบท้องถิ่น หากคุณมีผู้ใช้ / กลุ่มอื่นอยู่แล้วคุณจะต้องเพิ่มพวกเขาในนโยบายนี้ด้วย ตัวอย่างอื่น ๆ ก็คือmyDomain \ Domain Adminsเป็นต้น

แก้ไข: Oh, และเปลี่ยนกรองใน GPO และเพิ่มโดเมนคอมพิวเตอร์ วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการใช้ Snapin MMC การจัดการนโยบายกลุ่ม (คุณสามารถรับได้จากเครื่องมือการดูแลเซิร์ฟเวอร์ระยะไกลจาก Microsoft)


5
+1 กลุ่มที่ถูก จำกัด เป็นวิธีแก้ปัญหาที่นี่ gpupdate / force บนเวิร์กสเตชันนั้นเพียงพอสำหรับการเปลี่ยนแปลงที่จะมีผลกระทบโดยไม่จำเป็นต้องรีบูต
joeqwerty

หากแท็บเล็ตที่มีในสนามก็มักจะง่ายต่อการรับผู้ใช้ในการรีบูตกว่าก็คือการอธิบาย "cmd เปิดประเภท gpupdate / force / boot" ฯลฯ :)
อิซซี่

1
การใช้การกำหนดลักษณะนโยบายกลุ่ม ( technet.microsoft.com/en-us/library/cc731892%28WS.10%29.aspx ) คุณสามารถอัปเดตกลุ่มท้องถิ่นโดยไม่ต้องเขียนทับอะไรเลย
Zoredache

1
นั่นมันหลอกลวง! เพียงสองคำถาม: ฉันรวบรวมว่ามันจะระเบิดออกสมาชิกปัจจุบันทั้งหมดของกลุ่มผู้ดูแลระบบรวมถึงผู้ใช้ท้องถิ่นถูกต้องหรือไม่ นั่นอาจเป็นความประหลาดใจที่น่ารังเกียจ ฉันคิดว่าบัญชีผู้ดูแลระบบเริ่มต้นจะไม่ได้รับผลกระทบจากสิ่งนี้ ฉันคิดว่านี่เป็นสิ่งที่ผิดหรือเปล่า?
WCWedin

1
ฉันไม่เคยทดสอบสิ่งนั้นเลยฉันเพิ่งเพิ่ม Builtin \ Administrators ไปยังกลุ่มที่ จำกัด เข็มขัดและวงเล็บ :)
อิซซี่

12

คำตอบของ Izzy นั้นใช้ได้ถ้าคุณไม่สนใจว่ากลุ่มผู้ดูแลระบบจะถูกล็อคอย่างมีประสิทธิภาพจากการเปลี่ยนแปลงในอนาคตจากเครื่องท้องถิ่น สิ่งนี้จะล้างกลุ่มใด ๆ ที่เป็นสมาชิกของกลุ่มผู้ดูแลแล้วก่อนที่จะใช้การตั้งค่านโยบาย

อย่างไรก็ตามคุณสามารถใช้การตั้งค่านโยบายเดียวกันในวิธีที่แตกต่างกันเล็กน้อยในการเลี่ยงการรบกวนเหล่านั้น (สมมติว่าคุณพิจารณาการรำคาญด้วย)

  • สร้างโครงสร้าง OU / กลุ่มแบบเดียวกับก่อน
  • เมื่อคุณอยู่ในส่วนของกลุ่มที่ถูก จำกัด ของวัตถุนโยบายกลุ่มเพิ่มกลุ่ม แต่แทนที่จะระบุผู้บริหารระบุYOURDOMAIN \ Local-ผู้ดูแลระบบแท็บเล็ต
  • ในส่วน"กลุ่มนี้เป็นสมาชิกของ"คลิกเพิ่มและเข้าสู่ผู้ดูแลระบบ

มันเป็นความแตกต่างที่สำคัญ แต่สำคัญในการทำงานของสองส่วน สมาชิกของกลุ่มนี้ทำงานอย่างมีประสิทธิภาพว่า "กลุ่ม 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

แก้ไขคำถามเพื่อเพิ่มระบบปฏิบัติการ ดูเหมือนว่า GPP จะเหมาะสำหรับสถานการณ์นี้เนื่องจากผู้ใช้ไม่น่าจะแก้ไขกลุ่มของพวกเขาในภายหลังทำให้ธรรมชาติเป็นจุดที่สงสัย ที่กล่าวว่าการปรับใช้ข้อกำหนดเบื้องต้นกับเครื่องไคลเอนต์ทุกเครื่องดูเหมือนจะปวดหัวมาก
WCWedin

1
นั่นเป็นเหตุผลว่าทำไมการทำเช่นนี้กับสคริปต์เริ่มต้นอย่างง่ายก็เป็นตัวเลือกที่ง่ายเช่นกัน ฉันพบว่าการตั้งค่ามีประโยชน์สำหรับสิ่งอื่น ๆ เช่นกัน อาจเป็นสิ่งที่ควรค่าสำหรับการติดตั้งสิ่งอื่น ๆ ที่คุณจะสามารถทำได้ในอนาคต
Zoredache

1

ปัญหาเดียวของวิธีแก้ปัญหาที่แสดงรายการนั้นคือให้สิทธิ์ผู้ดูแลระบบในเครื่องกับทุกเครื่องที่ใช้นโยบายนั้น โดยทั่วไปคุณต้องการให้สิทธิ์ผู้ดูแลระบบแก่เครื่องเฉพาะเท่านั้น สิ่งที่ฉันสังเกตคือเมื่อผู้ใช้ตระหนักว่าพวกเขามีสิทธิ์ผู้ดูแลระบบท้องถิ่นพวกเขาไปติดตั้งซอฟต์แวร์สำหรับเพื่อนทั้งหมด

มีหลายวิธีที่คุณสามารถทำได้ แต่ฉันอาจแนะนำวิธีหนึ่ง ดังนั้นทำตามขั้นตอนข้างต้น แต่ยังสร้างกลุ่มสำหรับคอมพิวเตอร์แต่ละเครื่องที่ผู้ใช้ต้องการสิทธิ์เพิ่มเติม "กลุ่มคอมพิวเตอร์"เหล่านี้แต่ละกลุ่มจะถูกเพิ่มในกลุ่ม myDomain \ Local-Admins

จากนั้นผู้ใช้จะถูกเพิ่มในกลุ่มที่สอดคล้องกับเครื่องที่พวกเขาต้องการเข้าถึง

ดังนั้นพวกเขาจึงเป็นผู้ดูแล แต่เพียงเครื่องเดียว


0

คุณบอกว่าการเพิ่มการจ้างงานใหม่เป็นสิ่งที่ยุ่งยาก แต่ไม่ควรเพิ่มแท็บเล็ตใหม่ที่จะสร้างความยุ่งยากหรือไม่

ฉันจะทำอะไรตามบรรทัดเหล่านี้:

มีกลุ่มความปลอดภัยของโดเมนที่มีผู้ใช้ทั้งหมดที่ควรเป็นผู้ดูแลระบบของแท็บเล็ตพีซี (เช่น TabletAdministrators)

ในแต่ละแท็บเล็ตให้เพิ่มกลุ่มนั้นในกลุ่มผู้ดูแลระบบ

ไม่ว่าจะเป็นเทคนิคที่เหมาะสมหรือไม่ฉันไม่รู้ มันเป็นเพียงความคิดแรกที่มาถึงฉันเกี่ยวกับวิธีการใช้งาน


2
ไม่ควรเพิ่มแต่ละเครื่องด้วยตนเอง นี่คือสิ่งที่นโยบายกลุ่มมีไว้สำหรับ
อิซซี่

1
เมื่อตั้งค่าแท็บเล็ตใหม่ฉันต้องเพิ่มผู้ใช้ 15 คนลงในแท็บเล็ตหนึ่งอัน เมื่อเพิ่มพนักงานใหม่ฉันต้องเพิ่มผู้ใช้หนึ่งคนใน 20 เม็ด ทั้งสองเป็นเรื่องยุ่งยาก แต่กลไกการเดินจากเครื่องจักรไปยังเครื่องจักรทำให้กระบวนการหลังน่าเบื่อและช้า วิธีการของคุณจะบรรเทาลงอย่างมีนัยสำคัญแม้ว่าแม้ว่าจะไม่ได้สวยงามโดยเฉพาะอย่างยิ่ง
WCWedin

1
+1 สำหรับการลงคะแนนนี้เพื่อนำมาสำรองอีกเล็กน้อย นี่อาจไม่ใช่วิธีที่ดีที่สุด แต่เป็นวิธีที่ถูกต้อง ผู้คนไม่ควรถูกโหวตให้เสนอโซลูชั่นที่ถูกต้องเพียงเพราะไม่ใช่โซลูชันที่ต้องการ สิ่งเดียวที่ขาดหายไปจากโซลูชันนี้คือการใช้กลุ่มที่ถูก จำกัด เพื่อทำให้กระบวนการเพิ่มกลุ่มไปยังกลุ่มผู้ดูแลระบบในท้องถิ่นโดยอัตโนมัติ ฉันพูดว่า +1 สำหรับความพยายามและมีส่วนทำให้คำตอบ
joeqwerty

0

ฉันเขียนสคริปต์ที่ทำงานเป็นนโยบายคอมพิวเตอร์ที่มีสิทธิ์ระดับผู้ดูแลระบบในเวิร์กสเตชันท้องถิ่น จะตรวจสอบคำอธิบายของผู้ใช้ที่ล็อกออนล่าสุดใน AD ซึ่งผู้ดูแลระบบโดเมนสามารถตั้งค่าได้จาก "ผู้ใช้งานไดเรกทอรีและคอมพิวเตอร์" หากมีชื่อเวิร์กสเตชันสคริปต์จะเพิ่มผู้ใช้ไปยังกลุ่มผู้ดูแลระบบท้องถิ่นหากชื่อเวิร์กสเตชันไม่อยู่ใน คำอธิบายของผู้ใช้มันจะลบผู้ใช้ออกจากกลุ่มผู้ดูแลระบบท้องถิ่น คำอธิบายสามารถมีชื่อคอมพิวเตอร์ได้มากกว่าหนึ่งชื่อเช่นนี้

คำอธิบายของผู้ใช้: "Local Admin on WKST-E445R และ WKST-VM398"

ดังนั้นเพื่อให้ใครบางคนเป็นผู้ดูแลระบบในเครื่องเพียงเครื่องเดียวฉันแค่ต้องเพิ่มชื่อคอมพิวเตอร์นี้ลงในคำอธิบายของผู้ใช้ในโฆษณาและขอให้ผู้ใช้รีบูตและการลบชื่อคอมพิวเตอร์นั้นจะเป็นการลบสิทธิ์ผู้ดูแลระบบในเครื่อง

นั่นไม่ใช่ทางออกที่เรียบร้อยที่สุดหรือ? :-)

นี่คือสคริปต์:

    @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.