Gruppenrichtlinie: Administratorrechte für bestimmte Benutzer auf bestimmten Computern

11

Ich bin ein Programmierer, der versucht, ein Active Directory-Setup für ein kleines Unternehmen zu verwalten. Auf dem Domänencontroller wird Windows Small Business Server 2008 ausgeführt.

Wir haben Außendienstmitarbeiter, die Tablet-PCs verwenden. Bei Konfigurationsproblemen mit der ThinkVantage-Bloatware des Tablets müssen diese Benutzer über Administratorrechte verfügen, wenn sie die Tablets verwenden. Das ist in Ordnung - es ist nützlich, dass sie über umfassende Berechtigungen verfügen, wenn ich sie über das Telefon durch einen Fix begleite, sodass ich dort nicht nach einer Lösung suche.

Ich möchte Gruppenrichtlinien verwenden, um das folgende Szenario einzurichten: Die Benutzer in einer bestimmten Sicherheitsgruppe (oder Organisationseinheit) sollten sich in der Gruppe BUILTIN / Administratoren befinden, wenn sie an Computern in einer bestimmten Sicherheitsgruppe (oder Organisationseinheit) angemeldet sind. Es ist in Ordnung, wenn sich die Computer in einer Organisationseinheit befinden müssen, aber ich würde es vorziehen, Benutzer nach Gruppen zuzuweisen.

Natürlich sollten die Außendienstmitarbeiter keine Administratoren auf anderen Arbeitsstationen sein, und die Mitarbeiter des Vanillebüros sollten keine Administratoren auf den Tablets sein.

Derzeit wird dies lokal auf jedem Tablet verwaltet, aber wenn wir neue Mitarbeiter hinzufügen, wird es immer schwieriger.

Ich bin der Meinung, dass eingeschränkte Gruppen hier die Antwort sind, aber ohne eine solide Grundlage in AD-Konzepten und -Methoden fällt es mir schwer, dies zu erreichen.

Was ist die richtige Technik für diese Aufgabe und wie würde ich sie implementieren?

WCWedin
quelle

Antworten:

13

Erstellen Sie eine Gruppe, um die Benutzer (Local-Admins-Tablets) zu kapseln, und fügen Sie sie dieser Gruppe hinzu

Erstellen Sie eine Unter-OU der aktuellen Workstations-OU und legen Sie die Tablets hier ab (Workstations \ Tablets).

Erstellen Sie ein Gruppenrichtlinienobjekt (Local-Admins-Tablets-Policy) und verknüpfen Sie es mit der Organisationseinheit Workstations \ Tablets

Legen Sie im Gruppenrichtlinienobjekt Folgendes fest:

  • Comp Config - Richtlinien - Windows-Einstellungen - Sicherheitseinstellungen - Eingeschränkte Gruppen
  • Klicken Sie mit der rechten Maustaste auf Gruppe hinzufügen
  • "Administratoren", OK
  • Mitglieder dieser Gruppe: myDomain \ Local-Admins-Tablets

Starten Sie die PCs neu und fertig.

Beachten Sie, dass durch das Festlegen eingeschränkter Gruppen die vorhandene Liste der lokalen Administratoren auf dem Computer überschrieben wird. Wenn Sie dort bereits andere Benutzer / Gruppen haben, müssen Sie diese ebenfalls zu dieser Richtlinie hinzufügen. Andere Beispiele wären myDomain \ Domain Admins etc.

BEARBEITEN: Oh, und ändern Sie die Filterung im Gruppenrichtlinienobjekt und fügen Sie Domänencomputer hinzu . Der einfachste Weg, dies zu tun, ist die Verwendung des MMC-Snapins zur Gruppenrichtlinienverwaltung (Sie können dies über die Remoteserver-Verwaltungstools von Microsoft erhalten).

