android-standard-tipps-sicherheitIch habe heute einer Cousine in meiner Familie geholfen, auf ihr Android Telefon mit kaputtem Display zuzugreifen und Daten zu sichern. Es gibt ein paar grundlegende Android Tipps, an sich wichtige Basic-Learnings, die ich euch mitgeben möchte, die den Prozess heute von 4 Stunden auf 20 Minuten gekürzt hätten:

1.) Aktiviert in eurem Android Gerät den USB-Debugging-Modus: Lest dazu die Schritte auf http://bit.ly/2i4XSXW unter der Überschrift „Entwickleroptionen ab Android 4.2 freischalten“. Dieser Modus ermöglicht wichtige Zugriffswege von außen mit Programmen, wenn die Nutzung des Geräts selbst eingeschränkt ist.

2.) Installiert keine Apps aus anderen Stores als dem offiziellen Google Play Store oder Amazon App Store. Der Store APKmirror ist mit Vorsicht zu betrachten. Und hinterfragt über soziale Netzwerke oder Messenger geschickte Links – wurde dieser Link erwartet und sieht er „normal“ aus? Notfalls nachfragen.

3.) Apps können auch über den PC vollautomatisch auf das Handy installiert werden, über https://play.google.com/store/apps

4.) Ich empfehle die präventive Installation einer Anti-Diebstahl-App, die beim Verlust Zugriff von Außen sowie etliche weitere Funktionen anbietet. Empfehlung: https://www.cerberusapp.com/

5.) Apps der folgenden Kategorien mit Vorsicht verwenden: Battery-Saver, Disk-Cleaner, App-Killer, RAM-Manager. Android selbst verwaltet sein System sehr gut und Apps dieser Art stören dieses Ökosystem mehr als dass es hilft. Manche Funktionen können sinnvoll sein, meistens sind die Apps aber nur Werbeschleudern.

6.) Erstellt halbwegs regelmäßig Backups außerhalb des Handys oder nutzt Cloud-Backup-Features, sodass ihr möglichst wenig Daten verliert, sollte gar kein Zugriff mehr auf das Telefon oder den Datenspeicher mehr möglich sein. Der Prozess eines brauchbaren Backups kann u.U. etwas aufwändiger sein – lasst euch ggf. helfen.

7.) Viele Apps ermöglichen das Speichern von Daten auf der SD-Karte statt auf dem internen Speicher des Telefons – Kamera-Apps, Musik-Apps, einfach mal in den Einstellungen gucken. Auch bieten einige Apps Cloud-Backups an, z.B. Whatsapp oder Galerie-Apps. Im Falle eines kaputten Telefons kann beides Datenverlust vermeiden.

8.) Arbeitet mit modernen Apps/Diensten, die ihre Daten automatisch in der Cloud ablegen. Praktisch alle Google Dienste – Google Mail, Kalender, Kontakte, Notizen, Music, alles empfehlenswerte Dienste. Datenschutzbedenken bei Google? Nicht doch, nach dem 6-Stufen-Privatsphärecheck speichert Google nicht mehr als jeder andere Anbieter auch, macht euch keine falschen Hoffnungen.

(Offtopic) Whatsapp kann auch sehr einfach und komfortabel auf dem PC benutzt werden: https://web.whatsapp.com (es gibt tatsächlich noch Leute, die das nicht wussten 😉

Die Anleitung in diesem Artikel funktioniert vermutlich immernoch einwandfrei, allerdings bevorzuge ich mittlerweile die wesentlich einfachere Deployment-Methode, die ich in diesem Deployment-Guide beschrieben habe.

Intro

Das Deployment von Adobe Reader DC im Windows Netzwerk via GPO Batch-Startscript ähnelt der Verteilung des alten Adobe Readers sehr – dennoch fasse ich die wichtigsten Steps hier zusammen.

Vorbereitung

Ihr braucht für die Verteilung immer die DC-Basisversion (als .msi) und das aktuellste, gewünschte Update (als .msp).
Außerdem, um die Reader Installation vor dem Deployment anzupassen, den installierten Reader DC Customization Wizard.

