modem 10 Geschrieben 19. Februar 2009 Melden Teilen Geschrieben 19. Februar 2009 Hallo, ich habe ein Anmelde Skript (Batch) mit dem Netzlaufwerke verbunden werden. Nun möchte ich ein zusätzliches Netzlaufwerk beim Anmelden verbinden sobald sich Benutzer XYZ anmeldet. Momentan sieht das Skript so aus: @echo off net use * /delete /yes net use t: \\testserv1\testdir1 net use u: \\testserv2\testdir2 net use v: \\testserv3\testdir3 if "%username%"=="XYZ" goto userok if not "%username%"=="XYZ" goto ende :userok net use x: \\testserv4\testdir4 :ende Leider kenne ich ich mit Batch Skripten nicht aus und wollte fragen wo hier der Fehler steckt. gruß Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 19. Februar 2009 Melden Teilen Geschrieben 19. Februar 2009 Wo liegt denn das Problem? Was bekommst du denn für einen Fehler? Oder wo siehst du aktuell den Fehler? Zitieren Link zu diesem Kommentar
modem 10 Geschrieben 19. Februar 2009 Autor Melden Teilen Geschrieben 19. Februar 2009 Hallo phoenixcp, es erscheint kein Fehler während der verarbeitung wenn ich dieses am Ende pausieren lasse. Das gewünschte Netzlaufwerk wird jedoch nicht verbunden bzw. gemappt. Ein Rechteproblem schiesse ich aus da es als Anmeldescript für alle angemeldeten Benutzer läuft und die anderen Netzlaufwerke einwandfrei verbunden werden. Der Benutzername ist ebenfalls korrekt. Was ich vergessen habe zu erwähnen, es handelt sich um einen Domänen Client. Kann es sein das ich im Script noch den Computernamen mit angeben muss? Wenn ja, wie würde der Code hierfür aussehen? gruß Zitieren Link zu diesem Kommentar
d.stegemann 10 Geschrieben 19. Februar 2009 Melden Teilen Geschrieben 19. Februar 2009 Hallo modem, schau mal hier : http://www.mcseboard.de/windows-forum-lan-wan-32/login-bat-login-cmd-12669.html#post71069 -- IF /I %username%==Test1 goto Sprungmarke1 -- ist denke ich mal der interessanteste Teil daran.. Gruß Dirk Zitieren Link zu diesem Kommentar
modem 10 Geschrieben 19. Februar 2009 Autor Melden Teilen Geschrieben 19. Februar 2009 Hallo d.stegemann, danke erstmal, kann es erst morgen testen. Was mir gleich aufällt ist, dass %username% IF /I %username%==Test1 goto Sprungmarke1 ohne " " aufgeführt ist. Hängt dies mit dem Parameter /I zusammen? Versuche die Skriptänderung morgen und berichte :-) gruß Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 19. Februar 2009 Melden Teilen Geschrieben 19. Februar 2009 geht in die gleiche Richtung :) https://www.mcseboard.de/windows-forum-scripting-71/runas-savecred-2-147478.html#post911114 cu blub Zitieren Link zu diesem Kommentar
d.stegemann 10 Geschrieben 20. Februar 2009 Melden Teilen Geschrieben 20. Februar 2009 Hallo blub, ich danke dir für dieses herrliche Powershell Script. Jetzt musst du mir aber noch erklären, was das speichern, bzw. verschlüsselte speichern über die .Net Klasse System.Security.SecureString als alternative zu runas/savecred mit dem mappen eines benutzerabhängigen(Stringvergleich) Laufwerks in einer Batch zu tun hat:confused: Sollte ich das einfach nicht blicken, dann :o ich mich auch dafür und setz mich in die Ecke und :cry: Gruß Dirk Zitieren Link zu diesem Kommentar
modem 10 Geschrieben 20. Februar 2009 Autor Melden Teilen Geschrieben 20. Februar 2009 Hallo, also IF /I %username%==Test1 goto Sprungmarke1 will nicht ziehen. Habe das Skript mal lokal im Netz mit einem Netzlaufwerk getestet, da wird das Laufwerk immer verbunden, egal welcher Benutzer sich anmeldet. Man hat das Gefühl das diese IF Anweisung gar nicht akzeptiert bzw. verarbeitet wird. Wenn ich dann mit Anführungsstrichen rumspiele kommen so Meldungen wie "syntaktisch nicht verarbeitbar", also sollte die IF Anweisung ja doch verarbeitet werden. gruß Edit: Hallo, um es kurz zu machen, habe dem Benutzer nun einfach ein seperates Anmeldeskript mit den entsprechenden Netzlaufwerken zugewiesen. Zwar ein Anmeldeskript mehr vorhanden, aber Ziel erreicht :-) gruß Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 20. Februar 2009 Melden Teilen Geschrieben 20. Februar 2009 Moin, dein Problem wird mit Sicherheit die IF-Syntax sein. IF vergleicht normalerweise case-sensitive, so zumindest in deinem ersten Beispiel. Da %username% den Anmeldenamen aber so enthält, wie der User ihn eingetippt hat, schlägt der Vergleich natürlich leicht fehl. Daher der Schalter /I, mit dem auf case-insensitive umgeschaltet wird. Vergleiche in einem Batch mit IF brauchen eigentlich keine Anführungsstriche. Die sind nur da, um beim Tippen weniger Fehler zu produzieren. Gruß, Nils Zitieren Link zu diesem Kommentar
modem 10 Geschrieben 20. Februar 2009 Autor Melden Teilen Geschrieben 20. Februar 2009 Hallo NilsK, vielen Dank für die Information. Das mit case-senstitive hatte ich gar nicht beachtet. Habe das gerade getestet und es funktionierte soweit. Die Meldung bzgl. syntaktisch wird wohl hingehören da der Vergleich negativ ausfiel. gruß Zitieren Link zu diesem Kommentar
d.stegemann 10 Geschrieben 20. Februar 2009 Melden Teilen Geschrieben 20. Februar 2009 Dann kann ich ja mit nachbauen aufhören :) Zitieren Link zu diesem Kommentar
modem 10 Geschrieben 20. Februar 2009 Autor Melden Teilen Geschrieben 20. Februar 2009 Hallo d.stegemann, nachbauen, so ein riesen Skript ist das aber nicht, sofern du dich darauf beziehst ;-) Darfst aber gerne mal dein Skript posten, so wie es bei dir auch funktioniert. gruß Zitieren Link zu diesem Kommentar
d.stegemann 10 Geschrieben 20. Februar 2009 Melden Teilen Geschrieben 20. Februar 2009 Hallo modem, ich muss schon User anlegen, script machen, Shares machen.Kiste anschmeissen... Anmelden, abmelden. schauen. Das dauert ein paar Minuten. Auch sitze ich hier nicht den ganzen Tag vor der Kiste um zu warten, das ein neues Posting auftaucht;) Ich habe 2 User angelegt. willi und willi1. beide benutzen eine test.cmd, die im Netlogon liegt. Dieser Code hat bei mir eigentlich ganz wunderbar funktioniert(unter der Voraussetzung, das man beim Anmelden auch willi bzw. willi1 als Bentzername reinschreibt.Ansonsten brauchst du, wie von Nils bereits erläutert, /i)... net use * /delete /yes net use x: \\Server\freigabe1 IF not %username%==willi goto ende IF %username%==willi goto userok :userok net use w: \\Server\freigabe2 :ende Gruß Dirk PS: Man kann Loginscripts auch mit vbs machen und per GPO zuweisen :) Zitieren Link zu diesem Kommentar
modem 10 Geschrieben 20. Februar 2009 Autor Melden Teilen Geschrieben 20. Februar 2009 Hallo modem, ich muss schon User anlegen, script machen, Shares machen.Kiste anschmeissen... Anmelden, abmelden. schauen. Das dauert ein paar Minuten. Auch sitze ich hier nicht den ganzen Tag vor der Kiste um zu warten, das ein neues Posting auftaucht;) Hallo d.stegemann, so war das nicht gemeint ;) , da die meisten hier schon diverse Umgebungen haben bin ich ebenfalls davon ausgegangen. Und dann wäre das Skript schnell getestet. Zu deinem PS, daran dachte ich auch schon, jedoch hören meine Kenntnisse da auf. Werde mich mal umschaun ob es hiermit dann nicht leichter zu handlen ist. gruß Zitieren Link zu diesem Kommentar
d.stegemann 10 Geschrieben 20. Februar 2009 Melden Teilen Geschrieben 20. Februar 2009 Zu deinem PS, daran dachte ich auch schon, jedoch hören meine Kenntnisse da auf. Fragen zu wsh, powershell,... werden in diesem Forum auch beantwortet :) Im Moment ist, denke ich, deine batch Lösung einfacher. Wenn du aber noch 5,6 oder mehr Sonderlocken fahren musst/willst wird das mit ner Batch langsam unschön. Ist zumindest meine Meinung. Gruß Dirk 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.