paralyzed
Goto Top

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

Content-Key: 175588

Url: https://administrator.de/contentid/175588

Printed on: April 20, 2024 at 12:04 o'clock

Member: Kirschi
Kirschi Nov 01, 2011 at 11:18:21 (UTC)
Goto Top
Hallo,

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.

Gruß
Andreas
Member: Logan000
Logan000 Nov 01, 2011 at 11:57:07 (UTC)
Goto Top
Moin Moin

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.

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.

Plan B. wäre, statt Outlook 2003 über das Adminfile zu entfernen, eine seperate Denstallation beim herunterfahren und eine Installation beim hochfahren.

Gruß L.
Member: Paralyzed
Paralyzed Nov 01, 2011 at 13:29:08 (UTC)
Goto Top
Danke für eure guten Einwände.
Wie Logan erwähnt hat kann ich schlecht auf mein Adminfile verzichten, welches Deinstallation, Installation von ServicePack und einige Registry-Einträge regelt.

Die Möglichkeit, mit der Benutzeranmeldung erst zu beginnen, wenn alle Gruppenrichtlinien / Scripte durchgelaufen sind, gibt es nicht?

Plan B ist nicht schlecht, trotzdem hätte ich gerne eine Meldung für den Benutzer. Sonst haben wir einen Haufen Leute, welche nach dem Anmelden ihr Outlook suchen (ja, auch wenn wir vorab informieren face-wink.

Es muss doch irgendwie möglich sein die Meldung von msg.exe per script zu schliessen...

Gruss Para
Member: Logan000
Logan000 Nov 01, 2011 at 14:28:03 (UTC)
Goto Top
Moin

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:
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.
Member: Paralyzed
Paralyzed Nov 02, 2011 at 12:13:01 (UTC)
Goto Top
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.

Das einzige was wir dazu einfällt wäre ein Sendkeys(Enter) via VBS. Aber sowas geht auch schnell mal daneben.

Habe ich mir auch überlegt, wenn der User dann aber trotzdem mit Arbeiten beginnt, gerät das Fenster schnell in den Hintergrund. Dann gehts wohl daneben? face-smile

Kannst du dir keine Meldung im IE zusammenbauen? den kann man doch dann schön beenden.

Was fürne Meldung meinst du? Also Sendkeys?

Danke & Gruss
Para
Member: Logan000
Logan000 Nov 02, 2011 at 13:13:22 (UTC)
Goto Top
Moin Moin

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.

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
Ob du dann das objExplorer schliesst oder via tasKill beendest bleibzt dir überlassen.

Gruß L.
Member: Paralyzed
Paralyzed Nov 02, 2011 at 14:45:20 (UTC)
Goto Top
Maximale Wartezeit nicht mindest Wartezeit. Wenn der Client schnelle fertig ist gehts weiter.
Achso... klar, danke. Probier ich bei Gelegenheit.

Sowas in der Art als VBS Skript:
Erstmal vielen Dank dafür. Das sieht schonmal ganz gut aus.
Noch habe ich aber die eine oder andere Frage:

- 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.)

Im Netz habe ich mich leider nicht grösser schlau machen können und was VBS angeht bin ich definitv Einsteiger!
Member: Logan000
Logan000 Nov 03, 2011 at 07:23:59 (UTC)
Goto Top
Moin moin

Zitat von @Paralyzed:

- 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.)

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 Technet
Ansonsten solltest du auch hier über die Bordsuche etliches finden.

Gruß L.