Step-by-Step

  1. Lokale AIP-Installation (z.B. C:\adc1516\) der Basisversion mit:
    msiexec /a AcroRdrDC1500720033_de_DE.msi

    Das Bild zeigt den Reader DC Installationsdialog, der durch die AIP gestartet wurde

  2. Aktuellsten Patch in die lokale AIP-Installation Slipstreamen (lokalen .msi Pfad beachten):
    msiexec /a "C:\adc1516\AcroRdrDC1500720033_de_DE.msi" /p AcroRdrDCUpd1501720053.msp

    Das Bild zeigt den CMD Befehl um das aktuelle Reader DC Update in die lokale AIP Installation zu slipstreamen

  3. Im lokalen AIP Ordner C:\adc1516 eine leere setup.ini Datei erzeugen und die AcroRdrDC1500720033_de_DE.msi in AcroRead.msi umbenennen (Letzteres ist nur eine kosmetische Anpassung).
  4. Mit dem Adobe Reader DC Customization Wizard die C:\adc1516\AcroRead.msi öffnen und beliebig anpassen. Änderungen wie vorgegeben als AcroRead.mst speichern.
    Das Bild zeigt den Adobe Reader DC Customization Wizard
  5. (Es müssten jetzt 3 Dateien und 4 Ordner in C:\adc1516\ existieren.) Den lokalen AIP-Ordner auf euer Deployment-Laufwerk verschieben.
    Das Bild zeigt die fertige Reader DC Deployment Installation im Deployment Share
  6. Deployen mit der .msi und .mst:
    start /w msiexec /i "%wd%\deploy\%version%\AcroRead.msi" /qn TRANSFORMS="%wd%\deploy\%version%\AcroRead.mst"

infos, infos, infos, via

Skript und Deploy

Das Deployment habe ich seit Reader 11 etwas verändert. Statt „complete-Ordner“ setze ich nun auf eine Versionsüberprüfung der Programm-exe. Das ist dynamischer und lässt sich differenzierter behandeln. Im Falle von Reader DC ist die Versionierung jedoch etwas seltsam. Beispielsweise lautet das aktuellste Update „AcroRdrDCUpd1501720053.msp“, nach der Installation wird die Dateiversion der .exe jedoch mit 15.17.20050 angegeben. Möglicherweise haben hier die Entwickler geschlampt.

Jedenfalls ist für die Verteilung mit Versionsüberprüfung noch ein Zwischenschritt notwendig:
Schaut im gerade erstellten lokalen AIP-Ordner, bzw. den schon aufs Deployment-Laufwerk kopierten Ordner die Eigenschaften Datei AcroRd32.exe an (liegt unter .\program files\Adobe\Acrobat Reader DC\Reader\) – im Tab Details steht die Versionsnummer, die ihr ins Skript und somit auch als Ordnernamen im Deployment-Laufwerk angeben müsst:
Das Bild zeigt die Dateieigenschaften von AcroRd32.exe und die Verweise auf das Skript und das Deploymentlaufwerk
Außerdem wird die VersionCompare.exe benötigt.

Hier nun das Script:
Code anzeigenDen Code könnt ihr bequem mit den Links/Rechts Pfeiltasten horizontal bewegen.

@echo off & Color 9f & setlocal
set wd=\\server\Deployment\Software\Reader
set log=%wd%\reader-log.txt
set readerEL=999
set retry=0
set forcecleanup=yes
set deactivateToolsSidebar=yes
REM:: ******************
set version=15.17.53
REM:: ******************

REM:: Clientfilter: nur die Computer aus der allowedPCs.txt dürfen installieren
::for /f %%f in (%wd%\allowedPCs.txt) do if "%computername%"=="%%f" goto start
::goto end

REM:: Clientfilter: die Computer aus der deniedPCs.txt dürfen nicht installieren
for /f %%f in (%wd%\deniedPCs.txt) do if "%computername%"=="%%f" goto end

:start
if not exist %wd%\deploy\%version%\complete md %wd%\deploy\%version%\complete
if not exist %wd%\deploy\%version%\complete\%computername% goto beforeinstall

if "%deactivateToolsSidebar%"=="yes" goto restoreToolbar

:beforeinstall
if "%forcecleanup%"=="yes" goto cleanup
goto install

:cleanup
echo %date% %time:~0,8% - %computername% deinstalliert alle Reader Versionen... >> %log%
REM:: uninstall all reader versions
taskkill /im acrord32.exe /t /f
taskkill /im acrord64.exe /t /f
start /w %wd%\cleaner\reader-cleaner-9.exe /silent /product=1
start /w %wd%\cleaner\reader-cleaner-10.exe /silent /product=1
start /w %wd%\cleaner\reader-cleaner-dc.exe /silent /product=1
echo %date% %time:~0,8% - %computername% hat alle Reader Versionen deinstalliert... >> %log%
goto install

