Einbettung einer Batchdatei in VBScript

Mitglied: todo

todo (Level 1) - Jetzt verbinden

31.08.2006, aktualisiert 01.09.2006, 9067 Aufrufe, 7 Kommentare

Ich will am Ende der Ausführung eines VBScriptes eine Batch-Datei starten.

Moin moin zusammen,

eigentlich - so glaube ich - ist in der Einleitung bereits alles gesagt.

Ich will erreichen, dass ein VBScript, nach seiner Abarbeitung, eine Batch-Datei startet. Der Name der Batch-Datei ist "PDFCreator.bat".

Hat irgendwer eine Ahnung, wie ich das bewerkstelligen kann?

Verweise auf die Forumsinterne Suche sind zwecklos, denn diese habe ich bereits hinter mir.
Oder habe ich vielleicht nicht genügend gesucht?
Ich finde jedenfalls nur den umgekehrten Fall, welcher, aus meiner Sicht, nun gar kein Problem darstellt.

Für schnelle Hilfe wäre ich überaus dankbar!

Schonmal jetzt ein Dank an den Helfer und .... einen schönen Feierabend!


Thomas
Mitglied: bastla
31.08.2006 um 19:01 Uhr
Hi Thomas!

Set Sh = CreateObject("WScript.Shell")
Sh.Run "C:\DeinPfad\PDFCreator.bat"

HTH
Bastla
Bitte warten ..
Mitglied: Biber
31.08.2006 um 19:09 Uhr
Moin, todo,

das geht z.B über die .Run-Methode des WScript-Shell-Objektes:
Gruß
Biber
[Edit] ...wieder zu langsam... [/Edit]
Bitte warten ..
Mitglied: todo
31.08.2006 um 21:13 Uhr
Tach - oder sollt ich besser Nacht sagen? - @all,

die Sonne neigt dem Untergang und ich bin dazu geneigt das Bett aufzusuchen.

Ich danke schon jetzt für eure Beiträge und werde mich morgen, in der Früh intensiv damit auseinander setzen.

Ich gebe auf jeden Fall Statusinformationen

Gruß

Thomas
Bitte warten ..
Mitglied: Biber
31.08.2006 um 21:32 Uhr
...wenn Du willst, weck ich Dich dann... ;-) face-wink
Bitte warten ..
Mitglied: todo
01.09.2006 um 07:14 Uhr
@ Biber Nun ja, das Wecken war nicht notwendig, denn ich bin chronischer Frühaufsteher. ;-) face-wink

Um auf das Script zu kommen ... So, wie es ausschaut, funktionieren beide Scriptvorschläge, genau so, wie ich es mir vorstelle. Ich bekomme es jedoch mit der Pfadangabe nicht hin, denn ich erhalte bei der Ausführung die Meldung, dass die Datei nicht im angegebenen Pfad zu finden ist. Die Datei ist jedoch dort!

Die Meldung zeigt an, dass der Fehler in der Zeile 63, welche die Zeile mit der Pfadangabe zur PDFCreator.bat ist, zu finden ist

Hintergrund:
Das Script soll als Anmeldescript laufen und befindet sich - genau wie die "PDFCreator.bat" - im Sysvol, in der Freigabe "Drucker$". Da wir zwei Domänencontroller (Windows Server 2003 R2) im Einsatz haben, macht es doch Sinn, wenn ich eine Varible, wie %logonserver%, einsetze. Da ich jedoch "noch" von VBScript nur sehr wenig Ahnung habe, weiß ich nun garnicht, wie ich die Pfadangabe korrekt setzen soll. Anders herum befinden sich die Scripte auf beiden DC's im gleichen Pfad, was eine Variable doch auch überflüssig macht!?

Hoffe, auch hierfür gibt es eine hilfreiche Antwort!

Gruß und einen schönen Tag

Thomas
Bitte warten ..
Mitglied: Biber
01.09.2006 um 07:22 Uhr
Moin todo,
Nun ja, das Wecken war nicht notwendig, denn ich bin chronischer Frühaufsteher...
Ich dagegen stehe meist erst mittags auf.
dass der Fehler in der Zeile 63, welche die Zeile mit der Pfadangabe zur PDFCreator.bat ist
Wie wäre es, die Zeilen 1 bis 77 mal zu posten?
Hoffe, auch hierfür gibt es eine hilfreiche Antwort!
Dass mal eine Angela Merkel Bundeskanzlerin wird, hätte auch niemand für möglich gehalten - von daher bin ich da eher optimistisch.

Grüße
Biber aka der Langschläfer
Bitte warten ..
Mitglied: todo
01.09.2006 um 09:32 Uhr
Ich habe die Lösung und es hat gar nicht weh getan!!! ;-) face-wink

'* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '*
'* Legt die Umgebungsvariable Logonserver fest!
'* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '*
DIM Logonserver

Set oShell = CreateObject("WScript.Shell")
Set oWshProcessEnv = oShell.Environment("process")

Logonserver = oWshProcessEnv("Logonserver")

'* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '*
'* Löscht den PDFCreator ... installierter Treiber bleibt erhalten!
'* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '*
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer where DeviceID = 'PDFCreator'")

For Each objPrinter in colInstalledPrinters
objPrinter.Delete_
Next

'* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '*
'* Alle Verbundenen Netzwerkdrucker werden getrennt ... installierte Treiber bleiben erhalten!
'* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '*
strPrintSrv = "xxx.xxx.xxx.de" '*Name des Printservers
Set WshNetwork = Wscript.CreateObject("Wscript.Network")
strComputer = LCase(WshNetwork.ComputerName)
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\cimv2")
Set colPrinters = objWMIService.ExecQuery("Select * from Win32_Printer")
For Each objPrinter in colPrinters
If Left(objPrinter.Name, 2) = "\\" Then
WshNetwork.RemovePrinterConnection "\\" & strPrintSRV & "\" & _
objPrinter.ShareName, TRUE
End If
Next


'* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '*
'* Netzwerkdrucker aus gleicher OU (Raum xx) wird verbunden und als Standard definiert!
'* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '*
Set wshNetwork = WScript.CreateObject( "WScript.Network" )
Set objADSysInfo = CreateObject("ADSystemInfo")
Set objcomputer = GetObject("LDAP://" & objADSysInfo.computerName)
Set objOU = GetObject(objcomputer.parent)

Call SubmapprinterLPT

Sub SubmapprinterLPT()
objOU.Filter=Array("printqueue") '*Filtert alle Printer Queue Objekte aus der OU des Computers
For Each oPq In objOU
If UCase(oPq.PrinterName) = UCase(objcomputer.ou) Then
On Error Resume Next
'* Trennt bei Vorhandensein die Verbindung von LPT1:
wshNetwork.RemovePrinterConnection "LPT1", True, True
wshNetwork.AddPrinterConnection "LPT1", oPq.PrinterPath
wshNetwork.AddWindowsPrinterConnection oPq.PrinterPath
wshNetwork.SetDefaultPrinter oPq.Printerpath
Else
wshNetwork.AddWindowsPrinterConnection oPq.PrinterPath

End If
Next


'* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '*
'* PDFCreator wird wieder hergestellt ... Aufruf PDFCreator.bat
'* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '* '*
Set Sh = CreateObject("WScript.Shell")
'* WScript.Echo Logonserver & "\Drucker$\PDFCreator.bat"
Sh.Run Logonserver & "\Drucker$\PDFCreator.bat"

End Sub

Mein Problem wird durch die ersten 9 und letzten 6 Zeilen vor "End Sub" (am Ende) gelöst.


Ich danke für die Hilfe und wünsche nun ein schönes Wochenende


Gruß

Thomas
Bitte warten ..
Heiß diskutierte Inhalte
Microsoft
Mitteilung an alle bei Störungen in der IT
gelöst David.B2D45Vor 1 TagFrageMicrosoft31 Kommentare

Hallo Forum, ich bin auf der Suche nach einem Programm / Tool mit dem ich Text (Laufschrift) auf allen (gewünschten) PC's / Benutzer im ...

Exchange Server
Exchange Zero Day Hack - Wie entfernen?
gelöst mtaiitVor 17 StundenFrageExchange Server28 Kommentare

Hallo, bei mir hat es einige Kundenserver getroffen Weiß einer wie ich diese WebShells wieder loswerde? Das löschen der betroffenen .aspx Dateien wird wohl ...

E-Mail
Kann man mit SPF Mails für eine Domäne vollständig verbieten?
gelöst StefanKittelVor 1 TagFrageE-Mail17 Kommentare

Hallo, viele Firmen haben ja zusätzliche Domänen. Als Web- und oder Mail-weiterleitung. Es werden also niemals Emails damit gesendet werden. kann man mit einem ...

Server-Hardware
Firmware-Updates auf Servern
redhorseVor 1 TagFrageServer-Hardware8 Kommentare

Guten Morgen, die Server-Hersteller stellen bekanntlich regelmäßig Firmware- und Treiberupdates für deren Serverhardware bereit, diese können z.B. bei Dell als Dell EMC Server Update ...

Linux
Windows auf Dualbootrechner entfernen und Linux die komplette Platte zur Verfügung stellen
N8chtfalterVor 1 TagFrageLinux6 Kommentare

Hallo Linux Profis, ich habe einen Laptop auf dem ursprünglichen Windows 10 installiert war, und ist, ich habe vor einem Jahr Ubuntu testhalber als ...

Router & Routing
Routing öffentliche IP-Adresse-Traffic per BGP im internal-Network
gelöst jescheroVor 1 TagFrageRouter & Routing2 Kommentare

Guten Abend alle zusammen, ich habe ein kleines Problem beim Routing in pfSense. Mein aktuelles Aufbau ist folgenden: Ich habe eine pfSense-VM und zwei ...

Windows Server
Domänenadmin kann kein Zertifikat anfordern
noodellsVor 1 TagFrageWindows Server6 Kommentare

Hallo Zusammen, ich habe ein Problem beim Finden einer Einstellung. Zuerst einmal der Stand: Es gibt eine Windows CA und Domaincontroller und alles funktionierte ...

Exchange Server
Windows Server 2019 + Exchange Server 2019 (Probleme mit Pop3)
gelöst aristonVor 1 TagFrageExchange Server4 Kommentare

Hallo zusammen, ich habe gerade angefangen, mit dem Exchange Server 2019 in der Demoversion zu arbeiten und folge Schritt für Schritt bei der notwendigen ...