Zum Inhalt wechseln


Foto

Anmeldescript mit ifmember und con2prt


  • Bitte melde dich an um zu Antworten
27 Antworten in diesem Thema

#1 asot00

asot00

    Senior Member

  • 355 Beiträge

 

Geschrieben 26. August 2008 - 20:02

Ich hab ein Problem mit meinem Anmeldescript.

Das Script soll Benutzer- und Gruppenabhängig sein. Dass heißt, wenn ich mich als user "vmuser1" anmelde, möchte ich nur das Laufwerk "x: \\server\freigabe1" und nur den Drucker "\\server\Agfa" zugewiesen bekommen.

Leider werden nach Abarbeiten des Scripts alle Laufwerk und Drucker verbunden. Das gleiche gilt auch für die user "vmuser2" und "vmuser3".

Ich kann keinen Fehler sehen.


@echo off

net use * /delete /yes

\\server\netlogon\ifmember administratoren
if errorlevel 1 goto Gruppe

goto END


:Gruppe

%logonserver%\netlogon\con2prt /c "\\server\hp"
net use y: \\server\alle

goto END

if /i %username%==vmuser1 goto v1

:v1
%logonserver%\netlogon\con2prt /cd "\\server\Agfa"
net use x: \\server\freigabe1
goto END

if /i %username%==vmuser2 goto v2

:v2
%logonserver%\netlogon\con2prt /c "\\server\brother"
net use x: \\server\freigabe2
goto END

if /i %username%==vmuser3 goto v3

:v3
%logonserver%\netlogon\con2prt /c "\\server\epson"
net use x: \\server\freigabe3
goto END

:END


#2 chris_davidi

chris_davidi

    Member

  • 272 Beiträge

 

Geschrieben 26. August 2008 - 20:48

Ich habe es so gemacht und es funktioniert, ... benutze wie Du siehst kein goto.

\\vmsrvdc01\NETLOGON\IFMEMBER Standard-Benutzer
if %errorlevel%==1 (
net use P: \\freenas\shared\public
net use T: \\freenas\shared\tausch
)

passed: 70-620, 70-270, 70-290, 70-291, 70-293, 70-294, 70-297, 70-431, 70-649, 70-680
next: ???
status: MCP, MCSA 2003, MCSE 2003, MCTS: Vista Configuration, 7 Configuration, SQL Server 2005

#3 asot00

asot00

    Senior Member

  • 355 Beiträge

 

Geschrieben 27. August 2008 - 05:24

Danke. Ich werde es ausprobieren

#4 Squire

Squire

    Board Veteran

  • 3.371 Beiträge

 

Geschrieben 27. August 2008 - 05:24

kleine Ergänzung:

verwende statt \\server folgendes:

%logonserver%\netlogon\ifmember ...

Grund: Du musst das Script nicht umbauen wenn mal ein oder mehrere DCs hinzukommen

"Every once in a while, declare peace. It confuses the hell out of your enemies"


#5 chris_davidi

chris_davidi

    Member

  • 272 Beiträge

 

Geschrieben 27. August 2008 - 06:56

Hi Squire,

vielen Dank für den Tipp. Es ist tatsächlich so, dass ich zwei DCs habe und das Script nicht funktionieren würde, wenn der entsprechende Server nicht vorhanden wäre. Mit

%logonserver%

ist dies natürlich viel besser gelöst und auch flexibler wenn es noch mehr DCs werden.

Danke und Grüße,
chris_davidi
passed: 70-620, 70-270, 70-290, 70-291, 70-293, 70-294, 70-297, 70-431, 70-649, 70-680
next: ???
status: MCP, MCSA 2003, MCSE 2003, MCTS: Vista Configuration, 7 Configuration, SQL Server 2005

#6 asot00

asot00

    Senior Member

  • 355 Beiträge

 

Geschrieben 27. August 2008 - 19:46

Mein Script sieht jetzt so aus. Aber der user "vmuser1" bekommt alle Laufwerke.

@echo off

net use * /delete /yes

\\%logonserver%\netlogon\ifmember administratoren
if %errorlevel%==1(
%logonserver%\netlogon\con2prt /c "\\vmsrv01\hp"
net use y: \\vmsrv01\alle
)

if /i %username%==vmuser1(
%logonserver%\netlogon\con2prt /cd "\\vmsrv01\Agfa"
net use x: \\vmsrv01\freigabe1
)
if /i %username%==vmuser2(
%logonserver%\netlogon\con2prt /c "\\vmsrv01\brother"
net use l: \\vmsrv01\freigabe2
)
if /i %username%==vmuser3(
%logonserver%\netlogon\con2prt /c "\\vmsrv01\epson"
net use s: \\vmsrv01\freigabe3
)


#7 phoenixcp

phoenixcp

    Expert Member

  • 5.481 Beiträge

 

Geschrieben 28. August 2008 - 10:06

Und du bist zu 100% sicher das das auch das Skript ist, welches ausgeführt wird? Check nochmal, welches Skript an den Usern als Logonskript eingetragen ist und prüfe, ob es das korrekte ist.
MfG

Carsten Paul
MCSEBoard.de SQL Blog
Kein Support per PN, dafür ist das Forum da!

