Unbeaufsichtigte Outlook 2007 Installation mit msg.exe und Taskkill.exe
Hallo liebe Administratoren, ich bin wieder einmal auf eure Hilfe angewiesen.
Folgendes Problem beschäftigt mich zur Zeit:
Unsere Firma plant ein Upgrade von Outlook 2003 auf Outlook 2007 (nein nicht das ganze Office).
Bei ca. 80 Windows-Rechnern macht es deshalb Sinn die Installation automatisch ablaufen zu lassen.
Die Installation soll mit der Benutzeranmeldung gestartet werden und ohne Interaktion im Hintergrund durchlaufen (wird haben zu wenig Ressourcen um die Installation bei jedem Client von Hand als Administrator zu starten).
Ich habe mit Hilfe des Office Anpassungstools ein entsprechendes Adminfile erstellt, dass ich bei setup.exe mitgebe.
Die Setup.exe wird über eine Batchdatei gestartet, welche wiederum über die Gruppenrichtlinie gestartet wird.
Soweit so gut, läuft eigentlich alles - Outlook 2003 wird gelöscht, Outlook 2007 inkl. SP2 installiert.
Jetzt wollte ich aber, dass der Benutzer eine Warnung auf seinem Deskop erhält, sobald die Installation startet.
Dies hinzubekommen war auch nicht die schwierigste Aufgabe. Im Office Anpassungstool öffne ich eine zusätzliche Batchdatei welche über msg.exe die Warnung an den Benutzer ausgibt.
Inhalt:
msg.exe /time:9999 %username% Achtung: Outlook 2007 wird gerade installiert, bitte Outlook 2003 nicht starten.
Nun möchte ich, dass nach der Installation diese Nachricht wieder geschlossen wird. Mit "/time:" ist das natürlich unmöglich, da ich nie weiss, wie lange die gesamte Installation dauert. (wir haben von sehr langsame bis high-end Rechner alles im Einsatz).
Probiert habe ich dann folgendes:
Eine weitere Batchdatei (unschön, ich weiss...) wird ebenfalls im Office Anpassungstool, nach der Installation aufgerufen.
Mit Taskkill soll das Nachrichtenfenster automatisch geschlossen werden.
Inhalt:
Taskkill.exe /F /FI "Windowtitle eq Nachricht von*"
Beim Ausführen erhalte ich aber folgende Fehlermeldung:
Fehler: Der Prozess mit PID XYZ konnte nicht beendet werden.
Ursache: Dies ist ein wichtiger Systemprozess der von TASKKILL
nicht beendet werden kann.
Hat vielleicht jemand eine Idee, wie ich es dennoch schaffe nach der Installation das Fenster zu schliessen? (wenn möglich ohne VBS oder zusätzliche Tools)
Oder gibt es eine ganz andere Möglichkeit den Benutzer über die Installation zu infomieren?
Betriebssysteme Windows XP / Windows 7 (etwa. 50/50%)
Vielen Dank und Gruss
Paralyzed
Folgendes Problem beschäftigt mich zur Zeit:
Unsere Firma plant ein Upgrade von Outlook 2003 auf Outlook 2007 (nein nicht das ganze Office).
Bei ca. 80 Windows-Rechnern macht es deshalb Sinn die Installation automatisch ablaufen zu lassen.
Die Installation soll mit der Benutzeranmeldung gestartet werden und ohne Interaktion im Hintergrund durchlaufen (wird haben zu wenig Ressourcen um die Installation bei jedem Client von Hand als Administrator zu starten).
Ich habe mit Hilfe des Office Anpassungstools ein entsprechendes Adminfile erstellt, dass ich bei setup.exe mitgebe.
Die Setup.exe wird über eine Batchdatei gestartet, welche wiederum über die Gruppenrichtlinie gestartet wird.
Soweit so gut, läuft eigentlich alles - Outlook 2003 wird gelöscht, Outlook 2007 inkl. SP2 installiert.
Jetzt wollte ich aber, dass der Benutzer eine Warnung auf seinem Deskop erhält, sobald die Installation startet.
Dies hinzubekommen war auch nicht die schwierigste Aufgabe. Im Office Anpassungstool öffne ich eine zusätzliche Batchdatei welche über msg.exe die Warnung an den Benutzer ausgibt.
Inhalt:
msg.exe /time:9999 %username% Achtung: Outlook 2007 wird gerade installiert, bitte Outlook 2003 nicht starten.
Nun möchte ich, dass nach der Installation diese Nachricht wieder geschlossen wird. Mit "/time:" ist das natürlich unmöglich, da ich nie weiss, wie lange die gesamte Installation dauert. (wir haben von sehr langsame bis high-end Rechner alles im Einsatz).
Probiert habe ich dann folgendes:
Eine weitere Batchdatei (unschön, ich weiss...) wird ebenfalls im Office Anpassungstool, nach der Installation aufgerufen.
Mit Taskkill soll das Nachrichtenfenster automatisch geschlossen werden.
Inhalt:
Taskkill.exe /F /FI "Windowtitle eq Nachricht von*"
Beim Ausführen erhalte ich aber folgende Fehlermeldung:
Fehler: Der Prozess mit PID XYZ konnte nicht beendet werden.
Ursache: Dies ist ein wichtiger Systemprozess der von TASKKILL
nicht beendet werden kann.
Hat vielleicht jemand eine Idee, wie ich es dennoch schaffe nach der Installation das Fenster zu schliessen? (wenn möglich ohne VBS oder zusätzliche Tools)
Oder gibt es eine ganz andere Möglichkeit den Benutzer über die Installation zu infomieren?
Betriebssysteme Windows XP / Windows 7 (etwa. 50/50%)
Vielen Dank und Gruss
Paralyzed
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 175588
Url: https://administrator.de/contentid/175588
Ausgedruckt am: 23.11.2024 um 01:11 Uhr
8 Kommentare
Neuester Kommentar
Moin Moin
Plan B. wäre, statt Outlook 2003 über das Adminfile zu entfernen, eine seperate Denstallation beim herunterfahren und eine Installation beim hochfahren.
Gruß L.
Zitat von @Kirschi:
wenn Du die Softwareverteilung per GPO nutzt, ist doch die Installation fertig, bevor die Anmeldemaske erscheint?
Zumindest ist das bei meinen verteilten Paketen (allerdings MSI) so.
Ja. Wenn erpro Computer installiert und auf sein Adminfile verzichten kann.wenn Du die Softwareverteilung per GPO nutzt, ist doch die Installation fertig, bevor die Anmeldemaske erscheint?
Zumindest ist das bei meinen verteilten Paketen (allerdings MSI) so.
Zitat von @Paralyzed:
Die Setup.exe wird über eine Batchdatei gestartet, welche wiederum über die Gruppenrichtlinie gestartet wird.
Wenn du die Batchdatei bei systemstart startest sollte die installation durch sein bevor der User sich anmelden kann.Die Setup.exe wird über eine Batchdatei gestartet, welche wiederum über die Gruppenrichtlinie gestartet wird.
Plan B. wäre, statt Outlook 2003 über das Adminfile zu entfernen, eine seperate Denstallation beim herunterfahren und eine Installation beim hochfahren.
Gruß L.
Moin
Computerkonfiguration / Administrative Vorlagen / System / Skripts / Maximale Wartezeit für Gruppenrichtlinienskripts
Das einzige was wir dazu einfällt wäre ein Sendkeys(Enter) via VBS. Aber sowas geht auch schnell mal daneben.
Kannst du dir keine Meldung im IE zusammenbauen? den kann man doch dann schön beenden.
Gruß L.
Zitat von @Paralyzed:
Die Möglichkeit, mit der Benutzeranmeldung erst zu beginnen, wenn alle Gruppenrichtlinien / Scripte durchgelaufen sind, gibt es nicht?
Wie lange der PC auf die Abarbeitung der Startskripte wartet, kann man per GPO hier einstellen:Die Möglichkeit, mit der Benutzeranmeldung erst zu beginnen, wenn alle Gruppenrichtlinien / Scripte durchgelaufen sind, gibt es nicht?
Computerkonfiguration / Administrative Vorlagen / System / Skripts / Maximale Wartezeit für Gruppenrichtlinienskripts
Das einzige was wir dazu einfällt wäre ein Sendkeys(Enter) via VBS. Aber sowas geht auch schnell mal daneben.
Kannst du dir keine Meldung im IE zusammenbauen? den kann man doch dann schön beenden.
Gruß L.
Moin Moin
Maximale Wartezeit nicht mindest Wartezeit. Wenn der Client schnelle fertig ist gehts weiter.
Ob du dann das objExplorer schliesst oder via tasKill beendest bleibzt dir überlassen.
Gruß L.
Wie lange der PC auf die Abarbeitung der Startskripte wartet, kann man per GPO hier einstellen:
Computerkonfiguration / Administrative Vorlagen / System / Skripts / Maximale Wartezeit für Gruppenrichtlinienskripts
Lieber nicht, ich möchte User mit I7 nicht gleich lange warten lassen wie solche mit Core 2 Duo.Computerkonfiguration / Administrative Vorlagen / System / Skripts / Maximale Wartezeit für Gruppenrichtlinienskripts
Maximale Wartezeit nicht mindest Wartezeit. Wenn der Client schnelle fertig ist gehts weiter.
Was fürne Meldung meinst du?
Sowas in der Art als VBS Skript:Set objExplorer = WScript.CreateObject("InternetExplorer.Application")
objExplorer.Navigate "about:blank"
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Width=400
objExplorer.Height = 500
objExplorer.Left = 20
objExplorer.Top = 20
objExplorer.Visible = 1
szHtml = "Ich bin eine <strong>Meldung</strong> für den User."
objExplorer.Document.Body.InnerHTML = szHTML
Gruß L.
Moin moin
Ich habe das Skript mal um eingige Bsp. formatierungen erweitert. Am ende ist noch ein befehl der den IE in den Vordergund schiebt.
Ansonsten solltest du auch hier über die Bordsuche etliches finden.
Gruß L.
- Wie schaffe ich es, dass diese Meldung im Vordergrund erscheint?
- Kann ich den Text formatieren? (ist ja html da müssten Befehle wie <font size>,<bgcolor>, etc. funktionieren. Wollen aber nicht.)
- Kann ich den Text formatieren? (ist ja html da müssten Befehle wie <font size>,<bgcolor>, etc. funktionieren. Wollen aber nicht.)
Ich habe das Skript mal um eingige Bsp. formatierungen erweitert. Am ende ist noch ein befehl der den IE in den Vordergund schiebt.
Set objExplorer = WScript.CreateObject("InternetExplorer.Application")
objExplorer.Navigate "about:blank"
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Width=400
objExplorer.Height = 500
objExplorer.Left = 20
objExplorer.Top = 20
objExplorer.Visible = 1
HK = Chr(34) ' Anführungszeichen als eigene Variable.
szHtml = "Ich bin eine <strong>Meldung</strong> für den User."
szHTML = szHTML & "<p><font size=1px>Dies ist ganz kleiner Text.</font></p>"
szHTML = szHTML & "<p><font size=18px>Dies ist ganz großer Text.</font></p>"
szHTML = szHTML & "<p><H1>Dies könnte eine Überschrift sein.</H1></p>"
szHTML = szHTML & "<p style=" & HK & "color:red;" & HK & ">dieser Text ist rot.</p>"
objExplorer.Document.Body.InnerHTML = szHTML
' Fenster in den Vordergund bringen
' Dazu mus Fenstername exakt den Titel des Fensters enthalten
fenstername ="Leere Seite - Windows Inetrnet Explorer"
Set WshShell = CreateObject("WScript.Shell")
WshShell.AppActivate fenstername
Im Netz habe ich mich leider nicht grösser schlau machen können und was VBS angeht bin ich definitv Einsteiger!
Eine Umfangreiche Sammlung von Beispielscripten findest du auf www.dieseyer.de oder im TechnetAnsonsten solltest du auch hier über die Bordsuche etliches finden.
Gruß L.