VBS mit Parametern starten, wie?
Hallo Leute ich hätte mal weider eine Frage :D
mein Script sieht wie folgt aus
Wie ihr sehn könnt weise ich in Zeile 16,17,18 meinen Variablen IP, OID und Version einen festen Wert zu nun möchte ich aber diese 3 Werte meiner VBS Datei beim Starten übergeben wie setze ich das am besten um?
Vielen Dank für eure Hilfe
Homecomingservice
mein Script sieht wie folgt aus
Dim IP, OID, Version , modell, status, maxgedruckt, fagedruckt, swgedruckt, swmax, swatm, mamax, maatm, gemax
Dim cymax, cyatm, sw, ma, ge, cy, WshShell, oExec, name, result
Const intOK = 0
Const intWarning = 1
Const intCritical = 2
Const intUnknown = 3
IP = "***.***:***:***"
OID = "1.3.6.1"
Version = "v1"
'SNMP-Abfrage vorgegebener Werte
modell = SNMPAbfrage (Version, "***:***:***:***",".1.3.6.1.4.1.1347.40.10.1.1.5.1")
If modell = "ErrSNMPprog" Then
'SNMP-Programm nicht vorhanden
ElseIf modell <> "" Then
sernum = SNMPAbfrage (Version, IP, OID & ".2.1.43.5.1.1.17.1")
status = SNMPAbfrage (Version, IP, OID & ".2.1.25.3.5.1.1.1")
maxgedruckt = SNMPAbfrage (Version, IP, OID & ".2.1.43.10.2.1.4.1.1")
fagedruckt = SNMPAbfrage (Version, IP, OID & ".4.1.1347.42.2.2.1.1.3.1.2")
swgedruckt = SNMPAbfrage (Version,IP, OID & ".4.1.1347.42.2.2.1.1.3.1.1")
swmax = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.8.1.4")
swatm = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.9.1.4")
mamax = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.8.1.2")
maatm = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.9.1.2")
gemax = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.8.1.3")
geatm = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.9.1.3")
cymax = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.8.1.1")
cyatm = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.9.1.1")
sw = (swatm * 100) / swmax
ma = (maatm * 100) / mamax
ge = (geatm * 100) / gemax
cy = (cyatm * 100) / cymax
End If
'Ausgabe der Daten
If modell = "" Then 'Gerät nicht erreichbar
Wscript.Echo "IP:" & " " & IP & "-" & "Statusabfrage nicht möglich"
Wscript.Quit(intUnknown)
ElseIf modell = "ErrSNMPprog" Then 'SNMP-Programm nicht vorhanden
Wscript.Echo "SNMPT-Programm nicht vorhanden"
Wscript.Quit(intCritical)
ElseIf sw <=5 or cy <=5 or ma <=5 or ge <=5 Then 'Tonerstand unter 5%
Wscript.Echo modell & " " & "(" & "SerNR" &" " & sernum & "/" & "IP" & " " & IP & ")" & "-" & "Tonerstand unter 5%" & "-" & "Zählerstand:" & " " & maxgedruckt & "(Farbe:" & " " & fagedruckt & "/SW:" & " " & swgedruckt & "-" & "Tonerstand: K" & " " & sw & "%" & "/C" & " " & cy & "%" & "/M" & " " & ma & "%" & "/Y" & " " & ge & "%"
Wscript.Quit(intCritical)
ElseIf sw <= 20 or cy <=20 or ma <=20 or ge <=20 Then 'Tonerstand unter 20%
Wscript.Echo modell & " " & "(" & "SerNR" &" " & sernum & "/" & "IP" & " " & IP & ")" & "-" & "Tonerstand unter 20%" & "-" & "Zählerstand:" & " " & maxgedruckt & "(Farbe:" & " " & fagedruckt & "/SW:" & " " & swgedruckt & "-" & "Tonerstand: K" & " " & sw & "%" & "/C" & " " & cy & "%" & "/M" & " " & ma & "%" & "/Y" & " " & ge & "%"
Wscript.Quit(intWarning)
Else 'Alles OK
Wscript.Echo modell & " " & "(" & "SerNR" &" " & sernum & "/" & "IP" & " " & IP & ")" & "-" & status & "-" & "Zählerstand:" & " " & maxgedruckt & "(Farbe:" & " " & fagedruckt & "/SW:" & " " & swgedruckt & "-" & "Tonerstand: K" & " " & sw & "%" & "/C" & " " & cy & "%" & "/M" & " " & ma & "%" & "/Y" & " " & ge & "%"
Wscript.Quit(intOK)
End If
'SNMP-Abfrage
Public Function SNMPAbfrage (version, ipadresse, OID )
Dim WshShell, oExec, name
Set WshShell = CreateObject ("WScript.Shell")
Set oExec = WshShell.Exec ("snmpget -" & version & " -c public " & ipadresse & " " & OID)
Do While oExec.Status = 0
WScript.Sleep 100
Loop
Do While oExec.StdOut.AtEndOfStream <> True
name = oExec.StdOut.ReadLine
Loop
If inStr(name, Chr (34)) Then
searchleft = Chr (34)
searchright = Chr (34)
result = mid (name, instr(name, searchleft)+1, instrrev(name, searchright)-instr(name, searchleft)-1)
Else
result=right (name, len(name)-instrrev (name," "))
End If
SNMPAbfrage = result
end function
Wie ihr sehn könnt weise ich in Zeile 16,17,18 meinen Variablen IP, OID und Version einen festen Wert zu nun möchte ich aber diese 3 Werte meiner VBS Datei beim Starten übergeben wie setze ich das am besten um?
Vielen Dank für eure Hilfe
Homecomingservice
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 163905
Url: https://administrator.de/forum/vbs-mit-parametern-starten-wie-163905.html
Ausgedruckt am: 10.04.2025 um 20:04 Uhr
6 Kommentare
Neuester Kommentar
Hallo,
Gruß,
Peter
Zitat von @homecomingservice:
Wenn ich das richtig verstanden habe läuft es dann so das ich die Parameter übergebe, diese in ein Array geschrieben
werden, und von dort wieder ausgelesen werden und in die Variablen geschrieben werden? :D
Nicht ganz.. Vielleicht solltest du dir mal http://technet.microsoft.com/en-us/library/ee156618.aspx oder http://msdn.microsoft.com/en-us/library/z2b05k8s(v=vs.85).aspx oder http://www.devguru.com/technologies/wsh/quickref/wscript_arguments.html ansehen.Wenn ich das richtig verstanden habe läuft es dann so das ich die Parameter übergebe, diese in ein Array geschrieben
werden, und von dort wieder ausgelesen werden und in die Variablen geschrieben werden? :D
Gruß,
Peter