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, 6394 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 ..
Ähnliche Inhalte
VB for Applications
gelöst Tool zur scriptbasierten PDF-Bearbeitung gesucht (VBS oder Batch) (6)

Frage von SarekHL zum Thema VB for Applications ...

Windows Server
Geplante Tasks starten nicht automatisch

Frage von TiTux zum Thema Windows Server ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (16)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

CMS
Lokales Wordpress im LAN - wie aufsetzen? (15)

Frage von Static zum Thema CMS ...

LAN, WAN, Wireless
IP im privaten Netz nicht erreichbar (12)

Frage von guntis zum Thema LAN, WAN, Wireless ...

Windows Server
Druck wird nicht erlaubt (10)

Frage von daquick zum Thema Windows Server ...