Jump to content

Batch Skript - Netzlaufwerk nur bei bestimmter Benutzer Anmeldung


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

Empfohlene Beiträge

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ß

Link zu diesem Kommentar

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ß

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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ß

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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 :)

Link zu diesem Kommentar
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ß

Link zu diesem Kommentar

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

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...