CeDeZ 0 Geschrieben 23. März 2015 Melden Teilen Geschrieben 23. März 2015 (bearbeitet) Guten Abend zusammen, ich hatte mir ein Beispielscript zum mappen von einem Netzlaufwerk besorgt (vbs) und ergänzt. Ich bin folgendermaßen vorgegangen: Im AD habe ich eine neue Sicherheitsgruppe angelegt und dem entsprechenden User die Mitgliedschaft gegeben. Anschließend wollte ich mit folgendem Script das Laufwerk "P" einbinden. Leider passiert überhaupt nichts. Script ist natürlich auch in den GPOs entsprechend zugeteilt aber weder da, noch beim manuell ausführen passiert etwas. '=========================================================================='=========================================================================='Ausblenden eventueller Fehlermeldungen'--------------------------------------------------------------------------on error resume next'--------------------------------------------------------------------------'Instanzieren des Windows Scripting Hosts'--------------------------------------------------------------------------Set appShell = CreateObject("Shell.application")Set appShFolder = appShell.Namespace(17)Set wshShell = CreateObject("WScript.Shell")Set wshNetwork = CreateObject("WScript.Network")Set adSysInfo = CreateObject("ADSystemInfo")DomainString = wshNetwork.UserDomainUserString = wshNetwork.UserNameSet UserObj = GetObject("WinNT://" & DomainString & "/" & UserString)Server="Servername"'--------------------------------------------------------------------------'Löschen eventuell bestehender Networkconnections'--------------------------------------------------------------------------wshNetwork.RemoveNetworkDrive "P:"'--------------------------------------------------------------------------'Netzwerklaufwerke die in abhängigkeit von Gruppen verbunden werden'Wichtig es werden hier nur Gruppen berücksichtigt die beim Userobjekt eingetragen sind'--------------------------------------------------------------------------For Each GroupObj In UserObj.Groups Select Case UCase(GroupObj.Name) Case "Gruppenname" ' Zusätzliches Laufwerke für Mitglieder Gruppenname verbinden wshNetwork.MapNetworkDrive "P:", "\\"&Server&"\Freigabename" End SelectNext'--------------------------------------------------------------------------'Umbenennen der Netzlaufwerke'-------------------------------------------------------------------------- For Each appShFolderItem In appShFolder.Items Select Case appShFolderItem.Path Case "P:\" appShFolderItem.Name = "Freigabename" End SelectNextWScript.quit bearbeitet 23. März 2015 von CeDeZ Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 23. März 2015 Melden Teilen Geschrieben 23. März 2015 (bearbeitet) Hallo, funktioniert das Skript denn mit händischen Ausführen durch den Benutzer? Wird es vollständig ausgeführt oder vorzeitig beendet, abgebrochen? Ich habe heute einer Lady einen neuen Rechner verpasst in einer anderen Domäne, sie muss aber auch noch auf Freigaben meiner Domäne zugreifen. Auf ein Anmeldeskript dafür habe ich verzichtet, ich habe sie angeleitet, sich selbst die Netzlaufwerkverbindung mit dem Explorer herzustellen, sie kann das jetzt. bearbeitet 23. März 2015 von lefg Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 23. März 2015 Autor Melden Teilen Geschrieben 23. März 2015 durch das händische ausführen passiert leider auch nichts. Mit anderen Sicherheitsgruppen, die schon vor meiner Zeit eingerichtet wurden, funktioniert es komischerweise. Der UNC Pfad stimmt auch und ich komme auch auf die Freigabe drauf wenn ich den Pfad im Explorer ansteuer. Netzlaufwerksverbindungen manuell herstellen würde nicht funktionieren, selbst mit einer vorgefertigten batch, da der Arbeitsablauf optimiert werden soll. Zitieren Link zu diesem Kommentar
daabm 1.366 Geschrieben 23. März 2015 Melden Teilen Geschrieben 23. März 2015 Dunkle Erinnerung - der WinNT-Provider ist ja schon etwas älter :) Die Gruppe ist eine globale Gruppe? Und der WinNT-Provider kennt nur domänenlokale Gruppen? Zitieren Link zu diesem Kommentar
Dukel 457 Geschrieben 23. März 2015 Melden Teilen Geschrieben 23. März 2015 Wieso per Script und GPO und nicht per GPP? Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 23. März 2015 Autor Melden Teilen Geschrieben 23. März 2015 (bearbeitet) alle Gruppen sind globale Gruppen, war auch meine Vermutung, dass ich da vlt etwas falsch eingestellt hab :/ Mit 2 Gruppen, welche schon existierten funktioniert es wie gesagt (beides globale Gruppen) und mit der neuen nicht (auch eine globale Gruppe) Wieso per Script und GPO und nicht per GPP? Setze mich erst seit kurzem mit Servern auseinander und hatte bis jetzt nur eine größere Servermigration durchgeführt, wo schon Logon Scripts bzw. Druckerscripts vordefiniert waren und deswegen kenne ich mich damit noch nicht wirklich aus :-) . Nach und nach soll es natürlich alles weiter aufgegliedert werden (z.B. verschiedene Standorte) und deshalb hänge ich jetzt an dem Logonscript für einen bestimmten Standort fest. Im Endeffekt sollen für jeden Standort bestimmte Gruppen existieren mit entsprechenden Druckern und Netzlaufwerken, die eingebunden werden sollen bearbeitet 23. März 2015 von CeDeZ Zitieren Link zu diesem Kommentar
daabm 1.366 Geschrieben 23. März 2015 Melden Teilen Geschrieben 23. März 2015 (bearbeitet) Ok. Was wäre mit Ausgabe der gefundenen Gruppennamen? Vielleicht nur ein Zwiespalt zwischen sAMAccountName und CN der Gruppen? For Each GroupObj In UserObj.Groups WScript.Echo GroupObj.Name Select Case UCase(GroupObj.Name)PS: Ich würde beim Skript bleiben statt GPP zu verwenden - GPP ist gut und schön, aber irgendwann verlierst Du den Überblick, wer nun aufgrund welcher Gruppenmitgliedschaft in welcher Reihenfolge welchen Laufwerksbuchstaben verbunden bekommt :D bearbeitet 23. März 2015 von daabm 1 Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 23. März 2015 Autor Melden Teilen Geschrieben 23. März 2015 Ok. Was wäre mit Ausgabe der gefundenen Gruppennamen? Vielleicht nur ein Zwiespalt zwischen sAMAccountName und CN der Gruppen? For Each GroupObj In UserObj.Groups WScript.Echo GroupObj.Name Select Case UCase(GroupObj.Name)PS: Ich würde beim Skript bleiben statt GPP zu verwenden - GPP ist gut und schön, aber irgendwann verlierst Du den Überblick, wer nun aufgrund welcher Gruppenmitgliedschaft in welcher Reihenfolge welchen Laufwerksbuchstaben verbunden bekommt :D Also da wird die Gruppe auf jedenfall ausgegeben. Gibt es evtl. Beschränkungen bei der Zeichenlänge? Unwahrscheinlich oder? Der Gruppenname ist 18 Zeichen lang Zitieren Link zu diesem Kommentar
daabm 1.366 Geschrieben 23. März 2015 Melden Teilen Geschrieben 23. März 2015 Wenn der Gruppenname beim Echo ausgegeben wird, beim Select Case dann aber übersprungen: Hast Du Non-ASCII Zeichen drin? Umlaute? Eine Längenbeschränkung gibt es, aber die liegt für WinNT IMHO bei 20 Zeichen. Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 23. März 2015 Autor Melden Teilen Geschrieben 23. März 2015 (bearbeitet) Wenn der Gruppenname beim Echo ausgegeben wird, beim Select Case dann aber übersprungen: Hast Du Non-ASCII Zeichen drin? Umlaute? Eine Längenbeschränkung gibt es, aber die liegt für WinNT IMHO bei 20 Zeichen. Beides nicht und auch keine Leerzeichen sondern alles zusammengeschrieben Update: ich weiß nicht warum aber ich hab nochmal ne neue Gruppe erstellt mit anderem kurzen namen und jetzt funktioniert es. (evtl. weil der Präfix bei der nicht funktionierenden Gruppe der gleiche war wie bei einer vorhandenen?) Trotzdem Danke an alle für die Tipps :-) PS: Ist es besser verschiedene Gruppenrichtlinienobjekte für den Login anzulegen für unterschiedliche Standorte? Oder kann ich die verschiedenen Scripts jeweils in ein "Logon" Objekt einfügen? (das Script enthält ja case anweisungen für die verschiedenen Benutzergruppen der Standorte) bearbeitet 24. März 2015 von CeDeZ Zitieren Link zu diesem Kommentar
daabm 1.366 Geschrieben 24. März 2015 Melden Teilen Geschrieben 24. März 2015 Zu Deinem "PS" hätte ich einen guten Rat: Nimm ein einziges Skript für alles und überall. Sonst suchst Du Dir später wieder einen Wolf. An den Standort kommst Du auch anders ran - notfalls sogar aus der Registrierung (HKLM\System\CCS\Services\Netlogon\Parameters:DynamicSiteName). Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 30. März 2015 Autor Melden Teilen Geschrieben 30. März 2015 Zu Deinem "PS" hätte ich einen guten Rat: Nimm ein einziges Skript für alles und überall. Sonst suchst Du Dir später wieder einen Wolf. An den Standort kommst Du auch anders ran - notfalls sogar aus der Registrierung (HKLM\System\CCS\Services\Netlogon\Parameters:DynamicSiteName). Im Netlogon Ordner habe ich momentan jeweils 1 Drucker und 1 Loginscript pro Standort. Es gibt insgesamt 3 Standorte, von daher ist es noch einigermaßen übersichtlich. Wenn die AD Gruppennamen am Anfang gleich sind dann funktioniert es nicht mit dem Script ist mir aufgefallen. Wie könnte ich das deiner Meinung nach anders lösen? Versteh nicht wie es mit den Standorten anders funktionieren soll Zitieren Link zu diesem Kommentar
daabm 1.366 Geschrieben 30. März 2015 Melden Teilen Geschrieben 30. März 2015 Was meinst Du mit "am Anfang gleich" genau - bis zu welchem (wievieltem) Zeichen? Und was genau bedeutet "funktioniert nicht"? Viele viele "wscript.echo" helfen - oder ein Skript-Editor, mit dem man debuggen kann :) Das mit den Standorten: Heute machst Du unterschiedliche Skripte für verschiedene Standorte. Morgen machst Du nur noch ein Skript, das den Standort ermittelt und dann skriptintern unterschiedlich reagiert. Finde ich persönlich übersichtlicher... 1 Zitieren Link zu diesem Kommentar
CeDeZ 0 Geschrieben 30. März 2015 Autor Melden Teilen Geschrieben 30. März 2015 Was meinst Du mit "am Anfang gleich" genau - bis zu welchem (wievieltem) Zeichen? Und was genau bedeutet "funktioniert nicht"? Viele viele "wscript.echo" helfen - oder ein Skript-Editor, mit dem man debuggen kann :) Das mit den Standorten: Heute machst Du unterschiedliche Skripte für verschiedene Standorte. Morgen machst Du nur noch ein Skript, das den Standort ermittelt und dann skriptintern unterschiedlich reagiert. Finde ich persönlich übersichtlicher... bei den ersten bei 3 Zeichen ist mir das z.B. schon aufgefallen. D.h. das script für die netzlaufwerke z.B. beinhaltet einen Case "FLPStandort1", das nächste script für den anderen Standort entsprechend "FLPStandort2". Dann funktioniert es nicht. Verwende ich aber FLPStandort1 und für den nächsten nur Standort2 dann läuft es ohne probleme... ergibt für mich keinen sinn und ich mach bestimmt auch nur irgendetwas falsch aber ich komm bis jetzt einfach nicht drauf :-D ... das mit den Standorten hört sich gut an, aber da es Neuland für mich ist werd ich mich da nach und nach ranwagen :-) aber klasse tipp! Zitieren Link zu diesem Kommentar
daabm 1.366 Geschrieben 31. März 2015 Melden Teilen Geschrieben 31. März 2015 Du weißt, daß Gruppen zwei Namen haben? Den CN und den sAMAccountName - die müssen nicht unbedingt identisch sein (sollten aber dringend, sonst wird's unübersichtlich :) ) 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.