:install
echo %date% %time:~0,8% - %computername% startet die Installation... >> %log%
start /w msiexec /i "%wd%\deploy\%version%\AcroRead.msi" /qn TRANSFORMS="%wd%\deploy\%version%\AcroRead.mst"
set readerEL=%errorlevel%

if %readerEL%==1618 goto retry REM:: msiexec process in use, installation already in progress
if %readerEL%==1602 goto retry REM:: user canceled installation
if %readerEL%==1603 goto retry REM:: fatal error, some use it for "already installed" (eg. java)
echo %date% %time:~0,8% - %computername% hat die Installation abgeschlossen, Errorlevel: %readerEL%... >> %log%
if %readerEL%==0 md %wd%\deploy\%version%\complete\%computername%
if "%deactivateToolsSidebar%"=="yes" goto restoreToolbar
goto end

:restoreToolbar
if exist "c:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroApp\" set instpath=c:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroApp
move "%instpath%\ENU\disabled\AppCenter_R.aapp" "%instpath%\ENU"
move "%instpath%\ENU\disabled\Home.aapp" "%instpath%\ENU"
move "%instpath%\ENU\disabled\Viewer.aapp" "%instpath%\ENU"
move "%instpath%\DEU\disabled\AppCenter_R.aapp" "%instpath%\DEU"
move "%instpath%\DEU\disabled\Home.aapp" "%instpath%\DEU"
move "%instpath%\DEU\disabled\Viewer.aapp" "%instpath%\DEU"
rd "%instpath%\ENU\disabled"
rd "%instpath%\DEU\disabled"
echo %date% %time:~0,8% - %computername% hat die Installation optimiert >> %log%
goto end

:retry
if %retry%==1 goto retryfailed
echo %date% %time:~0,8% - %computername% hat die Installation abgeschlossen, Errorlevel: %readerEL%, retry in 5min... >> %log%
set retry=1
ping localhost -n 300 > nul
goto cleanup

:retryfailed
echo %date% %time:~0,8% - %computername% hat die Installation abgeschlossen, Errorlevel: %readerEL%, retry failed, end >> %log%
goto end

:end
endlocal
exit

Alternatives Deployment

Auf der Seite 404techsupport.com habe ich einen noch einfacheren Deployment-Guide gesehen. Dort wird nur anhand des aktuellsten Installers gearbeitet – leider hatte ich noch nicht die Zeit dieses Deployment zu testen. Das hole ich sicher noch nach und Update dann hier.
Einzige Einschränkung: Das Deployment funktioniert nur über .exe, ist also nicht für das normale GPO Softwaredeployment via .msi geeignet.
Hier die Zusammenfassung, die der Autor mir per Mail zukommen ließ:

I download the latest executable from Adobe’s FTP site for Adobe Reader DC and deploy that with a script.
ftp://ftp.adobe.com/pub/adobe/reader/win/AcrobatDC/1501620039/

I created a transform using the Adobe Customization Wizard and the .msi version of the installer.
My script then installs the executable and uses the transform as a parameter.

\\server.fqdn\share\AdobeReader\LatestReaderDC.exe /sPB /rs /msi TRANSFORMS=\\server.fqdn\share\AdobeReader\ReaderDC.mst

(The script runs at startup assigned by Group Policy. It checks a network location for a „receipt“ for that computer to see if it has run before, and if not, executes the above command. I empty the „receipts“ folder after I download the new installer to the share so that the script executes on their next startup.)

If that works for your deployment options, it’s pretty straight-forward and avoids the annoying .msp patching (security patch or quarterly patch?). If you need an .msi to deploy, you are probably stuck with your steps of creating the admin install.

Das Windows-Feature „User Account Control“ (UAC), im deutschen Windows auch Benutzerkontensteuerung genannt, ist seit Windows Vista verbaut und sorgt für sichereres Rechtehandling beim Ausführen von Programmen. Im Hintergrund steckt außerdem ein Sandboxing-Prinzip, wodurch unterschiedliche Programme in unterschiedlichen Nutzer- und Rechtekontexten auf einem Desktop vereint zusammen arbeiten können.
Das Bild zeigt den Dialog der UAC beim Starten eines Programms mit Adminrechten
Die Benutzerkontensteuerung kann auf eine von vier unterschiedliche Stufen gestellt werden; eine davon entspricht der Deaktivierung, die anderen drei realisieren unterschiedliche Sicherheitsstufen.