Izzy
quelle
5
+1. Eingeschränkte Gruppen ist hier die Lösung. Ein gpupdate / force auf den Workstations reicht aus, damit die Änderung wirksam wird, sodass kein Neustart erforderlich ist.
Joeqwerty
Wenn sich die Tablets im Feld befinden, ist es normalerweise einfacher, den Benutzer zum Neustart zu bewegen, als das "Öffnen von cmd, Typ gpupdate / force / boot" usw. zu erklären :)
Izzy
1
Mit den Gruppenrichtlinieneinstellungen ( technet.microsoft.com/en-us/library/cc731892%28WS.10%29.aspx ) können Sie eine lokale Gruppe aktualisieren, ohne etwas zu überschreiben.
Zoredache
1
Nun, das hat den Trick gemacht! Nur zwei Fragen: Ich stelle fest, dass alle aktuellen Mitglieder der Admin-Gruppe, einschließlich der lokalen Benutzer, vollständig ausgeblasen werden, richtig? Das könnte sich als böse Überraschung herausstellen. Ich gehe davon aus, dass das Standardadministratorkonto davon nicht betroffen ist. ist das anmaßend von mir?
WCWedin
1
Ich habe das noch nie getestet. Ich habe dieser eingeschränkten Gruppe immer nur Builtin \ Administrators hinzugefügt. Gürtel und Hosenträger :)
Izzy
12

Die Antwort von Izzy ist in Ordnung, wenn Sie sich nicht darum kümmern, dass die Administratorgruppe effektiv von zukünftigen Änderungen auf dem lokalen Computer ausgeschlossen wird. Dadurch werden auch alle Gruppen gelöscht, die bereits Mitglieder der Administratorgruppe waren, bevor die Richtlinieneinstellung angewendet wurde.

Sie können dieselbe Richtlinieneinstellung jedoch auf etwas andere Weise verwenden, um diese Belästigungen zu umgehen (vorausgesetzt, Sie betrachten sie sogar als Belästigungen).

  • Erstellen Sie die Organisationseinheit / Gruppenstruktur auf die gleiche Weise wie zuvor
  • Wenn Sie sich im Abschnitt Eingeschränkte Gruppen des Gruppenrichtlinienobjekts befinden, geben Sie Gruppe hinzufügen an, geben Sie jedoch anstelle der Angabe von Administratoren an hinzufügen YOURDOMAIN \ Local-Admins-Tablets an .
  • Im „Diese Gruppe ist Mitglied von“ Abschnitt, klicken Sie auf Hinzufügen und geben Sie Administratoren

Es ist ein subtiler, aber wichtiger Unterschied in der Arbeitsweise der beiden Abschnitte. Mitglieder dieser Gruppe sind effektiv "Gruppe A enthält immer nur die Gruppen X, Y und Z". Diese Gruppe ist Mitglied von "Stellen Sie sicher, dass Gruppe A Mitglied der Gruppen X, Y und Z ist".

Sobald Sie eine Richtlinie für Mitglieder dieser Gruppe festgelegt haben , können Sie die Mitgliedschaft der Gruppe nur durch ein überschreibendes Richtlinienobjekt ändern, das auch Mitglieder dieser Gruppe oder eine andere Richtlinie verwendet, die Mitglied dieser Gruppe ist .

Ryan Bolger
quelle
2

Alles, was Sie wirklich tun müssen, ist anscheinend eine Gruppenrichtlinie zu erstellen, die der lokalen Administratorgruppe eine Domänengruppe hinzufügt. Dies ist mit einem einfachen Startskript oder mit den Gruppenrichtlinieneinstellungen recht einfach zu erreichen .

Einfaches Startskript zum Hinzufügen von Gruppenmitgliedern.

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")
Zoredache
quelle
Angenommen, er verwendet W2K8, was ich anhand seiner Frage nicht sagen kann.
Joeqwerty
Clientseitige Einstellungen werden in einer 2003r2-Domäne unterstützt. Ich hatte gerade keinen Link zu einem 2003r2-Artikel zur Hand.
Zoredache
Die Frage wurde bearbeitet, um das Betriebssystem hinzuzufügen. GPP scheint für dieses Szenario gut geeignet zu sein, da es unwahrscheinlich ist, dass die Benutzer ihre Gruppen später ändern, was seine vorübergehende Natur zu einem strittigen Punkt macht. Das Bereitstellen der Voraussetzungen auf jedem Client-Computer scheint jedoch ein großes Problem zu sein.
WCWedin
1
Deshalb ist es auch eine einfache Option, dies mit einem einfachen Startskript zu tun. Ich finde Vorlieben auch für viele andere Dinge nützlich. Es kann sich lohnen, sie für andere Dinge zu installieren, die Sie in Zukunft erreichen können.
Zoredache
1

