Ihr kennt das Fenster bestimmt, wenn ein USB-Gerät angeschlossen oder ein „Scheibenmedium“ eingelegt wird. Ich glaube 90% aller Computeruser klicken dieses Fenster entweder weg oder klicken auf „Ordner öffnen, um Dateien anzuzeigen“. Ich hab schon Leute gesehen, die Musik CDs eingelegt haben, auf „Ordner öffnen“ geklickt haben, nur um dann Rechtsklick auf das CD-Laufwerk zu machen und „Mit Windows Media Player abspielen“ zu klicken. Anstatt sie gleich die Media Player Option wählen.
Wie dem auch sei, die Funktion ist bei einer Standard Windowsinstallation suboptimal konfiguriert. Unten, in diesem Fenster steht ein Link zu den „weiteren Optionen für die automatische Wiedergabe“, klickt darauf. Ist gerade ein solches Fenster nicht offen, könnt ihr im Startmenü nach „automatische Wiedergabe“ suchen und dadurch in die Systemsteuerung gelangen. Unter Windows XP müsst ihr Rechtsklick auf euer Gerät machen (CD/DVD-Laufwerk, Wechseldatenträger etc) und dann in der Kartei „AutoPlay“ nachsehen.
Von hier aus könnt ihr steuern, bei welchem Inhalt welche Aktion ausgeführt werden soll. Ich habe hier mal eine – für mich einleuchtende – Konfiguration vorbereitet.
Ihr könnt die Funktion auch deaktivieren wenn Wechselmedien bei euch z.B. durch Autorun Scripte geöffnet oder verwaltet werden. Ganz oben in diesem Fenster müsst ihr dafür nur das Häkchen von „automatische Wiedergabe [..] verwenden“ entfernen.
Das Ausführen von CPAU Jobs vom Netzlaufwerk funktioniert aufgrund von simplen Windows Sicherheitsprinzipien nicht. Schließlich hat ein lokales Administratorkonto kein Zugriff auf Netzlaufwerke, die ja einen Domänenaccount benötigen. Also brauche ich ein Workaround, wenn ich automatisierte Softwareinstallationen auf einem UNC Share im Unternehmen bereitstellen will.
Ziel soll es sein, jedem eingeschränkten Nutzer Admin-Softwareinstallationen dank CPAU vom Netzlaufwerk aus bereitzustellen:
So wird es dann aussehen. Der Nutzer bewegt sich auf dem Netzlaufwerk, starte eine Batch und die Installation mit Adminrechten wird gestartet.
Kurz zum Verständnis: Der Aufbau eines cpau Systems (mit Jobs) ist grundsätzlich recht einfach: 1 Batch Script ist für den Benutzer („Userscript“). Bei Doppelklick führt es die gespeicherte Job Datei aus. Die Job Datei führt wiederum ein Login auf das Administratorkonto durch und startet eine Datei oder ein Script („Ziel-Datei/Installer“) mit den entsprechenden Rechten. Für den Benutzer müssen weder Job Datei noch die Ziel-Datei sichtbar sein.
Das Verzeichnis mit den Benutzerscripten und das Verzeichnis mit den Job- und Ziel-Dateien.
Wären Netzlaufwerke erlaubt müsste das Benutzerscript nur 1 Zeile haben: bash“>“\\Server\Pfad\zu\cpau.exe“ -dec -file „\\Server\Pfad\zu\jobfile.job“ -nowarn -lwp
Das geht natürlich nicht. In der Job sind die Administratorcredentials gespeichert, beim Start von cpau wird das working dir auf einen lokalen Pfad gelegt und der Administrator kommt auch nicht mehr an den Server. Es bleibt nur eine Lösung: alles, was benötigt wird, lokal zu kopieren und damit lokal zu arbeiten.
Hier das Userscript: winbatch“ line=“1″> @echo off echo Verzeichnis erstellen und reinigen if not exist c:\temp md c:\temp >> nul del c:\temp /f /s /q >> nul echo Job Files und Ziel-Dateien lokal kopieren copy \\Server\Pfad\zu\den\Installer\und\Jobfiles c:\temp /y >> nul echo Lokale Jobfile ausführen c:\temp\cpau.exe -dec -file „c:\temp\notepad.job“ -nowarn -lwp echo Verzeichnis löschen, 1 Ziel-Datei ist in Benutzung und bleibt übrig del %wdir% /f /s /q >> nul
Das mag jetzt etwas unübersichtlich aussehen, ist aber ein einfaches Prinzip. Es wird ein lokaler Ordner erstellt, falls noch nicht vorhanden. Der Inhalt des Ordners wird gelöscht, falls der Ordner existieren sollte und sich noch Dateien darin befinden. Dann wird der Ordner vom Netzlaufwerk, in dem Installer und Jobfiles liegen in diesen lokalen Ordner kopiert. Die nun lokal liegende Jobfile kann jetzt ausgeführt werden. Danach wird der Ordnerinhalt gelöscht. Fertig. Der Benutzer startet dieses Userscript vom Netzlaufwerk aus und bekommt von der ganzen lokalen Geschichte nichts mit, einige Sekunden später startet einfach die administrative Installation, die das Userscript schließlich ja hervorbringen sollte.
Nun müsst ihr das Jobfile speziell für diesen Fall generieren. Erstellt euch den temporären Ordner, falls noch nicht vorhanden. Pfad und Name genauso wie in dem Userscript benutzt. Kopiert dort den gewünschten Installer oder Ziel-Datei hinein und erstellt die Job File mit folgender Codezeile: cpau.exe -u Administrator -p PaSsWoRt -ex „c:\temp\installer.exe“ -crc „c:\temp\installer.exe“ -enc -file „\\beliebiger\lokaler\oder\serverpfad\installer.job“
Wichtig ist, dass ihr die Jobfile mit den lokalen Pfaden der Ziel-Datei erstellt. Der Installer muss in dem selben lokalen Verzeichnis liegen, wie die Dateien durch das Userscript kopiert werden.
Ich nutze das System, wie man auf den Screenshots oben sieht, bereits produktiv im Unternehmen und es kommt sehr gut bei den Mitarbeitern an. Sollte es über einfache Aufgaben hinausreichen, bietet es sich an, das Script zu verbessern. Hier ist meine Version des Userscripts: winbatch“ line=“1″> @echo off echo Variablen erstellen… set log=\\server\laufwerk\Computer\Software\GPOs_Install\PC-Data\Updatelogs\Programmupdates.txt set wdir=c:\updatetemp set updatedir=\\server\laufwerk\Computer\Software\GPOs_Install\Updates\ set /a loop=0 echo Verzeichnis erstellen, reinigen und kopieren… echo %computername% – %username% – %date% %time% startet Notepad++ Installer >> %log% if not exist %wdir% md %wdir% >> nul del %wdir% /f /s /q >> nul :kopieren set /a loop=%loop%+1 if %loop%==4 goto :Fehler copy „\\server\laufwerk\Computer\Software\cpau.exe“ %wdir% >> nul if errorlevel 1 goto :kopieren copy %updatedir% %wdir% /y >> nul if errorlevel 1 goto :kopieren echo Installation starten… %wdir%\cpau.exe -dec -file „%wdir%\notepad.job“ -nowarn -lwp echo Verzeichnis löschen… del %wdir% /f /s /q >> nul echo %computername% – %username% – %date% %time% beendet Notepad++ Installer >> %log% echo ################ >> %log% goto :eof
:Fehler echo. echo ### Fehler beim Kopieren ### echo Bitte informieren Sie die EDV Abteilung. pause goto :eof
Alle Pfade werden in Variablen gespeichert und erleichtern die Übersicht im Script. Ein Logfile wird beim Start und beim Beenden einer Softwareinstallation (hier im Beispiel Notepad++) beschrieben und ermöglicht mir das (noch relativ grundlegende ^^) Troubleshooting, falls es zu Problemen kommen sollte. Der Kopiervorgang des Installer- und Jobordners wird mit errorlevel überwacht und in einer Schleife wiederholt, sollte er fehlschlagen. Schlägt er zu oft fehl, wird eine Fehlermeldung ausgegeben. Läuft alles gut (das war bis jetzt immer der Fall), so wird die Job gestartet und der lokal liegende Installer mit dem lokalen Administrator ausgeführt.
Was der Benutzer sieht, zeige ich in dem Video ganz oben. Das passiert im Hintergrund:
Der Nachteil wird schnell klar: je mehr Softwareinstallationen ich bereitstelle und je größer die Produkte sind desto länger dauert der Kopiervorgang für jeden Benutzer bei jeder Installation, da immer der ganze Ordner kopiert wird. Das könnte man ganz leicht umgehen, in dem man in jedem Script nur die Dateien kopieren lässt, die auch wirklich benötigt werden, z.B. %programm%.job und %programm%.exe. Sollte ich das demnächst noch so programmieren werdet ihr es erfahren.
Flashmobs in Werbungen sind Trend. Am bekanntesten wahrscheinlich noch die von T-Mobile oder Telekom. Hier wird das Samsung Galaxy angepriesen:
Ich find den Anfang interessant, wo die 4 Erwachsenen recht detailgetreu den Tanz der Kleinen imitieren. Am Ende gerät sie aus dem Fokus und man sieht die Großen nur noch rumzappeln.
Mich hat gerade mal interessiert, was eigentlich meine längsten Artikel sind. WordPress kann die Liste der Posts leider nicht sortieren und viele Informationen gibts da eh nicht. Also ab in die WordPress Datenbank und in die Tabelle „wp_posts“ (wp_ könnte bei euch anders lauten). Hier stehen all eure Artikel mit gespeicherten Zuständen und Entwürfen drin. Bei meinen 600 Artikeln schon fast 6000 Datensätze. Eine Menge Chaos.
Wir räumen also aus. Weg mit allen Zwischenspeicherungen, „Auto Draft“s und Entwürfen. Wir wollen nur fertig veröffentlichte Artikel sehen. Die Artikel sortieren wir nach Anzahl der Zeichen des Inhalts. sql“ line=“1″> SELECT post_date AS Datum, post_title AS Titel, post_content AS Inhalt, comment_count AS Kommentare FROM `wp_posts` WHERE `post_parent` = 0 AND `post_content` <> „“ AND `post_status` = „publish“ ORDER BY LENGTH( `post_content` ) DESC LIMIT 0 , 50
Update: Ich hab die Anzeige etwas angepasst, angezeigt wird jetzt nur noch das Datum der Veröffentlichung, der Titel, Inhalt und die Kommentaranzahl. Wer alle Informationen sehen will muss SELECT * FROM … nutzen.
Angezeigt werden jetzt die 50 längsten Artikel eures Blogs, der längste zuerst. Wobei „lang“ hier relativ ist. Gemeint ist damit die Anzahl der Zeichen des puren Codes. Ein einziges verlinktes Bild kann schonmal fast 500 Zeichen umfassen, wie dieses ungünstige Konstrukt hier: html“>
Somit ist die Liste vielleicht nicht optimal sortiert. Aber man findet unter den ersten 50 Einträgen sicher die tatsächlich wortreichsten und größten Artikel, die man verfasst hat. Verbesserungsvorschläge, also clevere SQL Befehle, nehme ich gerne entgegen.
Letztens stieß ich mal wieder auf ein gutes altes Problem eines fehlerhaften Firefox Upgrades und musste die 2 fehlerhaft installierten Programme FrontMotion Firefox und Firefox 3 deinstallieren. Die Softwareverwaltung von Windows stellt sich quer, die Uninstaller-Dateien der Programmordner schmeißen mit Fehlermeldungen um sich, der Revo Uninstaller musste her…
…und überzeugte auf ganzer Länge. Das Programm ist besonders benutzerfreundlich und einfach aufgebaut. Eine Deinstallation ist sogar im Erweiterten Modus noch leicht verständlich und sehr gründlich. Die Funktion von CCleaner, nach einer Deinstallation Datei- und Registryreste zu suchen und zu löschen werden automatisch ausgeführt. Wer sich doch unsicher ist, nutzt einen anderen der 4 Deinstallations-Modi, „Gefahrlos“ zum Beispiel.
Im Jagdmodus bekommt ihr ein Fadenkreuz und könnt es an jede beliebige Stelle eures Desktops ziehen. Revo Uninstaller erkennt das Programm, was dahinter steckt und bietet sofort an, das Programm zu beenden (Prozess killen), aus dem Autostart zu nehmen, danach zu googlen oder es zu deinstallieren. Revo Uninstaller hat auch eine Funktion „Junk“ zu suchen und zu löschen, also den temporären Müll jeglicher Art rauszubringen. Aber an dieser Stelle würde ich wieder auf darauf spezialisierte Software wie CCleaner setzen.
DAS ist doch mal ein brauchbares Google Feature. Gestern und Vorgestern, als sich Google Scribe so langsam rumsprach, konnte ich nur mit dem Kopf schütteln. Was für ein nutzloser Service das doch war. Das hat Google heute eindeutig wieder gut gemacht.
Das Prinzip von Google Instant ist so simpel wie genial. Schon während der Eingabe sucht Google nach dem naheliegensten Suchbegriff. Die Google Suggestions, also die Suchbegriffvorschläge während der Eingabe, gibt es ja schon lange. Nun wird der wahrscheinlichste Vorschlag einfach direkt gesucht. Ich habe kurz in einem Video gezeigt, wie Google Instant aussieht:
Ein sehr Punkt dazu konnte ich auf der Google Instant Seite lesen: „If everyone uses Google Instant globally, we estimate this will save more than 3.5 billion seconds a day. That’s 11 hours saved every second.“ Auf gut Deutsch: „Wenn jeder Google-User anstatt der normalen Suche Google Instant benutzen würde, würde das 3,5 Milliarden Sekunden am Tag sparen, oder 11 Stunden pro Sekunde.“ Jo, logisch! Mir wäre 1 Stunde pro Tag mehr Zeit schon recht 😀 Dafür muss ich wahrscheinlich viel googlen.
Die rechte Pfeiltaste während der Eingabe aktiviert die „Auf gut Glück“-Suche. Ihr könnt Google Instant abschalten, wenn ihr wollt. Auf eurer Einstellungen Seite findet ihr die Option dazu. Google Instant funktioniert auf Google.com immer, auf allen anderen Google Homepages nur, wenn ihr mit eurem Google Account eingeloggt seid. Wenn Instant trotzdem nicht funktionieren sollte, folgende Browser werden unterstützt: Chrome v5/6, Firefox v3, Safari v5 und der IE v8 werden unterstützt, derzeit in den Ländern US, UK, Frankreich, Deutschland, Italien, Spanien und Russland.