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

VBS-Script um mehrere Programme nach Rechnerstart zu starten

Mitglied: Simon-MCP

Simon-MCP (Level 1) - Jetzt verbinden

05.12.2010 um 00:30 Uhr, 9437 Aufrufe, 10 Kommentare

Mehrere Programme nach der Anmeldung von Windows 7 in bestimmter Reihenfolge starten lassen.

Hallo zusammen,

ich bin auf der Suche nach einem VBS-Script das für mich automatisch nach jeder Anmeldung an meinem Rechner (Windows 7) diverse Programme startet und Registry-Einträge durchführt. Schön wäre auch wenn es ein kleines Statusfenster geben würde wo man sehen kann, bei welchem Schritt das Script aktuell ist. (Auflistung)

Was sollte das Script können:
- Mehrere Programme nacheinander starten in einer bestimmten Reihenfolge (z.B. als erstes: Word, dann Excel, Notepad, usw...)
- Zum Abschluss ein paar Registry-Einträge ändern oder eintragen
- Es wäre schön wenn man ein Statusfenster hätte in dem man sehen kann welche Aufgaben schon erledigt wurden und welche noch anstehen. Es würde mir auch ausreichen wenn der aktuelle Schritt der ausgeführt wird "Fett" markiert ist...
- Es sollte gewartet werden bis das vorherige Programm gestartet wurde bevor das nächste Programm gestartet wird... (ist das überhaupt möglich oder muss man hier mit Pausen arbieten?)

Beispiel für das Statusfenster:
Programm1 starten
Programm2 starten

Programm3 starten
Programm4 starten
Programm5 starten
Registry-Einträge
Ende

Vielen Dank.


Gruß
Crus
Mitglied: bastla
05.12.2010 um 11:33 Uhr
Hallo crus-online#de!

Zwei Fragen vorweg:
Weshalb die Festlegung auf VBS?
Woran soll das Script erkennen, dass ein Programm (fertig) gestartet wurde? (Auf das Programmende zu warten und dann das nächste Programm zu starten wäre einfach, jeweils eine Pause mit festgelegter Dauer ebenfalls ...)

Grüße
bastla
Bitte warten ..
Mitglied: Simon-MCP
05.12.2010 um 12:38 Uhr
naja, unbedingt festlegen auf VBS will ich das ganze natürlich nicht, aber ich dachte das es damit vielleicht am einfachsten wäre?
Und mit einer normalen "Batch-Datei" kann man auch kein Statusfenster erstellen... Deshalb dachte ich an VBS.

Das mit dem erkennen des Programms habe ich mir fast gedacht. Ich denke eine Pause würde also auch reichen. Also zwischen jedem Start von einer Anweisung eine feste Pause einbauen wäre für mich auch ok.