In Memory of LukasB

#8 asot00

asot00

    Senior Member

  • 355 Beiträge

 

Geschrieben 28. August 2008 - 11:35

Bin sehr sicher, weil ich das Script manuell ausführe.

#9 Sunny61

Sunny61

    Expert Member

  • 22.101 Beiträge

 

Geschrieben 28. August 2008 - 12:16

Bin sehr sicher, weil ich das Script manuell ausführe.


Dann mach doch mal das @echo off weg, dann siehst Du mehr. Zur Not auch mal ein Pause einfügen, zum bestätigen. Wie lautet der genaue Name der Batch oder des Scriptes?
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#10 asot00

asot00

    Senior Member

  • 355 Beiträge

 

Geschrieben 28. August 2008 - 13:42

Script heißt: script.bat

Das Script führe ich manuell in der CMD Konsole aus um mir die Fehler anzuschauen

#11 Sunny61

Sunny61

    Expert Member

  • 22.101 Beiträge

 

Geschrieben 28. August 2008 - 14:44

Script heißt: script.bat

Das Script führe ich manuell in der CMD Konsole aus um mir die Fehler anzuschauen


Dann müssten ja auch alle Drucker verbunden werden, ist das so? Lass dir doch auch mal die Variable %USERNAME% in eine Datei schreiben, damit Du siehst, welcher Inhalt da ankommt.

Auf einem Terminalserver probierst Du das nicht grade, oder? Wenn ja, dafür gibts glaube ich eine eigene Variable, bin mir aber grade nicht sicher.
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/

#12 Cybquest

Cybquest

    Expert Member

  • 1.882 Beiträge

 

Geschrieben 28. August 2008 - 15:21

Ich weiß jetzt nicht, ob's bei mir am Vista liegt, aber bei IF müssen bei mir Leerzeichen mit rein, sonst läuft es nicht korrekt!
if /i %username% == vmuser1(...

My name is Frank, you can say you to me.

#13 phoenixcp

phoenixcp

    Expert Member

  • 5.481 Beiträge

 

Geschrieben 28. August 2008 - 15:36

Also bei mir unter XP gehts ohne UND mit Leerzeichen... Grade nochmal verifiziert...
MfG

Carsten Paul
MCSEBoard.de SQL Blog
Kein Support per PN, dafür ist das Forum da!

In Memory of LukasB

#14 asot00

asot00

    Senior Member

  • 355 Beiträge

 

Geschrieben 28. August 2008 - 16:47

ich bekomme beim folgenden Script diese Ausagbe:

net use * /delete /yes


if /i %username%==vmuser1 goto vmuser1
:vmuser1
%logonserver%\netlogon\con2prt /cd "\\vmsrv01\Agfa"
net use x: \\vmsrv01\freigabe1
if /i %username%==vmuser2 goto vmuser2
:vmuser2
%logonserver%\netlogon\con2prt /c "\\vmsrv01\brother"
net use l: \\vmsrv01\freigabe2
if /i %username%==vmuser3 goto vmuser3
:vmuser3
%logonserver%\netlogon\con2prt /c "\\vmsrv01\epson"
net use s: \\vmsrv01\freigabe3
:end

---------------------------------------------------------
Ausgabe in txt
C:\>net use * /delete /yes
Sie verf�gen �ber folgendene Remoteverbindungen:

L: \\vmsrv01\freigabe2
S: \\vmsrv01\freigabe3
X: \\vmsrv01\freigabe1
Fortsetzen beendet die Verbindungen.

Der Befehl wurde erfolgreich ausgef�hrt.


C:\>if /I vmuser3 == vmuser1 goto vmuser1

C:\>\\VMSRV01\netlogon\con2prt /cd "\\vmsrv01\Agfa"
Connected to printer: \\vmsrv01\Agfa.
Set the printer: \\vmsrv01\AGFA-AccuSet 800 as your default printer.

C:\>net use x: \\vmsrv01\freigabe1
Der Befehl wurde erfolgreich ausgef�hrt.


C:\>if /I vmuser3 == vmuser2 goto vmuser2

C:\>\\VMSRV01\netlogon\con2prt /c "\\vmsrv01\brother"
Connected to printer: \\vmsrv01\brother.

C:\>net use l: \\vmsrv01\freigabe2
Der Befehl wurde erfolgreich ausgef�hrt.


C:\>if /I vmuser3 == vmuser3 goto vmuser3

C:\>\\VMSRV01\netlogon\con2prt /c "\\vmsrv01\epson"
Connected to printer: \\vmsrv01\epson.

C:\>net use s: \\vmsrv01\freigabe3
Der Befehl wurde erfolgreich ausgef�hrt.

------------------------------------------------------
Er verbindet alle Laufwerke. Unlogisch

#15 Sunny61

Sunny61

    Expert Member

  • 22.101 Beiträge

 

Geschrieben 28. August 2008 - 17:28

Wie editierst Du das Script? Mittels edit auf der Comandline? Wenn nein, dann probiers mal damit. Insgesamt sieht das schon sehr komisch aus. Gibts bei SET überhaupt die Variabld %USERNAME% bei diesem Client?
Gruppenrichtlinien: http://www.gruppenrichtlinien.de/