Das Bild zeigt die Einstellungen der Benutzerkonstensteuerung (UAC)Im (vertrauensvollen) Unternehmenseinsatz ist eine auf Stufe 1 gestellte UAC sinnvoll, damit administrative Aufgaben auch direkt aus der Anmeldung eines eingeschränkten Nutzers per Eingabe von Admin-Daten möglich ist. Diese lässt sich beispielsweise mit Batch und Registry konfigurieren und im Windows AD verteilen, hier der Code:

@echo off & Color 9f & setlocal

set wd=\\server\Deployment\Sonstiges\activate-uac
set log=%wd%\activate-uac-log.txt
set uacconfig=99

REM Clientfilter: nur die Computer aus der allowedPCs.txt dürfen installieren
::for /f %%f in (%wd%\allowedPCs.txt) do if "%computername%"=="%%f" goto check
::goto end

REM Clientfilter: die Computer aus der deniedPCs.txt dürfen nicht installieren
for /f %%f in (%wd%\deniedPCs.txt) do if "%computername%"=="%%f" goto end

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 1 /f
set uacconfig=%errorlevel%
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 5 /f
set uacconfig=%uacconfig%%errorlevel%
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v ConsentPromptBehaviorUser /t REG_DWORD /d 3 /f
set uacconfig=%uacconfig%%errorlevel%
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v PromptOnSecureDesktop /t REG_DWORD /d 0 /f
set uacconfig=%uacconfig%%errorlevel%

echo %date% %time:~0,8% - %computername% hat UAC Settings übernommen: %uacconfig% >> %log%

:end
endlocal

Die unterschiedlichen Werte der einzelnen Registry-Eigenschaften könnt ihr hier übersichtlich nachlesen. Es gibt noch weitere Punkte der UAC, die über die Registry gesteuert werden können.
PS: Das Konzept hinter der UAC ist äußerst komplex und es macht u.U. Spaß, sich als fortgeschrittener Windows-Nutzer darin einzulesen.

via, via

Nur eine kurze Hilfe für den Fehlercode: 0xc004f014, der beispielsweise beim Upgrade von Windows 10 Home auf Professional auftreten kann. Vor allem dann, wenn ein neues Gerät mit installiertem Windows 10 Home ausgeliefert wird und dann ein Upgrade auf Pro erfolgen soll.

Lösung:

  1. Windows-Symbol -> Einstellungen -> Update und Sicherheit -> Aktivierung -> Product Key ändern
  2. den offiziellen Universal-Key für Windows 10 Pro eingeben:
    VK7JG-NPHTM-C97JM-9MPGT-3V66T
  3. Tasse Kaffe machen und warten bis die Installation durchgeführt und der PC wieder hochgefahren ist
  4. Startmenü -> Einstellungen -> Update und Sicherheit -> Aktivierung -> Product Key ändern und nun den erworbenen Pro-Key eingeben

via

Klingt seltsam, funktioniert aber. Warum auch immer Microsoft solche Standardsituationen nicht ordentlich behandeln kann…
Dieses Bild zeigt die erfolgreiche Aktivierung des Windows 10 Professional Produkt Keys

Weitere Windows Update Fehler und ihre Lösung findet ihr hier.

Einfache Windows-Admin-Frage: Welcher Mitarbeiter ist in diesem Moment und seit wann an welchem PC eingeloggt?

Einfache Antwort, kurz und knackig: Batch!
Mit Hilfe von PsLoggedOn, welches sich im selben Verzeichnis befinden muss wie das Skript:

@echo on & Color 9f & setlocal
for /f "Tokens=1" %%c in ('net view /domain:"%USERDOMAIN%"^|Findstr /L /C:"\\"') do (
 for /f "Tokens=*" %%u in ('PsLoggedOn -L %%c^|find /i "%USERDOMAIN%\"') do (
  echo %%c %%u
 )
)
endlocal
pause
goto :EOF

via (leicht angepasst)

Das Bild zeigt das gekürzte PsLoggedOn-Script, welches zu allen eingeschalteten Domänencomputern die eingeloggten Nutzer anzeigt.