Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBS mit Parametern starten, wie?

Frage Entwicklung VB for Applications

Mitglied: homecomingservice

homecomingservice (Level 1) - Jetzt verbinden

04.04.2011 um 13:50 Uhr, 6238 Aufrufe, 6 Kommentare

Hallo Leute ich hätte mal weider eine Frage :D


mein Script sieht wie folgt aus

01.
Dim IP, OID, Version , modell, status, maxgedruckt, fagedruckt, swgedruckt, swmax, swatm, mamax, maatm, gemax 
02.
Dim cymax, cyatm, sw, ma, ge, cy, WshShell, oExec, name, result 
03.
Const intOK = 0 
04.
Const intWarning = 1 
05.
Const intCritical = 2 
06.
Const intUnknown = 3 
07.
IP = "***.***:***:***" 
08.
OID = "1.3.6.1" 
09.
Version = "v1" 
10.
 
11.
'SNMP-Abfrage vorgegebener Werte 
12.
modell = SNMPAbfrage (Version, "***:***:***:***",".1.3.6.1.4.1.1347.40.10.1.1.5.1") 
13.
If modell = "ErrSNMPprog" Then 
14.
	'SNMP-Programm nicht vorhanden 
15.
ElseIf modell <> "" Then 
16.
	sernum = SNMPAbfrage (Version, IP, OID & ".2.1.43.5.1.1.17.1") 
17.
	status = SNMPAbfrage (Version, IP, OID & ".2.1.25.3.5.1.1.1") 
18.
	maxgedruckt =  SNMPAbfrage (Version, IP, OID & ".2.1.43.10.2.1.4.1.1") 
19.
	fagedruckt =  SNMPAbfrage (Version, IP, OID & ".4.1.1347.42.2.2.1.1.3.1.2") 
20.
	swgedruckt =  SNMPAbfrage (Version,IP, OID & ".4.1.1347.42.2.2.1.1.3.1.1") 
21.
	swmax = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.8.1.4") 
22.
	swatm = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.9.1.4") 
23.
	mamax = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.8.1.2") 
24.
	maatm = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.9.1.2") 
25.
	gemax = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.8.1.3") 
26.
	geatm = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.9.1.3") 
27.
	cymax = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.8.1.1") 
28.
	cyatm = SNMPAbfrage (Version, IP, OID & ".2.1.43.11.1.1.9.1.1") 
29.
	sw = (swatm * 100) / swmax 
30.
	ma = (maatm * 100) / mamax 
31.
	ge = (geatm * 100) / gemax 
32.
	cy = (cyatm * 100) / cymax 
33.
End If 
34.
 
35.
 
36.
'Ausgabe der Daten 
37.
If modell = "" Then 'Gerät nicht erreichbar 
38.
	Wscript.Echo "IP:" & " " & IP & "-" & "Statusabfrage nicht möglich" 
39.
	Wscript.Quit(intUnknown) 
40.
ElseIf modell = "ErrSNMPprog" Then 'SNMP-Programm nicht vorhanden 
41.
	Wscript.Echo "SNMPT-Programm nicht vorhanden" 
42.
	Wscript.Quit(intCritical) 
43.
ElseIf sw <=5 or cy <=5 or ma <=5 or ge <=5 Then 'Tonerstand unter 5% 
44.
	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 & "%" 
45.
	Wscript.Quit(intCritical) 
46.
ElseIf sw <= 20 or cy <=20 or ma <=20 or ge <=20 Then 'Tonerstand unter 20% 
47.
	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 & "%" 
48.
	Wscript.Quit(intWarning) 
49.
Else 'Alles OK 
50.
	Wscript.Echo  modell & " " & "(" & "SerNR" &" " & sernum & "/" & "IP" & " " & IP & ")" & "-" & status & "-" & "Zählerstand:" & " " & maxgedruckt & "(Farbe:" & " " & fagedruckt & "/SW:" & " " & swgedruckt & "-" & "Tonerstand: K" & " " & sw & "%" & "/C" & " " & cy & "%" & "/M" & " " & ma & "%" & "/Y" & " " & ge & "%" 
51.
	Wscript.Quit(intOK) 
52.
End If	 
53.
 
54.
'SNMP-Abfrage 
55.
Public Function SNMPAbfrage (version, ipadresse, OID ) 
56.
	Dim WshShell, oExec, name 
57.
	Set WshShell = CreateObject ("WScript.Shell") 
58.
	Set oExec = WshShell.Exec ("snmpget -" & version & " -c public " & ipadresse & " " & OID) 
59.
	Do While oExec.Status = 0 
60.
		WScript.Sleep 100 
61.
	Loop 
62.
	Do While oExec.StdOut.AtEndOfStream <> True 
63.
		name = oExec.StdOut.ReadLine 
64.
	Loop 
65.
	If inStr(name, Chr (34)) Then	 
66.
		searchleft = Chr (34) 
67.
		searchright = Chr (34) 
68.
		result = mid (name, instr(name, searchleft)+1, instrrev(name, searchright)-instr(name, searchleft)-1) 
69.
	Else 
70.
		result=right (name, len(name)-instrrev (name," ")) 
71.
	End If 
72.
	SNMPAbfrage = result 
73.
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
Mitglied: bastla
04.04.2011 um 14:19 Uhr
Hallo homecomingservice!

Du kannst mit
Set arrArgs = WScript.Arguments
ein Array erzeugen, in dessen Elementen (ab Index 0) die einzelnen Parameter stehen.

Wenn Du vorweg prüfen willst, ob auch genug Argumente übergeben wurden, kannst Du dies mit
Arguments.Count
Grüße
bastla
Bitte warten ..
Mitglied: homecomingservice
04.04.2011 um 14:25 Uhr
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
Bitte warten ..
Mitglied: Pjordorf
04.04.2011 um 14:29 Uhr
Hallo,

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.

Gruß,
Peter
Bitte warten ..
Mitglied: bastla
04.04.2011 um 14:42 Uhr
Nicht ganz
... aber eigentlich doch:
01.
Set arrArgs = WScript.Arguments 
02.
WScript.Echo arrArgs(0) 
03.
WScript.Echo arrArgs(1)
bzw eben
01.
Set arrArgs = WScript.Arguments 
02.
IP = arrArgs(0) 
03.
OID = arrArgs(1) 
04.
WScript.Echo IP, OID
Aufruf:
cscript //nologo ArgsScript.vbs Arg1 "Arg 2"
Grüße
bastla
Bitte warten ..
Mitglied: homecomingservice
04.04.2011 um 14:51 Uhr
Vielen dank an bastla jetzt klappt es Perfekt :D
Bitte warten ..
Mitglied: bastla
04.04.2011 um 15:25 Uhr
Hallo homecomingservice!

Freut mich, dass es soweit einmal passt - die von Pjordorf verlinkten Infos würde ich Dir aber trotzdem empfehlen ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
gelöst VBS Script kann Prgramm nicht starten (15)

Frage von C.Boerner zum Thema VB for Applications ...

Windows 10
"geräte und drucker" unter w8 bzw. w10 zu starten dauert ewig (5)

Frage von tobias3355 zum Thema Windows 10 ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...