Eine Powerpoint Präsentation remote starten, WakeOnLAN uvm.

Heute mal wieder ein etwas längerer Artikel.

Seit ein paar Tagen haben wir in unserer Empfangshalle einen LCD-Fernseher stehen, wo eine Präsentation laufen soll. Vorerst liefen dort Bilder über einen angeschlossenen USB Stick. Das war meiner Meinung nach aber viel zu unhandlich. Jeden Morgen musste jemand den LCD anstellen, dann über das „etwas komische“ Menü den USB Stick wählen und jedes einzelne Bild, welches angezeigt werden sollte, auswählen. Hinzu kam, dass die Bilder nicht im Vollbildmodus angezeigt werden konnten. Jetzt hat der LCD schon 1920 x 1080 px und dennoch ging das nicht… bis jetzt!

Was ich mir gedacht habe:

Es gibt doch bestimmt irgendwelche Festplatten, welche einen USB Device und ein LAN-Anschluss haben. Dann würde ich die HDD ins Netz hängen und an den Fernseher. Somit würde das elendige „USB-Stick kopieren/hin- und hertragen“ entfallen… Nunja, aber Vollbild und automatisches starten von der Präsentation geht net. Egal, mal nach HDD suchen.

… searching…

… denkste, alles im Bereich von 300-400 EUR. Dafür bekomm ich ja schon nen Netbook :-). Netbook?!? Ah, klasse Idee.

… searching günstiges Netbook…

… gefunden und hier, wie es jetzt läuft (ziemlich smart und ohne viel Pflegeaufwand!).

Kurze Beschreibung, was ich umgesetzt habe:

  • Netbook Asus EeePC 1005 HA gekauft
  • Powerpoint Viewer 2007 installiert
  • Netbook in die Domäne geholt
  • Remotezugriff erlaubt
  • in der Registry automatische Domänenanmeldung aktiviert
  • WakeOnLan via MagicPackage an der Netzwerkkarte aktiviert
  • Batch geschrieben um Remote die Präsentationen zu starten und Remote das Netbook anzuschalten
  • Ordnerfreigabe auf NetBook eingerichtet, wo die Präsentationen einfach abgelegt werden können
  • … fertig

 

Ergebnis:

Wenn sich unsere Empfangsdame morgens an ihrem Rechner anmeldet, wird das Netbook und eine beliebige Präsentation automatisch gestartet. Einzig und allein der LCD muss noch per Fernbedienung angeschaltet werden. Außerdem ist es möglich remote eine x-beliebige Präsentation auf dem Netbook zu starten.

Und hier die lange Beschreibung:

Die ersten Punkte brauche ich wohl nicht wirklich zu erklären… jedem, wer sich damit beschäftigt, sollte klar sein, wie man ein Netbook kauft und Software besorgt und installiert, bzw. das Netbook in eine Domäne packt.
Interessant wird es bei der automatischen Domänenanmeldung, dem WakeOnLAN und dem automatischen Starten einer Präsentation (alles remote!).

