Grup İlkesi: Belirli Bilgisayarlardaki Belirli Kullanıcılar için Yönetici Hakları


11

Küçük bir şirket için Active Directory kurulumunu yönetmeye çalışırken bir programcıyım. Etki Alanı Denetleyicisi Windows Small Business Server 2008 çalıştırıyor.

Tablet PC'leri kullanan saha çalışanlarından oluşan bir kadromuz var; tabletin ThinkVantage bloatware'i ile ilgili yapılandırma sorunları, bu kullanıcıların tabletleri kullanırken doğrudan Yönetici olmasını gerektirir. Sorun değil - Onları telefonda bir düzeltme ile yürürken geniş ayrıcalıklara sahip olmaları yararlı, bu yüzden orada bir çözüm aramıyorum.

Aşağıdaki senaryoyu ayarlamak için Grup İlkesi'ni kullanmak istiyorum: Belirli bir güvenlik grubundaki (veya kuruluş birimindeki) kullanıcılar, belirli bir güvenlik grubundaki (veya kuruluş birimindeki) bilgisayarlarda oturum açtıklarında BUILTIN / Administrators grubunda olmalıdır. Bilgisayarların bir OU'da olması gerekiyor, ancak kullanıcıları gruba göre atamayı tercih ederim.

Tabii ki, saha çalışanları diğer iş istasyonlarında Yönetici olmamalı ve vanilya ofis personeli tabletlerde Yönetici olmamalıdır.

Şu anda, bu her tablette yerel olarak yönetiliyor, ancak yeni işe alımlar ekledikçe, daha fazla güçlük haline geliyor.

Kısıtlı Grupların burada yanıt olduğunu hissediyorum, ancak AD kavramları ve yöntemlerinde sağlam bir temel olmadan, bunu yapmakta zorlanıyorum.

Bu görev için uygun teknik nedir ve onu nasıl yerine getirebilirim?

Yanıtlar:


13

Kullanıcıları kapsüllemek için bir grup oluşturun (Local-Admins-Tablets) ve bu gruba ekleyin

Mevcut iş istasyonları OU'sunun bir alt OU'sunu oluşturun ve tabletleri buraya yerleştirin (İş İstasyonları \ Tabletler)

Bir GPO (Local-Admins-Tablets-Policy) oluşturun ve onu Workstations \ Tablets OU'ya bağlayın

GPO'da aşağıdakileri ayarlayın:

  • Comp Config - İlkeler - Windows Ayarları - Güvenlik Ayarları - Kısıtlı Gruplar
  • Sağ tıklama, Grup Ekle
  • "Yöneticiler", Tamam
  • Bu Grubun üyeleri: myDomain \ Local-Admins-Tablets

PC'leri yeniden başlatın ve bitti.

Kısıtlı Gruplar ayarının makinelerin mevcut yerel Yöneticiler listesinin üzerine yazacağını unutmayın. Zaten orada başka kullanıcılarınız / gruplarınız varsa, bunları da bu politikaya eklemeniz gerekir. Diğer örnekler myDomain \ Domain Admins vb. Olabilir.

EDIT: Oh, ve GPO filtreleme değiştirin ve Etki Alanı Bilgisayarlar ekleyin . Bunu yapmanın en kolay yolu, Grup İlkesi Yönetimi MMC ek bileşenini kullanmaktır (bunu Microsoft'tan Uzak Sunucu Yönetim Araçları'ndan alabilirsiniz )


5
+1. Kısıtlı Gruplar buradaki çözümdür. Değişikliklerin etkili olması için yeniden başlatma ihtiyacını ortadan kaldıran iş istasyonları üzerindeki bir gpupdate / kuvvet yeterlidir.
joeqwerty

Tabletler ise alanında buna "açık cmd, gpupdate / force / çizme" vb :) açıklamaktır daha yeniden başlatma için kullanıcı almak için genellikle daha kolaydır
Izzy

