Top-Themen

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

VBScript Aufruf einer exe und Verwendung des Outputs

Frage Entwicklung VB for Applications

Mitglied: gdnmarc

gdnmarc (Level 1) - Jetzt verbinden

14.01.2010 um 11:44 Uhr, 7008 Aufrufe, 14 Kommentare

Hallo,

ich habe nur eine Kleingkeit Ich möchte in einem VBScript eine exe aufrufen. Diese exe hat die Aufgabe die Clientipadresse auf einem W2K Server auszulesen. Diese gibt den Wert, also die IP in einer CMD aus. Der Output-Wert dieser exe, soll dann in dem Script weiterverwendet werden, z.B. Output als Dialog.

Wer kann mir dazu kurz weiterhelfen?

Danke und VG,

Marc
Mitglied: TsukiSan
14.01.2010 um 12:20 Uhr
Welche exe soll's denn aufrufen und gibt es eine "Schnittstelle" ?

Gruss
Tsuki
Bitte warten ..
Mitglied: gdnmarc
14.01.2010 um 12:25 Uhr
Die exe heisst clientip.exe. Wenn man diese manuell aufruft, wird eine CMD geöffnet und die angmeldete Client-IP-Adresse angezeigt, also nicht die des Terminalservers, sondern die des angemeldeten Benutzers. Dieser Output, also die IP, soll in dem Script weiterverwendet werden, z.b als. Variable. DANKE Tsuki
Bitte warten ..
Mitglied: TsukiSan
14.01.2010 um 13:20 Uhr
Mh, ich kenne leider dieses Programm nicht.
In VBS kannst du mit
01.
set Winsock1=WScript.CreateObject("MSWinsock.Winsock", "WS_")  
02.
MsgBox Winsock1.localip 
die eigene IP auslesen, wenn Winsock installiert und registriert ist.
Damit könntest du diese Information in deinem Programm weiterverarbeiten.

Das ist jetzt etwas um deine Frage rumherum geantwortet, aber wie geschrieben, ich kenne clientip.exe leider nicht.

Gruss
Tsuki
Bitte warten ..
Mitglied: gdnmarc
14.01.2010 um 13:25 Uhr
Musst du auch gar nicht kennen, das ist nur ein Beispiel. Fakt ist es ist irgendein executable, was irgendwas in der CMD ausspuckt.

Das ausgespuckte in der CMD möchte ich gerne in VBS verwenden
Bitte warten ..
Mitglied: TsukiSan
14.01.2010 um 13:30 Uhr
warum möchtest du denn über VBS über die CMD über VBS gehen?
Das scheint mir zu kompliziert und zu umständlich.

Entweder bleibe ich beim Batchen oder beim VBS-en.
Aber gut, dass ist ja nur meine Ansicht.

Wenn der Client, der angemeldet ist beim Server, seine IP nur mitteilen soll, dann geht das auch ganz simple mit Windows-Boardmitteln. Aber du wirst deinen Grund für diese exe-Datei haben, den ich leider nicht kenne und der mir eigentlich auch egal ist

Gruss
Tsuki

[Edit]
Eins muss ich natürlich noch nachtragen!
Ein Aufruf einer Datei mit VBS könnte so erfolgen:
01.
set wshshell=createobject("wscript.shell") 
02.
wshshell.run("C:\MeineDatei.exe"), 3, true 
03.
set wshshell = nothing
[/Edit]
Bitte warten ..
Mitglied: mayho33
14.01.2010 um 14:45 Uhr
Hi

Der aufruf der Exe ginge so:

Set oShell = CreateObject("wscript.shell")
Apppath = oFso.GetParentFolderName(WScript.ScriptFullName)

ScriptName = "irgendwas.exe"
Parameters = "/s "
oShell.Run chr(34) + ScriptName + " " + Parameters,0 , True

das /s bei Parameters bedeutet Silent also nicht sichtbar

würde aber auch z.B so gehen:

oShell.Run "cmd /c " + chr(34) + "irgendeas.exe" + chr(34) + "/s"

das chr(34) simmuliert ein Anführungszeichen. Wegen der eventuellen Leerzeichen im Pfad

Grüße

Wie du das Ganze in eine Datei umleiten kannst weis ich momentan nicht, aber wenn du die eigene IP auslesen willst könntest du auch WMI nutzen
Bitte warten ..
Mitglied: TsukiSan
14.01.2010 um 14:59 Uhr
Hallo mayho33
Wie du das Ganze in eine Datei umleiten kannst weis ich momentan nicht,
mit Boardmitteln ginge das ganze in etwa so:
01.
ipconfig >>C:\IP.log
In VBS nimmt man dann einfach das "CreateTextFile" dafür.

Aber da niemand weiß, "ob und was" des TOs exe-Datei zurück gibt ist es schweirig, einen Lösungsweg vorzuschlagen.
Die Boardmittel scheinen ihn ja nicht zu interessieren. Und das DrumHerum kenne ich nicht, weil ich sitze hier vor meinem problemfreien Laptop.