Um das alles zu ermöglichen müssen einige Haken an der Netzwerkkarte über den Gerätemanager gesetzt werden und lustige Einträge in der Registry gemacht werden. Eine Batch gehört auch dazu. Aber alles der Reihe nach.

  1. Netzwerkkarte für WakeOnLAN einrichten
    Geht zum Gerätemanager und dort zum Punkt Netzwerkadapter. Sucht euren LAN-Adapter und doppelklickt darauf. Auf dem Reiter „Energieverwaltung“ setzt den Haken bei „Das Gerät kann den Computer aus dem Ruhezustand aktivieren“. Auf dem Reiter „Erweitert“ sucht nach dem Punkt WakeOnLAN oder Aktivierungseinstellung… das ist abhängig vom Hersteller der LAN-Karte… und setzt dort Werte wie „Magic & adressierte Pakete“, „WakeOnLAN = ein“ usw. Somit ist es nun möglich, dass der Rechner remote eingeschaltet wird. Ganz ohne Task oder durch drücken des Power-Buttons.
  2. Automatische Domänenanmeldung in der Registry eintragen
    In meinem Fall musste ich das Netbook in die Domäne holen, da ich in der Remote-Batch mit dem Tool „psexec“ arbeite. Das setzt eine Adminfreigabe auf C$ voraus (Windows XP Pro, Vista Business required… könnte auch eventuell mit „XPProme“ funktionieren) und ein Domänenbenutzer zur Anmeldung.
    Hier nun die kleine Reg-Datei zum importieren:

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon]
    "AutoAdminLogon"="1"
    "DefaultDomainName"="Domänenname"
    "DefaultPassword"="Passwort"
    "DefaultUserName"="User"
    "ForceAutoLogon"="1"

    Die passenden Werte ergänzen und einfach dieses als file.reg speichern und anschließend doppelt klicken… fertig. Nach einem Neustart sollte der PC trotz Domänenanmeldung sich automatisch einloggen.

  1. Batch für’s WakeOnLAN & Starten einer PPT schreiben
    Jetzt kommen wir zum Herzstück der ganzen Sache. Das vorherige war nur ein wenig Geplänkel :-).
    Allerdings ist das Folgende auch keine Hexerei! Hier die „autostart-Netbook-und-PPT.cmd“:

    @echo OFF
    REM **** Script by Tw!tch
    REM **** WakeOnLan + PPTX automatisch starten **** 
     
    @echo OFF
    REM **** Variablen setzten
    set path=c:praesentationen
    set rechner=Netbook
    set file=zentraleallgemein
    set LOGFILE=%file%.log
     
    echo.
    echo.In ca. 60 Sekunden startet die Praesentation...
    echo.---------------------------------------------- >> "%LOGFILE%" 2>&1
    echo.###Starte Rechner %rechner%...### >> "%LOGFILE%" 2>&1
    call WolCmd.exe MAC-ADRESSE IP-ADRESSE SUBNETZ PORT >> "%LOGFILE%" 2>&1
    echo Juhu... WakeOnLAN. In 60 Sekunden startet die Praesentation >> "%LOGFILE%" 2>&1
    call sleep.exe 60 >> "%LOGFILE%" 2>&1
    echo.PP-File: %file% - Datum: %date% - Zeit: %time% >> "%LOGILE%" 2>&1
    echo.PowerPoint - Praesentation wird gestartet: >> "%LOGFILE%" 2>&1
    PSEXEC \%rechner% -d -i -u DomäneUser -p Passwort  "C:ProgrammeMicrosoft OfficeOffice12PPTVIEW.EXE" /S /N "%path%%file%.pptx" >> "%LOGFILE%" 2>&1
    echo.---------------------------------------------- >> "%LOGFILE%" 2>&1
     
    exit

    Hierzu eine kurze Erklärung:
    Die Batch legt ein Logfile an, welches gut zum debuggen geeignet ist. Logfilename ist dabei der Dateiname der Präsentation. Im ersten Bereich der Batch werden also ein paar Instanzvariablen gefüllt, wie Rechnername, Dateiname der Präsentation, Pfad usw. Im zweiten Teil gehts dann Rund. Mit Hilfe der EXE „WolCmd“ mache ich per Broadcast das MagicPaket, welches das Netbook automatisch starten lässt. Eine genaue Beschreibung zu dem kleinen Helferchen findet ihr auf der WolCmd-Seite. Anschließend nutze ich die „sleep.exe“ um erstmal auf das gerade startende Netbook 60 Sekunden zu warten um anschließend per „PSEXEC“ den PowerPointViewer mit der Standard-Präsentation automatisch zu starten. In meinem Falle reicht es nur Dateien mit „pptx“-Endung zu starten. Das müsste noch geändert werden, wenn man auch Office2003 PPT’s starten möchte.
    Weitere Info’s zu den drei Tools findet ihr auf den jeweiligen Seiten.

    Hier die Batch, die individuelle PPTX’s startet:

    @ECHO OFF
     
    set path=c:praesentationen
    set rechner=Netbook
    set /P file=Geben Sie den Dateinamen der Praesentation an:
    set LOGFILE=%file%.log
     
    echo. ---------------------------------------------- >> "%LOGFILE%" 2>&1
    echo. PP-File: %file% - Datum: %date% - Zeit: %time% >> "%LOGFILE%" 2>&1
    echo. PowerPoint - Praesentation wird gestartet: >> "%LOGFILE%" 2>&1
    PSEXEC \%rechner% -d -i -u DomäneUser -p Passwort  "C:ProgrammeMicrosoft OfficeOffice12PPTVIEW.EXE" /S /N "%path%%file%.ppt" >> "%LOGFILE%" 2>&1
    echo. ---------------------------------------------- >> "%LOGFILE%" 2>&1

    Auch hierzu eine kurze Erklärung:
    Die Batch startet mit einer Eingabeaufforderung. Dort muss man den Dateinamen der Präsentation eingeben, die gestartet werden soll. Alles andere, wie Logfile, und starten der PPT ist identisch wie in der vorherigen Batch.

 