1
Grup İlkesi Tercihleri'ni ( technet.microsoft.com/en-us/library/cc731892%28WS.10%29.aspx ) kullanarak , hiçbir şeyi yazmadan yerel bir grubu güncelleyebilirsiniz.
Zoredache

1
Bu hile yaptı! Sadece iki soru: Yerel kullanıcılar da dahil olmak üzere Yönetici grubunun tüm mevcut üyelerini tamamen havaya uçuracağını topluyorum, değil mi? Bu kötü bir sürpriz olabilir. Varsayılan Yönetici hesabının bundan etkilenmeyeceğini varsayıyorum; bu benim küstah mıyım?
WCWedin

1
Bunu hiç test etmedim, her zaman bu kısıtlı gruba Builtin \ Administrators'ı ekledim. Kemer ve diş telleri :)
Izzy

12

Izzy'nin yanıtı, Administrators grubunun yerel makinede gelecekte yapılacak değişikliklerin etkili bir şekilde kilitlenmesini umursamıyorsanız sorun olmayacaktır. Bu, ilke ayarı uygulanmadan önce zaten Administrators grubunun üyesi olan grupları da siler.

Bununla birlikte, aynı ilke ayarını bu rahatsızlıkları atlamak için biraz farklı bir şekilde kullanabilirsiniz (bunlardan rahatsızlık olarak bile düşündüğünüzü varsayarsak).

  • OU / Grup yapısını eskisi gibi yaratın
  • Grup ilkesi nesnesinin Kısıtlı Gruplar bölümünde, Grup Ekle seçeneğinde, ancak Yöneticiler belirtmek yerine YOURDOMAIN \ Local-Admins-Tablets öğesini belirtin .
  • In "Bu grubun bir üyesidir" bölümünde, Ekle seçeneğini tıklayın ve Yöneticiler

İki bölümün çalışma biçiminde ince ama önemli bir fark var. Bu grubun üyeleri etkili bir şekilde "A Grubu yalnızca X, Y ve Z Gruplarını içerecektir" şeklinde çalışır. Bu grup "A Grubunun X, Y ve Z Gruplarının bir üyesi olduğundan emin olun" etkin bir üyesidir.

Birlikte set politikasını bıraktığınızda bu grubun üyeleri , grubun üyeliğini değiştirebilir tek şey de kullandığı bir ağır basan politika nesnesidir Bu grubun üyeleri veya kullanan herhangi bir başka politika Bu grup üyesidir .


2

Gerçekte yapmanız gereken tek şey, yerel yöneticiler grubuna bir Etki Alanı Grubu ekleyen bir grup ilkesi oluşturmak gibi görünüyor. Bu, basit bir başlangıç ​​komut dosyasıyla veya Grup İlkesi Tercihleri ile kolayca gerçekleştirilebilir .

Grup üyeleri eklemek için basit başlangıç ​​komut dosyası.

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")

Sorusuna dayanarak söyleyemediğim W2K8 kullandığını varsayarsak.
joeqwerty

İstemci Tarafı tercihleri ​​2003r2 etki alanında desteklenir. Ben kullanışlı bir 2003r2 makale bir bağlantı yoktu.
Zoredache

İşletim sistemini eklemek için soruyu düzenledi. GPP, bu senaryo için iyi bir uyum gibi görünüyor, çünkü kullanıcıların daha sonra gruplarını değiştirmesi beklenmiyor ve geçici doğasını tartışmalı bir nokta haline getiriyor. Bununla birlikte, önkoşulları her istemci makineye dağıtmak büyük bir baş ağrısı gibi görünüyor.
WCWedin

1
Bu yüzden bunu basit bir başlangıç ​​komut dosyası ile yapmak da basit bir seçenektir. Tercihleri ​​başka birçok şey için de yararlı buluyorum. Gelecekte başarabileceğiniz diğer şeyler için bunları yüklemeye değer olabilir.
Zoredache

