wabutoby
Goto Top

Abfrage aus welcher OU angemeldeter User kommt und dann entsprechendes Laufwerk mappen - aber wie?

Möchte mit Kix(tart) ein Script basteln. Als absoluter "Kix-Starter" hab ich ziemliche Probleme mit der Syntax.
Ich hoff ihr könnt mir helfen...

Was möchte ich machen:

Schritt 1: Bei der Anmeldung eines Users soll geprüft werden in welcher OU sich der User befindet.

Schritt 2: Je nachdem in welcher OU er ist, wird nun ein Verzeichnis auf einem speziellen Server gemappt.

Beispiel:

User "Max" ist in der OU "User-Frankreich" --> Er soll nun vollgendes Verzeichnis gemappt bekommen: \\serverfrankreich\sharename\

oder

User "Hans" ist in der OU "User-Ungarn" --> Er soll nun vollgendes Verzeichnis gemappt bekommen: \\serverungarn\sharename\


Hab schon eines mit LDAP-Auslesen in Schleifen und IF-Abfragen probiert. Es klappt aber nicht so wie ich will...


Hat jemand eine konkreten Vorschlag?

Danke!

wabutoby

Content-ID: 159989

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

Ausgedruckt am: 05.11.2024 um 13:11 Uhr

48507
48507 02.02.2011 um 17:32:23 Uhr
Goto Top
Doofe Frage: Warum benutzt du dafür nicht die Gruppenrichtlinien?
wabutoby
wabutoby 03.02.2011 um 08:02:37 Uhr
Goto Top
Ganz einfach,
weil ich keine 10 separate GPOs erstellen möchte und somit Probleme hätte die GPOs in meiner Umgebung richtig einzurichten,
da die den "Loopbackverarbeitungsmodus für Benutzergruppenrichtlinie" mit Status "Ersetzen" anwende (muss). Ein Script für alle
wäre die Beste Lösung.
BigWim
BigWim 03.02.2011 um 09:06:17 Uhr
Goto Top
Moin,

meines Wissens kann KIX selbst nicht auf OU's abfragen, sondern nur auf Gruppen (InGroup).

Wenn es unbedingt die OU sein muß und keine Gruppenmitgliedschaft, mußt Du über einen Zwischenschritt machen. Per Batch eine Temp-Datei schreiben und diese auslesen.


Hier ein kleines Beispiel zum Lernen. So habe ich es gemacht, es gibt sicherlich auch andere (elegantere?) Möglichkeiten:

$rc = redirectoutput ("c:\temp\ou.txt", 1)  
? "[WoIsser]"  
? "OU="  
$rc = redirectoutput ("")  

shell 'cmd.exe /c dsquery User -name "' + @Userid +'" >>ou.txt'  

$ou = ReadProfileString ("c:\temp\ou.txt","WoIsser","OU")  

? "Die OU lautet $OU"  

Zeilen 1 -4 legen eine Datei mit INI-"Formatierung" an.
Zeile 6 ermittelt per Batch die OU des angemeldeten Users und hängt das Ergebnis an die vorbereitete Datei an
Zeile 8 liest das Ergebnis aus und speichert es in die Variable OU
Zeile 10 wendet sie an.

Viele Erfolg
Markus
Bodenseehost
Bodenseehost 01.03.2011 um 11:57:51 Uhr
Goto Top
Ein blick in die Kix-UDF-Library (http://www.kixtart.org/udf/):
GetUserOU

Ich denke das sollte die OU auslesen, dann kannst Du über eine Variable zuweisen was Du magst...