eduuaard
Goto Top

AD-User mittels Powershell in Gruppe hinzufügen

Hallo zusammen

Ich möchte mittels Powershell AD-User in einer AD-Gruppe hinzufügen.
Und zwar haben wir folgende Konstellation:

AD-User loggt sich auf Computer und installiert eine Software.
Damit die Software installiert werden kann muss der User manuell in eine AD-Gruppe (lokaler Administrator) hinzugefügt werden.
Nach dem Abschluss der Installation muss der AD-User aus der AD-Gruppe (lokaler Administrator) entfernt werden.

1. Kann ich einen AD-User auf einem PC/Laptop in einer AD-Gruppe hinzufügen bzw. entfernen?
2. Wie funktioniert das?


Ablauf:

AD-User möchte Software XYZ auf seinem Gerät installiert haben
Administrator fügt den AD-User manuell über das AD in AD-Gruppe (lokaler Administrator) hinzu
Software wird installiert
Nach Abschluss Software muss der User aus der Gruppe entfernt werden mittels Powershell

Content-Key: 552201

Url: https://administrator.de/contentid/552201

Ausgedruckt am: 28.03.2024 um 09:03 Uhr

Mitglied: erikro
erikro 27.02.2020 um 10:03:03 Uhr
Goto Top
Moin,

der Befehl lautet: add-adgroupmember. Besonders interessant ist der Parameter MemberTimeToLive. Damit kannst Du den User automatisch z. B. nach einer Stunde wieder aus der Gruppe entfernen.

Ich kann mir jetzt aber nicht verkneifen, das Verfahren als eher suboptimal zu bezeichnen. Warum nicht über zentrale Softwareverteilung oder Fernzugriff des Admins. Das machen wir hier so und funktioniert problemlos.

Liebe Grüße

Erik
Mitglied: 143127
143127 27.02.2020 aktualisiert um 10:06:50 Uhr
Goto Top
Das hier solltest du dir zum Thema mal zu Gemüte führen
Sicherer Umgang mit Supportkonten
Mitglied: Tezzla
Tezzla 27.02.2020 um 10:06:41 Uhr
Goto Top
Add-ADGroupMember -Identity Gruppenname -Members Username

und

Remove-ADGroupMember

Hinzufügen
Entfernen
Mitglied: Eduuaard
Eduuaard 27.02.2020 um 10:25:26 Uhr
Goto Top
Ja ich möchte dies ja über eine zentrale Softwareverteilung machen und dort das Powershell zum Einsatz kommt.

Jedoch ist hier meine Frage bzw. Problem

Wie kann ich die AD Gruppen herauslesen?
Bzw. wie merkt der Rechner (mit Logged User XYZ) dass es diese Gruppe gibt und er sich selber hinzufügen kann?
Braucht es da nicht Administratoren Rechte?
Mitglied: Tezzla
Tezzla 27.02.2020 um 10:31:46 Uhr
Goto Top
Schreib mal deine Anforderungen auf und mit welcher Software und Möglichkeiten du dorthin kommen willst.
Mitglied: erikro
erikro 27.02.2020 um 10:34:46 Uhr
Goto Top
Moin,

Zitat von @Eduuaard:

Ja ich möchte dies ja über eine zentrale Softwareverteilung machen und dort das Powershell zum Einsatz kommt.

Was denn nun? Zentrale Softwareverteilung (z. B. Bordmittel GPO, Baramundi o. ä.)? Oder doch Installation per Skript?

Wie kann ich die AD Gruppen herauslesen?

get-adgroup

Bzw. wie merkt der Rechner (mit Logged User XYZ) dass es diese Gruppe gibt und er sich selber hinzufügen kann?

Kann er hoffentlich nicht.

Braucht es da nicht Administratoren Rechte?

Ja. Deshalb ja auch die zentrale Softwareverteilung, in der der Admin festlegt, was auf welchem Rechner installiert wird. Dann braucht es das ganze Gedöns mit Userrechte erhöhen nicht.

Liebe Grüße

Erik
Mitglied: Eduuaard
Eduuaard 27.02.2020 um 10:49:12 Uhr
Goto Top
Eingeloggten User auslesen:

$Rechner = "localhost"
Get-WmiObject Win32_ComputerSystem -ComputerName $Rechner | Select-Object Name,UserName

Software wird installiert....
Am Ende der Software Installation wird das Powershell Script ausgeführt

User aus AD Gruppe entfernen