1

Listelenen çözümle ilgili tek sorun, bu politikanın geçerli olduğu tüm makinelere yerel yönetici hakları vermesidir. Genellikle yalnızca belirli bir makineye yönetici hakları vermek istersiniz. Gözlemlediğim şey, bir kullanıcı yerel yönetici haklarına sahip olduğunu fark ettiğinde tüm arkadaşları için yazılım kurmaya gider.

Bunu yapmanın birkaç farklı yolu var ama ben sadece bir tane önerebilirim. Bu nedenle yukarıdaki adımları tamamlayın, ancak kullanıcıların ek haklara ihtiyaç duyduğu her bilgisayar için bir grup oluşturun. Bu "Bilgisayar Grupları" nın her biri myDomain \ Local-Admins grubuna eklenir.

Kullanıcılar daha sonra erişmeleri gereken makineye karşılık gelen gruba eklenir.

Yani bir yönetici ama sadece o makineden.


0

Yeni işe alımlar eklemenin bir güçlük olduğunu söylüyorsunuz, ancak bir güçlük yaratacak yeni tabletler eklemesi gerekmez mi?

Bu çizgiler boyunca bir şeyler yapardım:

Tablet PC'lerde (ör. TabletAdministrators) yönetici olması gereken tüm kullanıcıları içeren bir etki alanı güvenlik grubunuz olmalıdır.

Her tablette, bu grubu Administrators grubuna ekleyin.

Bu doğru teknik olsun ya da olmasın, bilmiyorum. Nasıl uygulanacağı konusunda bana gelen ilk fikir.


2
Her makineye manuel olarak eklenmemelidir. Grup İlkesi bunun için
Izzy

1
Yeni bir tablet kurarken, bir tablete 15 kullanıcı eklemem gerekiyor. Yeni bir çalışan eklerken, 20 tablete bir kullanıcı eklemem gerekiyor. Her ikisi de bir güçlüktür, ancak makineden makineye yürümenin mekaniği, ikinci süreci sıkıcı ve yavaş hale getirir. Yaklaşımınız, özellikle zarif olmasa bile, bunu önemli ölçüde hafifletir.
WCWedin

1
Biraz geri getirmek için bu oylamayı + 1'leyin. Bu en iyi çözüm olmayabilir, ancak geçerli bir çözümdür. İnsanlar, tercih edilen çözüm olmadığı için geçerli bir çözüm önerdiği için oy kullanmamalıdır. Bu çözümde eksik olan tek şey, grubu Yerel Yöneticiler grubuna ekleme işlemini otomatikleştirmek için Kısıtlı Grupların kullanılmasıdır. Çaba için ve cevaba katkıda bulunmak için +1 diyorum.
joeqwerty

0

Yerel iş istasyonunda yönetici haklarına sahip bir bilgisayar politikası olarak çalışan bir senaryo yazdım. Bir etki alanı yöneticisinin "Active Directory Kullanıcıları ve Bilgisayarları" ndan ayarlayabileceği AD'de son oturum açan kullanıcının açıklamasını kontrol eder; iş istasyonu adını içeriyorsa, komut dosyası kullanıcıyı iş istasyonu adı içinde değilse yerel yönetici grubuna ekler. Kullanıcının Açıklaması, kullanıcıyı yerel yönetici grubundan kaldırır. Bir Açıklama, birden fazla bilgisayar adı içerebilir, örneğin:

Kullanıcının Açıklaması: "WKST-E445R ve WKST-VM398'de Yerel Yönetici"

Bu nedenle, birini yalnızca bir makinede yerel yönetici yapmak için, bu bilgisayarın adını AD'deki kullanıcının Açıklamasına eklemem ve kullanıcıdan yeniden başlatmasını istemem ve bilgisayarın adını kaldırmak yerel yönetici haklarını kaldırır.

Bu en güzel çözüm değil mi? :-)

İşte senaryo:

    @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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.