Den kleinen Code hier habe ich mal zusammengebastelt um ein Programm zu starten:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ("""" & "C:\Program Files (x86)\FileZilla FTP Client\filezilla.exe" & """")


Keine Ahnung für was ich die vielen """" brauch, aber ohne sagt er mir immer das er das Programm nicht finden kann...
Von dieser Zeile könnte ich jetzt ja mehrere hinterinanderstellen und alle meine Anwendungen starten lassen. (+ die Pausen)

Aber wie bekomme ich solch eine Visuelle Anzeige hin... Klar ist das nicht unbedingt notwendig sieht aber schöner aus

Gruß
Crus
Bitte warten ..
Mitglied: bastla
05.12.2010 um 16:49 Uhr
Hallo crus-online#de!
Keine Ahnung für was ich die vielen """" brauch
Damit erzeugst Du umgebende Anführungszeichen, lässt sich aber etwas kürzen (s.u.) ...
Ein "Statusfenster" lässt sich mit (nativem) VBS nicht erstellen (von einem - ungetesteten - Ansatz der Art
01.
Set WshShell = WScript.CreateObject("WScript.Shell") 
02.
WshShell.Run ("""C:\Program Files (x86)\FileZilla FTP Client\filezilla.exe""") 
03.
Status = Status & "FileZilla starten" 
04.
WshShell.PopUp(Status, 10, "Starten ...", vbOK) 
05.
 
06.
WshShell.Run ("""C:\Program Files (x86)\Microsoft Office\Office12\winword.exe""") 
07.
Status = Status & "Word starten" 
08.
WshShell.PopUp(Status, 10, "Starten ...", vbOK)
abgesehen) - da müsstest Du noch zusätzlich zB zu HTML greifen (Stichwort "HTA").

Ansonsten würde eigentlich auch ein Batch genügen:
01.
@echo off & setlocal 
02.
echo FileZilla starten 
03.
start "FileZilla starten" "C:\Program Files (x86)\FileZilla FTP Client\filezilla.exe" 
04.
ping -n 10 localhost>nul 
05.
 
06.
echo Word starten 
07.
start "Word starten" "C:\Program Files (x86)\Microsoft Office\Office12\winword.exe" 
08.
ping -n 10 localhost>nul
Grüße
bastla

[Edit] "start" im Batch ergänzt [/Edit]
Bitte warten ..
Mitglied: Simon-MCP
05.12.2010 um 17:16 Uhr
schade das dass mit dem Statusfenster nicht so einfach möglich ist...
Ich habe sowas nur mal bei einer Unattended-CD gesehen wo die abschließende Schritte auch in solch einem Statusfenster dargestellt wurden.

Die Batch-Datei von dir startet die Anwendungen immer erst dann wenn das vorherige App geschlossen wurde. Das ist nicht ganz das was ich will Bei mir soll es mit dem öffnen der weiteren Anwendungen fortfahren ohne die vorherige App zu schließen. Aber egal, ich glaube diese Anforderungen sind zu speziell und nicht ganz einfach zu erklären.

Werde ich mich mit dem etwas unprofessionellen Weg zufrieden geben müssen.
Danke für die Mühen.
Bitte warten ..
Mitglied: bastla
05.12.2010 um 17:20 Uhr
Hallo crus-online#!

Sorry, hatte vergessen, den "Programmstart"-Zeilen im Batch ein "start" zu spendieren - hole ich aber gleich nach ...

Grüße
bastla
Bitte warten ..
Mitglied: Simon-MCP
05.12.2010 um 17:27 Uhr
Zitat von bastla:
Hallo crus-online#!

Sorry, hatte vergessen, den "Programmstart"-Zeilen im Batch ein "start" zu spendieren - hole ich aber
gleich nach ...

Grüße
bastla

Kein Problem. Dachte nur das meine Anforderungen vielleicht etwas schlecht erklärt wurden.
Ich werde mir die Geschichte mit "HTA" auf jeden Fall mal anschauen. Vielleicht komme ich damit ja weiter.

Vielen Dank!

Gruß
Crus
Bitte warten ..
Mitglied: m1g0811
06.12.2010 um 21:47 Uhr
lade dir mal von Microsoft Technet ->Scripting das Programm "HTA-Helpomatic" -> das generiert automatisch HTA-Code für dich.
Ist für den Anfang leichter vorallem wenn du in Html nicht so fit bist.HTA ist vbs bzw js in HTML integriert.
Damit kannt du auch Buttons oder auch Listboxen erstellen um z.B die zu installierenden Anwendungen auszuwählen.
Was du brauchst ist die Onload-Funktion:
du loggst denn Programmablauf in Textfile und lädst z.B das Hta Formular mit einer Textbox alle 10 Sekunden neu mit dem Inhalt des Textfiles.
Beispiele findest du in dem chm_File "HeyScriptingGuy" auch über das Technet Scripting erhältlich

zum starten der Programme ich würde die Pfade der Programme in Konstanten ablegen und diese dann über wshell.run starten

const PROG_WORD = "C:\Programme\office\12.0\winword.exe"
const PROG_EXCEL = "C:\Programme\office\12.0\excel.exe"
const FILE_LOG = "c:\temp\mylog.txt"
set owshell = createobject("Wscript.shell")
set ofso = createobject("Scripting.Filesystemobject")
if not ofso.fileexists(FILE_LOG) Then
set logdatei = ofso.createtextfile(FILE_LOG)
Else
set logdatei = ofso.opentextfile(FILE_LOG,8)
End if
owshell.run PROG_WORD , , True
wscript.sleep 5000
logdatei.writeline "word wurde ausgeführt und beendet"
owshell.run PROG_EXCEL , , True

2.Möglichkeit mit Exec programm ausführen und den Status prüfen(muss Anwendung unterstützen- 0 heist bei meisten Programme das es fehlerfrei ausgeführt wird)

set: word_run = owshell.exec PROG_WORD

do while word_run.Status = 0
wscript.sleep 100
loop
logdatei.writeline "word wurde ausgeführt und beendet"
Bitte warten ..
Mitglied: bastla
07.12.2010 um 12:44 Uhr
@m1g0811
Willkommen im Forum!

BTW:
01.
if not ofso.fileexists(FILE_LOG) Then 
02.
set logdatei = ofso.createtextfile(FILE_LOG) 
03.
Else 
04.
set logdatei = ofso.opentextfile(FILE_LOG,8) 
05.
End if
ließe sich nicht nur schöner formatiert darstellen , sondern auch auf
set logdatei = ofso.opentextfile(FILE_LOG,8,True)
kürzen ...

Grüße
bastla
Bitte warten ..
Mitglied: m1g0811
11.12.2010 um 11:32 Uhr
Das True bewirkt das die Datei angelegt wird, wenn nicht vorhanden oder?

Weil ich es gerade oben sehe - mehrfache Verwendung der Anführungsstriche in einer Zeile - geht das bei euch?

das hier : """C:\Program Files (x86)\Microsoft Office\Office12\winword.exe"""

Bei mir funktioniert sowas nicht da der wsh, die zweiten Anführungsstriche als Ende deutet und nicht als weiteres Paar innerhalb.
Also:
1: ""
2: "C:\Program Files (x86)\Microsoft Office\Office12\winword.exe"
3: ""

oder liege ich falsch?
Bitte warten ..
Mitglied: bastla
11.12.2010 um 17:56 Uhr
Hallo m1g0811!
Das True bewirkt das die Datei angelegt wird, wenn nicht vorhanden oder?
Korrekt.
mehrfache Verwendung der Anführungsstriche in einer Zeile - geht das bei euch?
Warum denn nicht (2 aufeinanderfolgende Anführungszeichen innerhalb einer String-Konstante ergeben 1 Anführungszeichen)?

Lässt sich auch einfach prüfen:
01.
CMDString = """C:\Program Files (x86)\Microsoft Office\Office12\winword.exe""" 
02.
MsgBox CMDString
Du kannst aber natürlich auch zu dieser Schreibweise greifen:
01.
CMDString = Chr(34) & "C:\Program Files (x86)\Microsoft Office\Office12\winword.exe" & Chr(34) 
02.
MsgBox CMDString
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
VB for Applications
VBS Script kann Prgramm nicht starten
gelöst Frage von C.BoernerVB for Applications15 Kommentare

Hallo ihr Admins, Ich habe folgendes Scenarios ein Programm läuft im Hintergrund (Drivve-Image) das übergibt Werte an ein VBS ...

Batch & Shell

VBS-Script reagiert bei Start über Task anders als sonst

gelöst Frage von LarzBatch & Shell4 Kommentare

Hallo zusammen, ich habe hier eine Batch-Datei die ein Programm mit verschiedenen Parametern aufrufen muss: Ein Parameter ist dabei ...

Batch & Shell

Start mehrerer Instanzen eines Programms verhindern

Tipp von mupan7Batch & Shell13 Kommentare

Ich hab nur aufwändige Programmierungen mit Windows-Titel-Abfrage usw. gesehen. Und meist testen dann die Anwendungen selbst und müssen sich ...

Batch & Shell

Hilfe Bei einem vbs Script

gelöst Frage von Hattori-HanzoBatch & Shell19 Kommentare

Hey Leute Könnt ihr mir bitte sagen was daran falsch ist? beschäftige mich erst seit kurzem mit vbs scripts. ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 1 TagHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++27 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux27 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless22 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL19 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...