Im Grunde habe ich es sehr schmal gehalten und damit einiges an doofer Arbeit erspart.
Das Ganze wird durch eine Netzfreigabe eines Ordners für Präsentationen auf dem Netbook abgerundet, wo die Marketingabteilung spezielle PPT’s ablegen kann und per Batch gestartet werden kann.

… ach, das Leben ist super, wenn man solche Kleinigkeiten schnell umsetzten kann… und wenn dann einige staunen, was so machbar ist, ist’s noch besser :-).

*Eigenlob @Tw!tch* ? 🙂

Office 2003, 2007 Vorlagenordner & Standardspeicherort per Batch und regedit ändern

Es war mal wieder an der Zeit, sich ein wenig die Arbeit beim Einrichten/Warten neuer Clients in Firmen-Domäne zu erleichtern.

Hintergrund:

Da wir immer noch Clients nach Bedarf kaufen und kaum Open Value Office/Windows Lizenzen benutzen… bitte nicht lachen… ist es üblich, dass wir eine Office Lizenz dazukaufen. Da es kein Office 2003 mehr gibt, kaufen wir im Moment Office 2007 als MLK-Version. Somit ist es natürlich kaum möglich gut gesteuert diese Software zu verteilen und einfach voreingerichtet zu verteilen, das kleine Workaround soll da helfen.
Der zweite Grund für die Maßnahme, die ich gleich erläutere ist, dass einige User meinen, ihren Vorlagenordner oder Standard-Speicherordner auf die lokale Festplatte zurückzuschieben… Nachteil: Bei Festplattencrash war’s das mit den schönen Daten, da die Clients selbst nicht gesichter werden.

Vorwort:

In dem kleinen HowTo beschreibe ich, wie man schnell und einfach per Logonscript den Vorlagenordner und den Standard-Speicherort-Ordner per Regedit und Batch immer wieder aufs neue abändert. Auch wenn der User den Pfad ändert, so ist doch beim Nächsten Login der Pfad wieder der genormte Firmenpfad :-)… irgendwann geben se das dann mit dem abändern auf :-).

HowTo

Was muss getan werden:

  1. eine reg-Import-Datei schreiben
  2. eine Batch schreiben
  3. Logonscript anpassen

Wie sehen die Batches aus und die passende Erklärung dazu:

