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!

Empfohlene Beiträge

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

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

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

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