Jump to content

Netzlaufwerk abhängig von Eingabe verbinden


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

Recommended Posts

Hi, also ich hab mal folgendes Problem. Ich mach hier grad nen Script das bei der Anmeldung von Nutzern ausgeführt wird. Vom Prinzip machts nichts anderes als ein Netzlaufwerk zu verbinden, abhängig von der Eingabe die der Nutzer macht. Es funktioniert soweit auch ganz gut, das Problem ist das bei falscher Eingabe eine erneute Eingabe möglich sein soll.

 

bisher schaut das Ding so aus:

 

On Error Resume Next
'ALTES NETZLAUFWERK TRENNEN
Set WshNetwork = CreateObject ("WScript.Network")
WshNetwork.RemoveNetworkdrive "L:"
'ABFRAGE NACH RAUMNUMMER
Abfrage = InputBox("Bitte Raumnummer des Hörsaals angeben zu dem ein Netzlaufwerk verbunden werden soll    Beispiel: 8-1-108",,"Transfer-01")
'-------------------------------------------------------------------------------------------------------------------------------
'VERBINDUNG WIRD HERGESTELLT FÜR Transfer-01
IF Abfrage="Transfer-01" then
Set objnet = CreateObject("WScript.Network")
objnet.MapNetworkDrive "L:", "\\190.66.24.74\Transfer-01 ( 8-1-108 )"
WScript.Echo "Es wurde Netzlaufwerk zu Transfer-01 ( 8-1-108 ) verbunden"
WScript.quit
 End If
'--------------------------------------------------------------------------------------------------------------------------------
'VERBINDUNG WIRD HERGESTELLT FÜR Transfer-02
IF Abfrage="Transfer-02" then
Set objnet = CreateObject("WScript.Network")
objnet.MapNetworkDrive "L:", "\\190.66.24.74\Transfer-02 ( 7-G-073 )"
WScript.Echo "Es wurde Netzlaufwerk zu Transfer-02 ( 7-G-073 ) verbunden"
WScript.quit
else
WScript.Echo "Es ist ein Fehler aufgetreten oder Aktion wurde abgebrochen - Es wurde kein Netzlaufwerk verbunden"
Frage = MsgBox("nochmal versuchen?", _
vbYesNo + vbQuestion, "Frage")
If Frage = vbYes then
  WScript.Echo "lobenswert, geht aber nicht, sorry"
Else
  WScript.Echo "wozu auch, hätte eh nicht funktioniert"
End If
WScript.quit
  End If

 

Wenn am Ende die Frage "nochmal versuchen" kommt, soll das Script einfach von vorn gestartet werden wenn die Frage mit Ja beantwortet wird. Mit nem "goto" o.ä. scheint es irgendwie nicht zu gehen bzw ich bekomm es nicht hin.

Das einfachste wäre wars***einlich ne Schleife, nur hab ich vom scripten soviel Ahnung wie nen Blinder von der Farbe von daher benötige ich hier Eure Hilfe. Schonmal danke .... :-)

Link to comment

Moin,

 

statt die Eingaben einzeln durchzuprüfen, könntest du ein "Select..Case" nutzen und die eigentliche Verbindung in eine Funktion auslagern, statt den Code x-mal zu wiederholen. Dann noch eine Gültigkeitsprüfung und eine While..Wend-Schleife und fertig:

 

blnKorrekt = False
While Not blnKorrekt
strEingabe = InputBox("Bitte was eingeben!")
Select Case strEingabe
	Case "Wurst" Machwas 1
	Case "Käse" Machwas 2
	Case Else MsgBox "Falsch!"
End Select
Wend
MsgBox "Hier gehts weiter"

Sub Machwas(intWert)
blnKorrekt = True
MsgBox "Ich meine: " & intWert
End Sub

 

Gruß, Nils

Link to comment

Das schaut ja schonmal sehr gut aus , danke dafür ! :-)

das Problem an der Sache ist, dass jemand wie ich es so umschreiben muss das es auch das macht was ich will :-)

 

Wenn ich das richtig verstanden hab dann muss ich doch da wo jetzt "machwas 1" steht den Netzwerkpfad definieren oder ? Also sieht das bei mir jetzt so aus:

 

Case "T1" Pfad "\\190.66.24.74\Transfer-01 ( 8-1-108 )"

 

Der Sub-Teil ( ich nen das einfach mal so :-P ) sieht so aus:

 

Sub Pfad(intWert)
blnKorrekt = True
Set objnet = CreateObject("WScript.Network")
objnet.MapNetworkDrive "T:", & intWert
WScript.Echo "Es wurde Netzlaufwerk " & intWert & " verbunden"
End Sub

 

In dieser Zeile hier.....

objnet.MapNetworkDrive "T:", & intWert

 

...bekomm ich einen Syntaxfehler wenn ich das Script ausführe ...

Wenn ich anstelle von "& intWert" direkt den Pfad angebe wird zumindest schonmal nen Netzlaufwerk verbunden also vermute ich mal das es an dem "intWert" liegt ?!

 

Für jede Hilfe bin ich sehr dankbar :-P

Link to comment

Moin,

 

das Problem an der Sache ist, dass jemand wie ich es so umschreiben muss das es auch das macht was ich will :-)

 

allgemein wäre es von Nutzen, dass du dir Scripting-Kenntnisse aneignest, wenn du Scripting machen willst. Ich empfehle die Bücher von Tobias Weltner und von Günter Born.

 

In dieser Zeile hier.....

objnet.MapNetworkDrive "T:", & intWert

...bekomm ich einen Syntaxfehler wenn ich das Script ausführe ...

 

Ja, das & ist zuviel. Das benutzt man nur, wenn man zwei Strings miteinander verbinden will.

 

Gruß, Nils

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...