1. Die reg-Importdatei ist ziemlich einfach aufgebaut. Sie beinhaltet den allgemeinen Reg-Syntax, z.B. wo der Key liegt und welchen Wert dieser bekommen soll. Wichtig ist, dass ein Backslash doppelt vorhanden sein muss (z.B. Z:\Ordner\Unterordner). Die *.reg – Datei benutze ich zum Ändern des Keys für Arbeitsgruppenvorlagen und Uservorlagen. Da der Ordner mit den globalen Vorlagen für alle identisch ist, kann ich das bequem über eine *.reg-Datei erledigen. Schwieriger wird es, wenn für jeden User ein individueller Pfad hinterlegt werden soll. Dazu aber mehr bei Punkt 2. Hier erstmal der reg-Import für Office 2003 und Office 2007.

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERSoftwareMicrosoftOffice11.0CommonGeneral]
"SharedTemplates"="Z:\Alle\Vorlagen\"
"UserTemplates"="Z:\Alle\Vorlagen\"

[HKEY_CURRENT_USERSoftwareMicrosoftOffice12.0CommonGeneral]
"SharedTemplates"="Z:\Alle\Vorlagen\"
"UserTemplates"="Z:\Alle\Vorlagen\"   

2. Die Batchdatei ist in meinem Falle nötig gewesen, da ich per Logonscript individuelle Standard-Speicherorte für jeden einzelnen User anlegen wollte. Jeder User hat auf unserem Netzlaufwerk einen eigenen Ordner mit entsprechenden Zugriffsrechten. Somit variiert der Wert für einen regkey. Da ich den Usernamen über die Variable „%username%“ beim Logonscript habe, aber nicht als Variable einfach an einen *.reg-Datei übergeben kann, habe ich folgende Lösung gewählt, wieder für Office 2003 und Office 2007 gültig. Sollten keine indiviuellen Ordner angesteuert werden, macht es mehr Sinn diese Regkeys und deren Werte direkt in der aus Punkt 1 genannten reg-Import-Datei unterzubringen.

@echo Registry Updaten
@echo Setzte den Globalen Vorlagen-Ordner fuer Office
:: Öffne die in Punkt 1 angelegte *.reg-Datei und importiere diese ohne Eingabeaufforderung
regedit /s \servergloballogonRegsglobal_office_templates.reg


@echo Setzte den Standard Speicherort fuer Office 2003,2007
@echo off
reg add "HKEY_CURRENT_USERSoftwareMicrosoftOffice11.0WordOptions" /v "DOC-PATH" /t REG_SZ /d "Z:%username%word" /f      >NUL
reg add "HKEY_CURRENT_USERSoftwareMicrosoftOffice11.0ExcelOptions" /v "DefaultPath" /t REG_SZ /d "Z:%username%excel" /f >NUL
reg add "HKEY_CURRENT_USERSoftwareMicrosoftOffice12.0WordOptions" /v "DOC-PATH" /t REG_SZ /d "Z:%username%word" /f      >NUL
reg add "HKEY_CURRENT_USERSoftwareMicrosoftOffice12.0ExcelOptions" /v "DefaultPath" /t REG_SZ /d "Z:%username%excel" /f >NUL      

3. Das Logonscript habe ich nun nur noch so angepasst, dass die entsprechenden neuen Dateien korrekt aufgerufen werden.

:: Registry-Updates
:: Öffnet die Batchdatei aus Punkt 2
call regchange.cmd
  

Fazit:

Ein einfacher Weg, der mich 45 min Einrichtung gekostet hat. Sicherlich ist das alles mit einer GPO auch machbar. Allerdings ist unser AD recht schlecht aufgebaut worden und es ist schwierig dort gezielt Gruppen eine Richtlinie zuzuordnen. Das Umändern des ActiveDirectories ist bei mir schon länger auf einem „gelben Zettel“ vermerkt. Allerdings scheue ich mich ein wenig vor dem Aufwand. Stichwort „gewachsene Struktur“… in solcher einer Situation zieht immernoch der Spruch „never touch a running system“ bei mir :-).

Word 2007 Speicherort für den Vorlagenordner ändern

Es ist manchmal nötig, dass man ein globales Verzeichnis bei vielen Clients nutzt, wo die allgemeinen Vorlagen für Briefe, Präsentationen usw. enthalten sind. Unter Word 2003 war das recht einfach unter Optionen/Extras zu erreichen. Bei Word 2007 ist das ein wenig versteckter.

