WPS 10 Geschrieben 4. August 2014 Melden Teilen Geschrieben 4. August 2014 Hallo zusammen, ich möchte gerne in einigen Powershell-Skripten, Aktionen abhängig von den Gruppenzugehörigkeiten im AD ausführen lassen. Eigentlich würde ich das folgendermaßen angehen: $Gruppen = Get-ADPrincipalGroupMembership $env:USERNAME | ForEach-Object {$_.name} Doch dafür wird ja das ActiveDirectory-Modul benötigt, welches ja nicht auf allen Rechnern zur Verfügung steht.Gibt es hierfür eine Alternative, wie ich an die Gruppenmitgliedschaften rankomme, ohne dafür auf das ActiveDirectory-Modul zugreifen zu müssen? Besten Dank schon mal im Vorraus für Eure Tipps! Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 4. August 2014 Melden Teilen Geschrieben 4. August 2014 Wieso ist das nicht überall verfügbar? Powershell 2.0 kann man über WSUS verteilen. Zitieren Link zu diesem Kommentar
nemonix 2 Geschrieben 4. August 2014 Melden Teilen Geschrieben 4. August 2014 $Gruppen=([system.Security.Principal.WindowsIdentity]::GetCurrent()).Groups | Foreach-Object { $_.Translate([system.Security.Principal.NTAccount])} Zitieren Link zu diesem Kommentar
NilsK 2.938 Geschrieben 4. August 2014 Melden Teilen Geschrieben 4. August 2014 Moin, am besten liest man für sowas in einem Anmeldeskript das Access Token aus. Ob das mit PS direkt geht, weiß ich nicht, aber zumindest könnte man dafür die Ausgabe von "whoami /groups" verwenden. Gruß, Nils Zitieren Link zu diesem Kommentar
WPS 10 Geschrieben 4. August 2014 Autor Melden Teilen Geschrieben 4. August 2014 Wieso ist das nicht überall verfügbar? Powershell 2.0 kann man über WSUS verteilen. Ich hab mal die Version 3.0 installiert. Wenn ich dann aber die entsprechenden cmdlets aufrufe, werden die nicht erkannt. Muss ich da nicht zwangsweise so vorgehen: http://blogs.msdn.com/b/rkramesh/archive/2012/01/17/how-to-add-active-directory-module-in-powershell-in-windows-7.aspx um das Modul nutzen zu können? $Gruppen=([system.Security.Principal.WindowsIdentity]::GetCurrent()).Groups | Foreach-Object { $_.Translate([system.Security.Principal.NTAccount])} Das sieht schon mal nicht schlecht aus, der bringt mir zwar folgende Fehlermeldung: Some or all identity references could not be translated aber speichert trozdem alle Gruppen in das Feld. Moin, am besten liest man für sowas in einem Anmeldeskript das Access Token aus. Ob das mit PS direkt geht, weiß ich nicht, aber zumindest könnte man dafür die Ausgabe von "whoami /groups" verwenden. Gruß, Nils Die Ausgabe von whoami /groups sieht auch nicht schlecht aus. Da müsste man jetzt nur noch die Gruppenamen einzel rausfiltern können. Zitieren Link zu diesem Kommentar
nemonix 2 Geschrieben 4. August 2014 Melden Teilen Geschrieben 4. August 2014 (bearbeitet) Moin, am besten liest man für sowas in einem Anmeldeskript das Access Token aus. Ob das mit PS direkt geht, weiß ich nicht, aber zumindest könnte man dafür die Ausgabe von "whoami /groups" verwenden. Gruß, Nils $Gruppen=([system.Security.Principal.WindowsIdentity]::GetCurrent()).Groups | Foreach-Object { $_.Translate([system.Security.Principal.NTAccount])} Der Befehl müsste die Infos aus dem Access Token auslesen bearbeitet 4. August 2014 von nemonix Zitieren Link zu diesem Kommentar
NilsK 2.938 Geschrieben 4. August 2014 Melden Teilen Geschrieben 4. August 2014 Moin, ach so, OK. Ich hatte das schon fast vermutet, bin aber an der Stelle in PS nicht so firm. Gruß, Nils Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.