Das einzige Problem mit der aufgeführten Lösung besteht darin, dass allen Computern, auf denen diese Richtlinie gilt, lokale Administratorrechte gewährt werden. Normalerweise möchten Sie nur einem bestimmten Computer Administratorrechte gewähren. Was ich beobachtet habe, ist, wenn ein Benutzer feststellt, dass er lokale Administratorrechte hat, installiert er Software für alle seine Freunde.

Es gibt verschiedene Möglichkeiten, dies zu tun, aber ich könnte nur eine vorschlagen. Führen Sie die oben beschriebenen Schritte aus, und erstellen Sie für jeden Computer eine Gruppe, für die Benutzer zusätzliche Rechte benötigen. Jede dieser "Computergruppen" wird der Gruppe " myDomain \ Local-Admins " hinzugefügt.

Benutzer werden dann zu der Gruppe hinzugefügt, die dem Computer entspricht, auf den sie Zugriff benötigen.

Sie sind also ein Administrator, aber nur von dieser Maschine.

Jakob
quelle
0

Sie sagen, das Hinzufügen neuer Mitarbeiter ist ein Problem, aber sollte es nicht das Hinzufügen neuer Tablets sein, das ein Problem wäre?

Ich würde etwas in diese Richtung tun:

Verfügen Sie über eine Domänensicherheitsgruppe, die alle Benutzer enthält, die Administratoren auf den Tablet-PCs sein sollten (dh TabletAdministrators).

Fügen Sie diese Gruppe auf jedem Tablet der Gruppe Administratoren hinzu.

Ob dies die richtige Technik ist oder nicht, weiß ich nicht. Es ist nur die erste Idee, die mir bei der Implementierung einfällt.

Barrett Jacobsen
quelle
2
Es sollte nicht manuell zu jedem Computer hinzugefügt werden. Dies ist, was Gruppenrichtlinie ist
Izzy
1
Beim Einrichten eines neuen Tablets muss ich einem Tablet 15 Benutzer hinzufügen. Wenn ich einen neuen Mitarbeiter hinzufüge, muss ich 20 Tablets einen Benutzer hinzufügen. Beides ist mühsam, aber die Mechanik des Gehens von Maschine zu Maschine macht den letzteren Prozess mühsam und langsam. Ihr Ansatz würde dies jedoch erheblich mildern, auch wenn es nicht besonders elegant ist.
WCWedin
1
+1 bei dieser Abstimmung, um es ein wenig wieder aufzurufen. Dies ist möglicherweise nicht die beste Lösung, aber eine gültige Lösung. Die Leute sollten nicht dafür gestimmt werden, eine gültige Lösung vorzuschlagen, nur weil dies nicht die bevorzugte Lösung ist. Das einzige, was in dieser Lösung fehlt, ist die Verwendung von eingeschränkten Gruppen, um den Prozess des Hinzufügens der Gruppe zur Gruppe der lokalen Administratoren zu automatisieren. Ich sage +1 für Mühe und für den Beitrag zur Antwort.
Joeqwerty
0

Ich habe ein Skript geschrieben, das als Computerrichtlinie mit Administratorrechten auf der lokalen Arbeitsstation ausgeführt wird. Es überprüft die Beschreibung des zuletzt angemeldeten Benutzers in AD, die ein Domänenadministrator über "Active Directory-Benutzer und -Computer" festlegen kann. Wenn sie den Namen der Arbeitsstation enthält, fügt das Skript den Benutzer der lokalen Administratorgruppe hinzu, wenn der Name der Arbeitsstation nicht in der Gruppe enthalten ist Mit der Beschreibung des Benutzers wird der Benutzer aus der lokalen Administratorgruppe entfernt. Eine Beschreibung kann mehr als einen Computernamen enthalten:

Beschreibung des Benutzers: "Lokaler Administrator auf WKST-E445R und WKST-VM398"

Um jemanden zu einem lokalen Administrator auf nur einem Computer zu machen, muss ich nur den Namen dieses Computers zur Beschreibung des Benutzers in AD hinzufügen und den Benutzer zum Neustart auffordern. Durch Entfernen des Computernamens werden die lokalen Administratorrechte entfernt.

Ist das nicht die sauberste Lösung überhaupt? :-)

Hier ist das Skript:

    @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
HeHe
quelle