Hier ein Screenshot, wo ihr den versteckten Menüpunkt findet.
In die Wordoption gelangt ihr, indem ihr oben links auf das Office Logo klickt und unten in dem sich öffnenden Menü auf Word-Optionen klickt.

word2007

Hinweis:

Wenn Änderungen bezüglich dem Vorlagenordner in Word 2007 gemacht werden, betrifft das auch automatisch Excel und Powerpoint.

mal wieder was zum Schmunzeln (DAU)

TelefonCall:
Anderes Ende: „Tobias, kannst du mir mal was zeigen in diesem neuen Programm was ich hier habe?“
Ich: „Welches neue Programm, meinst du NAVISION?“
Anderse Ende: „Nein, dieses komisch Programm hier…“
Ich: „Welches Programm? (leicht angenervt)… Warte ich komm mal vorbei…“

Ich schluder übern Flur und überlege, was ich für neue Software bei der Person installiert habe. Aber mir fällt nix ein.
Dort angekommen frage ich: „Welches Programm denn?“

Person öffnet Excel 2003… „Das hier!“
Meine Reaktion: „Oh, ok, DAS ganz neue Programm (ironisch!), welches du schon seit mind. 10 Jahren an diesem Arbeitsplatz benutzt…“

ENDE

 PS: Irre, oder?

Termineinladung wird an falschen User gesendet – mal wieder Outlook 2003 FeatureBug

Heute erhielt ich eine E-Mail, wo mir ein Mitarbeiter berichtete, dass seine Einladungen an eine bestimmte Person nicht ankommen.
Als erstes erstellte ich eine Test-Einladung an die Person und siehe da, es kam sofort ein Systemmeldung per Mail zurück:

Ihre Nachricht hat einige oder alle Empfänger nicht erreichttest EinladungGesendet am: 30.10.2008 13:56
 
Folgende(r) Empfänger kann/können nicht erreicht werden:
 
Andere Person am 30.10.2008 13:56
 
Das E-Mail-Konto ist in der Organisation, an die diese Nachricht gesendet wurde, 
nicht vorhanden. 
Überprüfen Sie die E-Mail-Adresse, oder setzen Sie sich direkt mit dem Empfänger 
in Verbindung, um die richtige E-Mail-Adresse herauszufinden.

Lustig, lustig dachte ich… die Person, die die Mail anstatt dem wirklichen Empfänger bekommen hat existiert gar nicht mehr in unserem Unternehmen. Somit auch keine E-Mailadresse, kein Postfach, kein ActiveDirectory-Eintrag… wieso versucht der also die Termineinladung jemand anderem zuzustellen.
Nach ein paar MInuten der PRüfung im AD und im Exchange-Admin war mir klar, dass der Fehler hier nicht zu finden war. Dort war alles sauber gelöscht und geändert worden…

Nach langer,  langer Suche… hier der Grund allen Übels (mal wieder ein „DAU „am Client!):
Ein veralteter Eintrag mit einem nicht mehr vorhandenen Benutzer /Postfach eines ehemaligen Mitarbeiters war unter „Extras>Optionen>Stellvertretungen“ vorhanden.
Demnach versucht das System die Einladung zuzustellen, sprang auf die Stellvertretung, dessen Postfach nicht mehr existierte, und versuchte dahin die Einladung zu versenden.

Lösung:
Einfache diese Stellvertretung gelöscht und es funktioniert alles wieder so wie es soll :-).

Doof wird es, wenn das Postfach des Stellvertreters noch aktiv ist und man wie wild sucht, warum die Stellvertretung die Einladungen andauernd bekommt :-)…

Warum nenn ich das Ding Outlook 2003 FeatureBug?
Ganz klar… der Outlook-Client hat es nicht geregelt bekommen zu wissen, dass der User gar nicht mehr existiert und dennoch wie dumm versucht die Mails zuzustellen.