Gruss
Tsuki
Bitte warten ..
Mitglied: mayho33
14.01.2010 um 16:48 Uhr
WOOOOOOWWWWWW!!!!!!!

Super! Danke!

Weißt du wie lange ich das schon suche??? Und dann ist es so einfach!! Schäm dich Mayho!, Schäm dich!!

In VBS nimmt man dann einfach das "CreateTextFile" dafür.

Ja schon, aber auf die Gefahr hin mich nochmals zu outen: Wie liest du eine Konsole aus???


Aber da niemand weiß, "ob und was" des TOs exe-Datei zurück gibt ist es schweirig, einen Lösungsweg vorzuschlagen.

Ich nehme an die IP *grins*

Übrigends:

Per WMI kannst du es so auslesen. Der letzte Eintrag ist deine IP. Hab auf die Schnelle nur Win32_IP4RouteTable gefunden

On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_IP4RouteTable",,48)

For Each objItem in colItems
WScript.Echo "Description: " & objItem.Description
Next


Jetzt noch ne Frage:

Wie leitest du das Ganze in eine Variable (Object) um???

Danke!

mayho
Bitte warten ..
Mitglied: bastla
14.01.2010 um 17:37 Uhr
Hallo @All!
Wie liest du eine Konsole aus???
Wenn die Ausgabe auf dem STDOUT-Kanal erfolgt so:
01.
Set Sh = CreateObject("WScript.Shell") 
02.
Set Exec = Sh.Exec("%comspec% /c ipconfig /all") 
03.
If Not Exec.StdOut.AtEndOfStream Then T = Exec.StdOut.ReadAll 
04.
MsgBox T
Natürlich lässt sich das Ganze auch zeilenweise abfackeln - entweder per "Split(T, vbCrLF)" ein Array erzeugen, oder gleich mit einer Schleife (wie eine Textdatei) einlesen ...

Grüße
bastla
Bitte warten ..
Mitglied: mayho33
14.01.2010 um 17:47 Uhr
Hi!

Danke! Jetzt da ich es lese ist es ganz klar und logisch

Tolle Sache! Vielen Dank!!

und weil ich ein LöscherInDenBauchFrager bin, gleich noch eine wenn du erlaubst?

Set Exec = Sh.Exec("%comspec% /c ipconfig")

bringt welchen Vorteil? Irgendwie kommt mir nämlich:

Set Exec = Sh.Exec("cmd /c ipconfig")

schneller vor? Betonuung liegt auf %comspec%


Danke!

mayho
Bitte warten ..
Mitglied: gdnmarc
14.01.2010 um 17:53 Uhr
Danke Bastla, das hat wie IMMER weiter geholfen. Läuft
Bitte warten ..
Mitglied: bastla
14.01.2010 um 17:59 Uhr
Hallo mayho33!

%comspec% enthält den vollständigen Pfad zum aktuellen CMD-Interpreter und ist dadurch die etwas sicherere Variante ...

Wenn Du's wirklich kurz haben willst :
Set Exec = Sh.Exec("ipconfig")
Grüße
bastla

P.S.: Bei der Suche nach der Code-Formatierung helfe ich auch gerne: http://www.administrator.de/helpsystem/detail.php?idx=20#toc27
Bitte warten ..
Mitglied: mayho33
14.01.2010 um 18:09 Uhr
Hi Bastla!

Vielen Dank! Kann mich gdnmarc nur anschließen: WIE IMMER, von Bastla werden sie geholfen!

Grüße

Mayho
Bitte warten ..
Mitglied: bastla
14.01.2010 um 18:21 Uhr
Hallo gdnmarc und mayho33!

Nur nicht gleich übertreiben - ich freu mich schon, wenn's öfters mal passt ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Exe ohne Fenster aus vb aufrufen
gelöst Frage von Mit.ohne.AhnungBatch & Shell12 Kommentare

Hallo Zusammen, ich erstelle gerade ein Programm mit Visual Studio und möchte eine exe aufrufen ohne das ein Fenster ...

VB for Applications
Vbscript zum überprüfen der exe Version wenn.dann
Frage von aletriVB for Applications9 Kommentare

Hallo Leute Script funktioniert wenn niedrigere Version der exe vorhanden ist. Ist jedoch der Pfad C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe nicht ...

VB for Applications
Aufruf einer CMD aus einem VBScript läuft nicht sauber
gelöst Frage von derhoeppiVB for Applications8 Kommentare

Hallo Leute, ich habe ein VBScript, das ein vorhandenes Batch-Skript aufrufen soll. Für den Aufruf der CMD habe ich ...

C und C++
C++ andere EXE aufrufen, Probleme mit Leerzeichen im Pfad
gelöst Frage von pablovicC und C++14 Kommentare

Hallo Ich scheitere gerade daran ein kleines C Programm zu schreiben, welches eine andere EXE starten soll. Das wollte ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 12 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 12 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 20 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server15 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...