Jump to content

Benutzergruppenabhängiges Anmeldescript


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

In Abhängigkeit davon in welcher Benutzergruppe ein User ist soll bei seiner Citrix Anmeldung ein bestimmter Registry Key eingetragen werden.

 

Bislang handelt es sich um 8 verschiedene Benutzergruppen und ebensoviele Registry Keys.

 

Ich habe bereits ein Loginscript, das bei der Anmeldung abfragt, ob der user in einer bestimmten Gruppe ist: -> wenn nicht: nächste gruppenabfrage, -> wenn ja: Registry Key via Batch File Setzen.

 

Leider läuft das bei der Anmeldung nicht. Führe ich das Script manuell aus geht es wunderbar. Ich habe es auch schon mit einer Zeitverzögerung zu beginn des Scripts versucht. bis 30 sec. Verzögerung brachte dies keinen erfolg und eine längere Wartezeit ist den Usern nicht zuzumuten.

 

Gibt es eine Möglichkeit ein Loginscript an die Benutzergruppe zu hängen?

Um dies auf Benutzerebene zu machen sind es zu viele User und zu häufige Ändereungen.

 

Danke schonmal!

Link zu diesem Kommentar

Eine weitere Möglichkeit wäre, das Script über ein GPO-Anmeldescript laufen zu lassen. Welche Gruppe nun welches Script bzw. GPO anwendet, wird mit Hilfe der Sicherheitsfilterung festgelegt. Allerdings benötigst Du dann auch so viele GPOs, wie Du Gruppen hast, ebenso diese Menge an Anmeldescripten.

Poste doch mal den Inhalt Deines Scriptes, vielleicht kann man ja was sehen.

edit: und wieder zu spät :D

Link zu diesem Kommentar

Es IST ein KIX Script. aber es läuft eben nicht so wie es soll. :mad:

Danke für die Vorschläge mit den GPOs. Das klingt für mich auch nach dem sinnvollsten weg. Aber durch das aktivierte Loopback haut das leider nicht hin.

außerdem hätte mein Kollege das gerne mit dem (einem) anmeldescript gelöst.

 

Ich versuche mich grade in VBS einzuarbeiten und das script umzubasteln... hab aber bislang leider keinerlei ahnung vom Scripting.

 

 

Hier mal ein Auszug (die letzten 5abfrageroutinen habich mal weggelassen):

 

$AcToken=""

$index=0

do

$group=enumgroup($index)

$index=$index+1

$AcToken = $AcToken + $group

until len($group)=0

$index=0

do

$lgroup=enumlocalgroup($index)

$index=$index+1

$AcToken = $AcToken + $lgroup

until len($lgroup)=0

 

$NETPATH =%LOGONSERVER%+"\NETLOGON\"

 

 

;okfis000

IF INGROUP("okf000") AND exist ($NETPATH+"OKFIS000.kix")

Call $NETPATH+OKFIS000.kix

;gosub "ENDE"

ENDIF

 

;okfis000t

IF INGROUP("okf000t") AND exist ($NETPATH+"OKFIS000t.kix")

Call $NETPATH+OKFIS000t.kix

;gosub "ENDE"

ENDIF

 

;okfis410

IF INGROUP("okf410") AND exist ($NETPATH+"OKFIS410.kix")

Call $NETPATH+OKFIS410.kix

;gosub "ENDE"

ENDIF

.

.

.etc

Link zu diesem Kommentar

hi

 

wenn es mal umfangreicher sein soll/muss, dann haben wir mit net use und ifmemberr nicht unbedingt die besten erfahrungen bisher gemacht.

 

deshalb nutzen wir sehr oft kixstart. ifmember arbeitet bei der gruppenindentifizierung mit den lokalen sicherheitsgruppen, wohin gegen kixstart mit den globalen arbeitet. wenn man das weiß, ist die halbe miete schon mal im sack.

 

hier ein "kleines" beispiel:

 

 

 

Break off

SetConsole("HIDE")

FlushKB

 

 

; -----

; $Variablen für die Server setzen.

; -----

 

$FileServer = "Fileserver_Name" ; 1. Domänencontroller (File- und Printserver)

$SQLServer = "SQLServer_Name" ; 2. Domänencontroller (SQL- Server)

 

 

 

 

; -----

; $Variablen für die Freigabe der $DataVol setzen (Datavol ist das Freigabeverzeichnis auf dem FileServer)

; -----

 

$DataVOL= "Sharename"

 

 

 

; -----

; $Variablen für die GruppenOrdner - unter $DataVol setzen (Gruppen siehe unterhalb der OUs in der AD).

; -----

 

 

If InGroup("Buchhaltung.global") OR @PRIMARYGROUP = "Buchhaltung.global"

$Group = "Buchhaltung"

EndIf

 

 

 

; -----

; Gruppenzugehörigkeit ermitteln und enstprechende Laufwerkmappings erstellen.

; -----

 

; -----