Domänenuser (vermutlich mit Domänenadminuser und Passwort) wird aus AD_Gruppe (lokaler ADministrator) entfernt

ENDE
Mitglied: Tezzla
Tezzla 27.02.2020 aktualisiert um 11:00:02 Uhr
Goto Top
$user = $env:username
$group = "DeineSoftwaregruppe"  
$members = Get-ADGroupMember -Identity $group -Recursive | Select -ExpandProperty Name

If ($members -contains $user) {
      Softwareinstallation, weil User ist in Gruppe
      Am Ende: Remove-ADGroupMember -Identity DeineSoftwaregruppe -Members $user
 } Else {
       User ist nicht in Gruppe, tue XY
}

Die Zeile Remove-ADGroupMember muss dann mit einem Konto durchgeführt werden, was aus Gruppen Benutzer entfernen darf. Das kann man in einer Softwareverteilung i.d.R. aber einstellen.

Warum auch immer du das so machen willst - man machts mit einer Softwareverteilung eigentlich anders.
Mitglied: Eduuaard
Eduuaard 27.02.2020 um 11:08:51 Uhr
Goto Top
Aber das kann ja nicht funktionieren.... weil ich mich nicht richtig ausgedrückt habe face-smile

Das Powershell Script muss lokal auf einem Gerät gestartet werden und der eingeloggte User muss sich quasi selber in eine AD Gruppe hinzufügen.
Damit er das kann muss er ja den DOmänen Admin und Passwort eingeben.

Das Problem ist derjenige der das betreut hat ist nicht mehr bei uns und wir müssen es jetzt ausbaden.... und wollen möglichst wenig aufwand machen.
Mitglied: erikro
erikro 27.02.2020 um 11:17:18 Uhr
Goto Top
Moin,

Zitat von @Eduuaard:
Das Powershell Script muss lokal auf einem Gerät gestartet werden und der eingeloggte User muss sich quasi selber in eine AD Gruppe hinzufügen.

Warum? Was für exotische Software installierst Du, die sich nicht mittels einer zentralen Softwareverteilung installieren lässt.

Damit er das kann muss er ja den DOmänen Admin und Passwort eingeben.

Richtig bzw. eines Users, der das darf. Und dann kannst Du das auch gleich ins Intranet stellen. face-wink

Das Problem ist derjenige der das betreut hat ist nicht mehr bei uns und wir müssen es jetzt ausbaden.... und wollen möglichst wenig aufwand machen.

Dann nutzt die Gelegenheit und macht es besser.

Liebe Grüße

Erik
Mitglied: Eduuaard
Eduuaard 27.02.2020 um 11:24:36 Uhr
Goto Top
Zitat von @Eduuaard:
Das Powershell Script muss lokal auf einem Gerät gestartet werden und der eingeloggte User muss sich quasi selber in eine AD Gruppe hinzufügen.

Warum? Was für exotische Software installierst Du, die sich nicht mittels einer zentralen Softwareverteilung installieren lässt.
Es ist keine exotische Software. Normale Standard Softwares....
Damit er das kann muss er ja den DOmänen Admin und Passwort eingeben.

Richtig bzw. eines Users, der das darf. Und dann kannst Du das auch gleich ins Intranet stellen. face-wink
Das wird in die Softwareverteilung eingepflegt
Das Problem ist derjenige der das betreut hat ist nicht mehr bei uns und wir müssen es jetzt ausbaden.... und wollen möglichst wenig aufwand machen.

Dann nutzt die Gelegenheit und macht es besser.
Wir werden dies auch besser machen, jedoch wollen wir die Softwareverteilung (Columbus) sowieso ersetzen bzw. bald auf eine andere umsteigen und wir wollen nicht 2x denselben Aufwand haben. Deswegen wollen wir einfach am Ende jeder Softwareinstallation das Powershell script starten.



Was ich habe:
$Rechner = "localhost"
$Gruppe = "AD-Gruppenobjekt"
Get-WmiObject Win32_ComputerSystem -ComputerName $Rechner | Select-Object Name,UserName

REMOVE-ADGROUPMEMBER -Identity $Gruppe -Members $Username
Mitglied: Tezzla
Tezzla 27.02.2020 um 12:11:15 Uhr
Goto Top
Über eine Aufgabenplanung beim Login evtl. lösbar, aber ich steig nicht durch, was du da zusammenfrickeln sollst.

Wenn ihr eine vernünftigte Softwareverteilung sucht, PN face-wink