Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 6567 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
Python
gelöst PHP Skript via Python starten mit JSON Objekt als Parameter (3)

Frage von nullacht15 zum Thema Python ...

Batch & Shell
gelöst New-ADUser (optional Parameter) (13)

Frage von mc-doubleyou zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Monitoring
Netzwerk-Monitoring Software (18)

Frage von Ghost108 zum Thema Monitoring ...

Windows 10
Windows 10 Fall Creators Update Fehler (13)

Frage von ZeroCool23 zum Thema Windows 10 ...

Router & Routing
gelöst Getrenntes Routing bei VoIP und Daten (12)

Frage von Hobbystern zum Thema Router & Routing ...