Jump to content

Laufwerkszuordnung in verschachtelten Gruppen


Recommended Posts

Hallo,

 

Gibt es eine Möglichkeit während des Logons die Verschachtelung von Gruppen auszuwerten?

Hintergrund:

Bei uns werden diverse Laufwerke beim Logon des Benutzers gemappt.

 

Dies erfolgt mit einem VB Script
 

If MemberOf(ObjGroupDict, "Laufwerk-Allgemein") Then
    wshNetwork.MapNetworkDrive "g:", "\\Server01\Allgemein"
End If

 

Das funktioniert auch sehr gut, solange der Benutzer wirklich direkt Mitglied der Gruppe "Laufwerk-Allgemein" ist.
Ist er jedoch nur Mitglied der Gruppe sec-all-QMH die Mitglied der "Laufwerk-Allgemein" Gruppe ist, wird der Code oben nicht ausgeführt.

 

Danke

Thomas

Edited by Alith Anar
einen von vielen Typos korrigiert
Link to post
vor 6 Stunden schrieb Alith Anar:
 

Gibt es eine Möglichkeit während des Logons die Verschachtelung von Gruppen auszuwerten?

Ja. Nicht die memberOF-Funktion in VBS benutzen ;-)

GPP, oder halt die Funktion erweitern, so dass sie Rekursion benutzt. Oder, wie @NilsK angedeutet hat, whoami und dann die Ausgabe nach der gewünschten Gruppe durchflöhen.

Link to post

Moin,.

 

Aber warum das AD fragen, wenn die Information schon vollständig lokal vorliegt? TokenGroups ist interessant, wenn man die Daten für ein anderes bzw. beliebiges Konto abfragen will. Hier geht es aber um das eigene. 

 

Gruß, Nils

Link to post
vor 2 Stunden schrieb NilsK:

Aber warum das AD fragen, wenn die Information schon vollständig lokal vorliegt

Um nicht DOS-Befehle in Skripten aus anderen Sprachen verwenden und deren Ausgabe parsen zu müssen. Aber performance-technisch hast Du absolut recht.

Eigentlich müsste man mal schauen, welche API whoami aufruft, und einen Wrapper in PowerShell bzw. VBS basteln.

Link to post

Moin,

 

Naja, "DOS-Befehle" trifft ja nun nicht zu. whoami.exe ist ein Dienstprogramm wie viele andere auch. Solange es keinen Grund gibt, etwas in Powershell neu zu implementieren, was es bereits gibt, bin ich immer sehr dafür, das Vorhandene zu verwenden.

 

Gruß, Nils

Link to post

Moin,

etwas, was unformatierten Text, der auch noch Locale-spezifisch ist, auf den stdout ausspuckt, ist für mich ein DOS-Befehl. Es steht nirgends geschrieben, dass "Befehle" ausschließlich als Teil der cmd.exe implementiert sein müssen, es geht also eher um die Art der Eingabe und Ausgabe - UND darum, ob ein neuer Prozess gestartet werden muss, um das gewünschte Ergebnis zu erreichen. Für einen gelegentlichen beaufsichtigten Aufruf durch den Operator mag das Prinzip "lieber sich ums Bewährte verrenken als das Neue debuggen zu müssen" durchaus ökonomisch sinnvoll sein. Wenn man aber Tools baut, die jahrelang unbeaufsichtigt, zum Teil in vorher unbekannten Umgebungen, laufen sollen, sieht die Ökonomie bisweilen anders aus.

Link to post

Mein Problem ist doch nicht, *wie* man genügend PowerShell oder VBS um einen DOS-Befehl strickt, damit es tut, sondern *dass* man es machen muss, um etwas zu erreichen, das evtl. mit einem API-Aufruf bessere (z.B. von der Systemsprache unabhängige) Ergebnisse liefert.

 

Und in dieser unseren Zeit ist das Ereignis "powershell.exe spawned a child process" etwas, was regelmäßig für Gesprächsbedarf sorgt.

Link to post

Moin,

 

Mag ja sein, aber behalten wir doch mal in Auge, worum es in diesem Thread geht. 

 

Du kannst auch gern eine Lösung posten, die nur mit Powershell arbeitet ...

 

Gruß, Nils

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...