;Buchhaltung

; -----

 

 

;If @PRIMARYGROUP = "Buchhaltung.global"

If InGroup("Buchhaltung.global") OR @PRIMARYGROUP = "Buchhaltung.global"

 

; -----

; Auf Laufwerksbuchstaben bzw. verknüpfungen überprüfen und ggf. löschen

; -----

 

 

 

If (Exist("M:\.") = 1)

Use M: /delete /persistent

EndIf

If (Exist("P:\.") = 1)

Use P: /delete /persistent

EndIf

If (Exist("Q:\.") = 1)

Use Q: /delete /persistent

EndIf

If (Exist("R:\.") = 1)

Use R: /delete /persistent

EndIf

 

; -----

; Userbezogene Laufwerksverknüpfungen erstellen.

; -----

 

; -----

; Userbezogene Laufwerksverknüpfungen erstellen.

;

; M: = Buchhaltungsordner auf $FileServer / $DATAVOL

; P: = persönliches UserShare Verzeichnis

; Q: = Abteilung / Sharelaufwerk

; R: = Abteilung / Abteilungsvorlagen

; -----

 

Use M: "\\$FileServer\ShareBuchaltung"

Use P: "\\$FileServer\$DataVol\$Group\@USERID"

Use Q: "\\$FileServer\$DataVol\$Group\GroupShare"

Use R: "\\$FileServer\$DataVol\$Group\GroupVorlagen"

 

 

Gosub "GlobalDrive" ; Verweis auf allgemeine Share / Freigaben - Gruppenunabhängig

EndIf

 

 

; -----

; DC/Globale Ordner für die User mappen

; -----

 

:GlobalDrive ; allgemeine Share / Freigaben - Gruppenunabhängig

 

; -----

; Auf Laufwerksbuchstaben bzw. verknüpfungen überprüfen und ggf. löschen

; -----

 

If (Exist("T:\.") = 1)

Use T: /delete /persistent

EndIf

 

If (Exist("U:\.") = 1)

Use U: /delete /persistent

EndIf

 

 

Use T: "\\$FileServer\$DataVol\GlobalShareVorlagen" ; Global / gruppenunabhängige Vorlagen

Use U: "\\$FileServer\$DataVol\GlobalShare" ; Global / gruppenunabhängiges Share-Laufwerk

 

 

 

 

; *********************

; * End of the Script *

; *********************

 

 

da ich das ganze für hier etwas umschreiben musste, hoffe ich, dass mir dabei keine fehler unterlaufen sind. variablen anpassen und einfach prüfen :cool:

 

vielleicht hilft das ganze ja schon weiter. ;)

 

gruß

 

rené

Link zu diesem Kommentar

Danke euch allen für die Beiträge und ratschläge.

 

Wir haben jetzt aber auch die Lösung gefunden... nachdem wir uns zu dritt davorgesetzt haben und das

ganze script schritt für schritt gedebuggt haben.

 

Lösung: Das Script ruft verschiedene Batch-Files auf, die die registry Keys setzen. soweit klappt alles.

Was wir vergessen / übersehen habe waren die Pfade innerhalb der Batch Dateien. nachdem wir die vollständigen

Pfade für alle Dateien angegeben haben lief es. Die "PATH-Variablen" sind während der Anmeldung noch nicht

gesetzt. daher die Probleme.

 

Aber mal ehrlich: Dakommt man doch auch nicht drauf, oder ?

 

Wir haben das gesamte Script umgekrempelt um nachher doch wieder die Originale version zu nehmen.

Link zu diesem Kommentar

hallo m@verick,

 

warum nimmst du externe batch-dateien zur hilfe? du kannst reg-einträge auch wunderbar innerhalb von kixstart setzen,löschen und ändern lassen.

 

 

hier mal ein beispiel für die laufwerksbenennung:

 

; Laufwerksnamen unter Windows 2000

 

 

If @PRODUCTTYPE = "Windows 2000 Professional"

 

$mDrive = "I:\"

$oShell = CreateObject("Shell.Application")

$oShell.NameSpace($mDrive).Self.Name = "@FULLNAME"

 

Else

 

; Laufwerksnamen unter Windows XP

 

WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##$FileServer#$DataVol","_LabelFromReg","@FULLNAME","REG_SZ")

 

EndIf

 

 

If @PRODUCTTYPE = "Windows XP Professional"

 

$mDrive = "L:\"

$oShell = CreateObject("Shell.Application")

$oShell.NameSpace($mDrive).Self.Name = "SQL Laufwerk"

 

Else

 

; Laufwerksnamen unter Windows XP

 

WriteValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##$SQLSERVER#$SQLVOL","_LabelFromReg","SQL SAP Laufwerk","REG_SZ")

 

EndIf

 

wie du sehen kannst, habe ich dort auch mit den variablen gearbeitet. wenn du mehr infos haben möchtest, dann frag nach ;)

 

 

 

gruß

 

rené

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...