VBscripting mit Jump zu anderen Scripten and goBack Funktion
Unter DOs gab es den "Call"-Befehl.....
Hallo miteinander,
da hab ich heute folgende Frage zu VB-Scripting:
ich hab da ein Loginscript für Domainmembers. Das ist derzeit ellenlang und soll verkürzt werden.
Ziel ist es, für jede Abteilung ein eigenes Script für Drucker & Laufwerkmapping zu starten allerdings aus einem gemeinsamen Startscript heraus.
Facts:
ich gebe also verschiedene Standards vor im startscript "login.vbs" (Auszug)
Jetzt hab ich nun das Ziel aus diesem Startscript heraus ein Script je nach Abteilung zu starten...
...welches dann im Scriptablauf z.B. laufwerke mounted, Drucker zuweist etc. ABER: am Ende des Abteilungs-spezifischen Scripts soll das Startscript (login.vbs) weiterlaufen und zwar genau nach der Stelle des Jumps zum Abteilungsscripts.
Wie macht man das?
Danke für Ideen & machbare Vorschläge! Ach ja: bitte nicht mit anderen prgrammiersprachen kommen da mir diese durch den Mutterkonzern vorgegeben ist (also kein DOS, Java etc.)...
Danke!
da hab ich heute folgende Frage zu VB-Scripting:
ich hab da ein Loginscript für Domainmembers. Das ist derzeit ellenlang und soll verkürzt werden.
Ziel ist es, für jede Abteilung ein eigenes Script für Drucker & Laufwerkmapping zu starten allerdings aus einem gemeinsamen Startscript heraus.
Facts:
ich gebe also verschiedene Standards vor im startscript "login.vbs" (Auszug)
strServer = DC01
strFileserver = DC02
if isMember("Buchhaltung") then strDepartment = "Buchhaltung"
end if
if isMember("Einkauf") then strDepartment = "Einkauf"
end if
call "\\" & strServer & "\Netlogon\Departmentscripts\" & strDepartment & ".vbs" ' *"call" ist denk ich falsch; nur wie heisst das jetzt
Wie macht man das?
Danke für Ideen & machbare Vorschläge! Ach ja: bitte nicht mit anderen prgrammiersprachen kommen da mir diese durch den Mutterkonzern vorgegeben ist (also kein DOS, Java etc.)...
Danke!
Please also mark the comments that contributed to the solution of the article
Content-Key: 152492
Url: https://administrator.de/contentid/152492
Printed on: April 25, 2024 at 12:04 o'clock
6 Comments
Latest comment
Hallo frankoehli!
Etwa in der Art:
Wobei der Parameter am Ende True/False bestimmt, ob das Skript warten soll oder nicht (True=Warten und False=Weiter)
Gruß Dieter
Etwa in der Art:
CreateObject("WScript.Shell").Run "..\Test.vbs", 0, True
Gruß Dieter
Hallo Frank!
Anhand Deines Call-Beispiels, dann in etwa so
Willst Du auch Parameter an das Skript übergeben? Wenn ja Beispiel posten.
Gruß Dieter
Anhand Deines Call-Beispiels, dann in etwa so
strCmdLine = """\\" & strServer & "\Netlogon\Departmentscripts\" & strDepartment & ".vbs""" 'Leerzeichen erlaubt
CreateObject("WScript.Shell").Run strCmdLine, 0, True
Willst Du auch Parameter an das Skript übergeben? Wenn ja Beispiel posten.
Gruß Dieter
Hallo Frank!
Hiermal ein praktisches Beispiel. Die Start.vbs ruft die Call.vbs mit Argumenten auf, wartet bis dessen Ausführung beendet ist und wertet den Exit-Code aus.
Start.vbs
Call.vbs
Gruß Dieter
[edit] geändert: in Call.vbs waren die Codezeilen 5 und verttauscht [/edit]
Hiermal ein praktisches Beispiel. Die Start.vbs ruft die Call.vbs mit Argumenten auf, wartet bis dessen Ausführung beendet ist und wertet den Exit-Code aus.
Start.vbs
Dim strPath, strVar1, strVar2, strCmdLine, intReturn, objShell
strPath = "E:\Test\Mit Leerzeichen\Call.vbs"
strVar1 = "Parameter1OhneLeerzeichen"
strVar2 = "Parameter2OhneLeerzeichen"
strCmdLine = """" & strPath & """" & " " & strVar1 & " " & strVar2 '= "Path" Var1 Var2
Set objShell = CreateObject("WScript.Shell")
intReturn = objShell.Run(strCmdLine, 0, True) 'Call Call.vbs (Warten auf Exit)
If intReturn = 0 Then
MsgBox "Die Call.Vbs hat den Wert 0 (OK) zurückgegeben."
Else
MsgBox "Die Call.Vbs hat den Wert 1 (Fehler) zurückgegeben."
End If
Dim strVar1, strVar2
With WScript
If .Arguments.Count <> 2 Then
MsgBox "Falsche Anzahl an Argumenten!"
.Quit 1 'Fehler ReturnValue = 1
Else
strVar1 = .Arguments(0)
strVar2 = .Arguments(1)
MsgBox strVar1
MsgBox strVar2
.Quit 0 'OK ReturnValue = 0
End If
End With
Gruß Dieter
[edit] geändert: in Call.vbs waren die Codezeilen 5 und verttauscht [/edit]