Es hat in den digitalen Nachrichten ein wenig die Runde gemacht: Google Account Passwörter wurden veröffentlicht, ca. 5 Millionen sollen es sein. Laut Google seien nicht einmal 2% der Daten nutzbar – es handle sich um typische „credential dumps“, so Google -, es gibt jedoch auch kritischere Vermutungen.
Update: Nicht nur Google hält diesen Leak für unkritisch, auch andere Erkenntnisse lassen Zweifel entstehen.
Wieviel tatsächliche aktive Logins dabei sind, spielt eigentlich auch keine Rolle. Diese Nachrichten sollten Google Nutzer generell dazu veranlassen, die eigenen Sicherheitsvorkehrungen zu überprüfen.

google-account-security-banner

Hier ein paar Tipps:

Starkes Passwort

Der Tipp ist selbstverständlich. Heutzutage sollten Passwörter zu wichtigen Logins mindestens 12 Zeichen lang (BSI empfiehlt) sein und von jeder Zeichenart (Klein- und Großbuchstaben, Zahlen und Sonderzeichen) mindestens 1 Exemplar beinhalten.
Auf HowSecureIsMyPassword.net könnt ihr euer Passwort eingeben und eine Schätzung erhalten, wie lange das Knacken dieses Passworts dauern würde. Mein aktuelles Google Passwort würde 903 Billiarden Jahre einem durchschnittlichen Angriff standhalten. Das reicht mir 😉
google-password-2-way-authentication-password-check

Was viele nicht wissen: Länge geht vor Komplexität. Zwar solltet ihr, wie gesagt, alle 4 Zeichenarten einbauen. Jedoch ist es noch wichtiger, dass euer Passworter mehr als 10 Zeichen hat. Im Notfall kann das Auffüllen eines schlechteren Passwortes die Sicherheit enorm erhöhen. Beispiel:
?Test3 = 1 Minute Angriffszeit!
?Test3…. = 96 Jahre Angriffszeit!
?Test3…….. = 4 Milliarden Jahre Angriffszeit!
Ihr müsst also nicht immer zwangsläufig hochkomplizierte Passwörter basteln, hängt notfalls einfach ein paar leicht zu merkende Zeichen an. Das ist für euch einfach zu merken, vervielfacht jedoch den Angriffsaufwand.

Weitere Tipps für sichere Passwörter findet ihr hier.

Passwort-/Konto-Wiederherstellung vorbereiten

Das Passwort ist super sicher, perfekt. Was nun, wenn man dieses Passwort vergisst? Oder aus anderen Gründen der Zugriff auf das Konto unmöglich ist.
Für diesen Fall kann man bei Google zusätzliche Informationen zur Kontowiederherstellung eintragen. Sowohl die Handynummer als auch eine alternative E-Mail Adresse können hinterlegt werden. Über diese erhält man dann Anweisungen, sollte der Zugriff nicht mehr wie gewohnt funktionieren.
google-password-2-way-authentication-account-recovery-options
Mehr Informationen

2-Wege-Login

Seit 2011 bietet Google bereits die Möglichkeit den Account Login doppelt abzusichern: Nach der Eingabe des (starken) Passworts wird zusätzlich ein Bestätigungs-Code erwartet, der per SMS, Sprachanruf oder über eine Google Authenticator App mitgeteilt wird. Dies nennt man 2-Wege-Login, oder 2-way-authentication, oder „Bestätigung in zwei Schritten“.
google-password-2-way-authentication-code

Wer dieses Feature noch nicht aktiviert hat, sollte dies unbedingt in Erwägung ziehen. Die Aktivierung dauert nur wenige Minuten und das Einrichten aller Geräte und Software, die das Google Konto nutzen, ist ebenfalls in weniger als 10 Minuten erledigt. Dafür ist es anschließend für Fremde fast nicht mehr möglich Zugriff auf das Konto zu erhalten; selbst, wenn sie das Google Passwort kennen.

2-Wege-Login Notfall vorbereiten

Die Anmeldung in zwei Schritten ist besonders sicher, benötigt neben dem Passwort aber immer noch den Code, der über ein Handy/Smartphone geliefert wird. Der Zugriff zum Konto kann also unter Umständen versperrt sein, sollte das Telefon mit der registrierten Nummer nicht mehr verfügbar sein (geklaut, neue Nummer, kein Netzempfang usw). Auf diesen Fall sollte man sich rechtzeitig vorbereiten.
So gibt es im Einstellungsbereich des 2-Wege-Logins die Möglichkeit Ersatz-Telefonnummern einzugeben und Ersatzcodes zu erstellen.
Die Sache mit den Ersatznummern ist klar, hier kann man die Telefonnummern von Familienmitgliedern oder anderen Vertrauenspersonen angeben, die im Notfall den Code auf ihr Handy erhalten.
Ersatzcodes, oder auch Einmalcodes, sind 10 für diesen Account festgelegte Codes, die jederzeit funktionieren. Diese sind statisch, können also ausgedruckt und irgendwo verstaut werden. Zu jeder Zeit lässt sich der Account mit dem Passwort und einem dieser festen Codes entriegeln. Die Codes kann man auch bei sich führen, sie sind ohne das Account Passwort schließlich auch nicht sicherheitskritisch.

Externe Zugriffe und Berechtigungen prüfen

Hin und wieder kann ein Blick auf die Kontozugriffe nicht schaden. Auch das Überprüfen und Aussortieren der Berechtigungen sollte mindestens ein Mal jährlich erfolgen. Beides lässt sich Schritt für Schritt im Accountsicherheits-Dialog erledigen. Nach der Bestätigung der Kontowiederherstellungsinformationen (Handynummer und alternative E-Mail) werden die Kontenzugriffe und anschließend die Berechtigungen aufgelistet.
google-password-2-way-authentication-account-accessgoogle-password-2-way-authentication-account-activity

via, via, via

server-backup-bannerIch poste mal eben ein kleines Update meines Server Backup Scripts. Nichts spannendes, aber der Start des Scripts ist suboptimal.
Dabei kann noch einiges schief gehen und ein Laufwerksbuchstaben zu verbinden ist für Scripts, die mit der Aufgabenplanung ausgeführt werden, besonders sinnlos.

Vorher:

if not exist Z: net use Z: \\server\*** /user:***

Ziel ist das Verbinden des Backup Shares, ein Schreibtest und Logging aller Fehlercodes.
Besser:

set nas=\\serverip\Backup

REM delete and reconnect backup share
net use %nas% /delete
echo %date% %time:~0,8% net use delete %errorlevel% >> %log%

net use %nas% /u:user password
echo %date% %time:~0,8% net use %errorlevel% >> %log%

REM verify share write access
md %nas%\writeaccesstest
set tmpel=%errorlevel%
echo %date% %time:~0,8% test %tmpel% >> %log%

if %tmpel%==0 goto backup
set err=backup destination write access error && goto err

:backup
rd %nas%\%backupdest%\writeaccesstest
...

Ein einheitlicher Schriftstil im Schriftverkehr, auch im Mailverkehr, ist für ein Unternehmen überaus wichtig. Corporate Design & Identity geben oftmals bestimmte Schriftarten, -größen und -farben vor. Diese sollten auf jedem PC eingestellt sein.
Über ein sehr einfaches Prinzip und Script kann dies gewährleistet werden.

Hinweis: Diese Art der Verteilung ist speziell für Office 2007. Ich weiß nicht inwiefern 97-2003 und 2010-**** mit den Registry Einstellungen arbeiten; testet es aus.

Öffnet zuerst auf einem Test-PC Outlook und öffnet die Schrifteinstellungen:
EN: Tools > Options > Mail Format > Stationery & Fonts… > Fonts…
DE: Datei > Optionen > Nachrichten verfassen > Briefpapier und Schriftarten > Persönliches Briefpapier > Schriftart
(Outlook war schon immer ein Vorzeigeobjekt für besch***** Einstellungsdialoge…),
Stellt dort die gewünschte Schriftart, Größe und Farbe ein. Dies könnt ihr sowohl für die neuen Nachrichten, als auch für die Antworten einstellen. Beides wird dann verteilt.

Nun ab in die Registry („regedit.exe“ ausführen). Sucht dort den Schlüssel:
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\MailSettings
und exportiert den MailSettings Schlüssel komplett (Rechtsklick -> Exportieren).

Für Arial, 12pt, dunkelblaue Schriftfarbe, könnte die .reg Datei so aussehen:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\MailSettings]
"ComposeFontComplex"=hex:3c,68,74,6d,6c,3e,0d,0a,0d,0a,3c,68,65,61,64,3e,0d,0a,\
  3c,73,74,79,6c,65,3e,0d,0a,0d,0a,20,2f,2a,20,53,74,79,6c,65,20,44,65,66,69,\
  6e,69,74,69,6f,6e,73,20,2a,2f,0d,0a,20,73,70,61,6e,2e,50,65,72,73,6f,6e,61,\
  6c,43,6f,6d,70,6f,73,65,53,74,79,6c,65,0d,0a,09,7b,6d,73,6f,2d,73,74,79,6c,\
  65,2d,6e,61,6d,65,3a,22,50,65,72,73,6f,6e,61,6c,20,43,6f,6d,70,6f,73,65,20,\
  53,74,79,6c,65,22,3b,0d,0a,09,6d,73,6f,2d,73,74,79,6c,65,2d,74,79,70,65,3a,\
  70,65,72,73,6f,6e,61,6c,2d,63,6f,6d,70,6f,73,65,3b,0d,0a,09,6d,73,6f,2d,73,\
  74,79,6c,65,2d,6e,6f,73,68,6f,77,3a,79,65,73,3b,0d,0a,09,6d,73,6f,2d,73,74,\
  79,6c,65,2d,75,6e,68,69,64,65,3a,6e,6f,3b,0d,0a,09,6d,73,6f,2d,61,6e,73,69,\
  2d,66,6f,6e,74,2d,73,69,7a,65,3a,31,32,2e,30,70,74,3b,0d,0a,09,6d,73,6f,2d,\
  62,69,64,69,2d,66,6f,6e,74,2d,73,69,7a,65,3a,31,31,2e,30,70,74,3b,0d,0a,09,\
  66,6f,6e,74,2d,66,61,6d,69,6c,79,3a,22,41,72,69,61,6c,22,2c,22,73,61,6e,73,\
  2d,73,65,72,69,66,22,3b,0d,0a,09,6d,73,6f,2d,61,73,63,69,69,2d,66,6f,6e,74,\
  2d,66,61,6d,69,6c,79,3a,41,72,69,61,6c,3b,0d,0a,09,6d,73,6f,2d,68,61,6e,73,\
  69,2d,66,6f,6e,74,2d,66,61,6d,69,6c,79,3a,41,72,69,61,6c,3b,0d,0a,09,6d,73,\
  6f,2d,62,69,64,69,2d,66,6f,6e,74,2d,66,61,6d,69,6c,79,3a,22,54,69,6d,65,73,\
  20,4e,65,77,20,52,6f,6d,61,6e,22,3b,0d,0a,09,6d,73,6f,2d,62,69,64,69,2d,74,\
  68,65,6d,65,2d,66,6f,6e,74,3a,6d,69,6e,6f,72,2d,62,69,64,69,3b,0d,0a,09,63,\
  6f,6c,6f,72,3a,23,31,42,33,32,35,46,3b,7d,0d,0a,2d,2d,3e,0d,0a,3c,2f,73,74,\
  79,6c,65,3e,0d,0a,3c,2f,68,65,61,64,3e,0d,0a,0d,0a,3c,2f,68,74,6d,6c,3e,0d,\
  0a
"ComposeFontSimple"=hex:3c,00,00,00,1f,00,00,f8,00,00,00,00,f0,00,00,00,00,00,\
  00,00,1b,32,5f,00,00,22,41,72,69,61,6c,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"ReplyFontComplex"=hex:3c,68,74,6d,6c,3e,0d,0a,0d,0a,3c,68,65,61,64,3e,0d,0a,\
  3c,73,74,79,6c,65,3e,0d,0a,0d,0a,20,2f,2a,20,53,74,79,6c,65,20,44,65,66,69,\
  6e,69,74,69,6f,6e,73,20,2a,2f,0d,0a,20,73,70,61,6e,2e,50,65,72,73,6f,6e,61,\
  6c,52,65,70,6c,79,53,74,79,6c,65,0d,0a,09,7b,6d,73,6f,2d,73,74,79,6c,65,2d,\
  6e,61,6d,65,3a,22,50,65,72,73,6f,6e,61,6c,20,52,65,70,6c,79,20,53,74,79,6c,\
  65,22,3b,0d,0a,09,6d,73,6f,2d,73,74,79,6c,65,2d,74,79,70,65,3a,70,65,72,73,\
  6f,6e,61,6c,2d,72,65,70,6c,79,3b,0d,0a,09,6d,73,6f,2d,73,74,79,6c,65,2d,6e,\
  6f,73,68,6f,77,3a,79,65,73,3b,0d,0a,09,6d,73,6f,2d,73,74,79,6c,65,2d,75,6e,\
  68,69,64,65,3a,6e,6f,3b,0d,0a,09,6d,73,6f,2d,61,6e,73,69,2d,66,6f,6e,74,2d,\
  73,69,7a,65,3a,31,32,2e,30,70,74,3b,0d,0a,09,6d,73,6f,2d,62,69,64,69,2d,66,\
  6f,6e,74,2d,73,69,7a,65,3a,31,31,2e,30,70,74,3b,0d,0a,09,66,6f,6e,74,2d,66,\
  61,6d,69,6c,79,3a,22,41,72,69,61,6c,22,2c,22,73,61,6e,73,2d,73,65,72,69,66,\
  22,3b,0d,0a,09,6d,73,6f,2d,61,73,63,69,69,2d,66,6f,6e,74,2d,66,61,6d,69,6c,\
  79,3a,41,72,69,61,6c,3b,0d,0a,09,6d,73,6f,2d,68,61,6e,73,69,2d,66,6f,6e,74,\
  2d,66,61,6d,69,6c,79,3a,41,72,69,61,6c,3b,0d,0a,09,6d,73,6f,2d,62,69,64,69,\
  2d,66,6f,6e,74,2d,66,61,6d,69,6c,79,3a,22,54,69,6d,65,73,20,4e,65,77,20,52,\
  6f,6d,61,6e,22,3b,0d,0a,09,6d,73,6f,2d,62,69,64,69,2d,74,68,65,6d,65,2d,66,\
  6f,6e,74,3a,6d,69,6e,6f,72,2d,62,69,64,69,3b,0d,0a,09,63,6f,6c,6f,72,3a,23,\
  31,42,33,32,35,46,3b,7d,0d,0a,2d,2d,3e,0d,0a,3c,2f,73,74,79,6c,65,3e,0d,0a,\
  3c,2f,68,65,61,64,3e,0d,0a,0d,0a,3c,2f,68,74,6d,6c,3e,0d,0a
"ReplyFontSimple"=hex:3c,00,00,00,1f,00,00,f8,00,00,00,00,f0,00,00,00,00,00,00,\
  00,1b,32,5f,00,00,22,41,72,69,61,6c,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"TextFontComplex"=hex:3c,68,74,6d,6c,3e,0d,0a,0d,0a,3c,68,65,61,64,3e,0d,0a,3c,\
  73,74,79,6c,65,3e,0d,0a,0d,0a,20,2f,2a,20,53,74,79,6c,65,20,44,65,66,69,6e,\
  69,74,69,6f,6e,73,20,2a,2f,0d,0a,20,70,2e,4d,73,6f,50,6c,61,69,6e,54,65,78,\
  74,2c,20,6c,69,2e,4d,73,6f,50,6c,61,69,6e,54,65,78,74,2c,20,64,69,76,2e,4d,\
  73,6f,50,6c,61,69,6e,54,65,78,74,0d,0a,09,7b,6d,73,6f,2d,73,74,79,6c,65,2d,\
  6e,6f,73,68,6f,77,3a,79,65,73,3b,0d,0a,09,6d,73,6f,2d,73,74,79,6c,65,2d,70,\
  72,69,6f,72,69,74,79,3a,39,39,3b,0d,0a,09,6d,73,6f,2d,73,74,79,6c,65,2d,6c,\
  69,6e,6b,3a,22,4e,75,72,20,54,65,78,74,20,5a,63,68,6e,22,3b,0d,0a,09,6d,61,\
  72,67,69,6e,3a,30,63,6d,3b,0d,0a,09,6d,61,72,67,69,6e,2d,62,6f,74,74,6f,6d,\
  3a,2e,30,30,30,31,70,74,3b,0d,0a,09,6d,73,6f,2d,70,61,67,69,6e,61,74,69,6f,\
  6e,3a,77,69,64,6f,77,2d,6f,72,70,68,61,6e,3b,0d,0a,09,66,6f,6e,74,2d,73,69,\
  7a,65,3a,31,32,2e,30,70,74,3b,0d,0a,09,6d,73,6f,2d,62,69,64,69,2d,66,6f,6e,\
  74,2d,73,69,7a,65,3a,31,30,2e,35,70,74,3b,0d,0a,09,66,6f,6e,74,2d,66,61,6d,\
  69,6c,79,3a,22,41,72,69,61,6c,22,2c,22,73,61,6e,73,2d,73,65,72,69,66,22,3b,\
  0d,0a,09,6d,73,6f,2d,66,61,72,65,61,73,74,2d,66,6f,6e,74,2d,66,61,6d,69,6c,\
  79,3a,43,61,6c,69,62,72,69,3b,0d,0a,09,6d,73,6f,2d,66,61,72,65,61,73,74,2d,\
  74,68,65,6d,65,2d,66,6f,6e,74,3a,6d,69,6e,6f,72,2d,6c,61,74,69,6e,3b,0d,0a,\
  09,6d,73,6f,2d,62,69,64,69,2d,66,6f,6e,74,2d,66,61,6d,69,6c,79,3a,22,54,69,\
  6d,65,73,20,4e,65,77,20,52,6f,6d,61,6e,22,3b,0d,0a,09,6d,73,6f,2d,62,69,64,\
  69,2d,74,68,65,6d,65,2d,66,6f,6e,74,3a,6d,69,6e,6f,72,2d,62,69,64,69,3b,0d,\
  0a,09,63,6f,6c,6f,72,3a,23,31,42,33,32,35,46,3b,7d,0d,0a,2d,2d,3e,0d,0a,3c,\
  2f,73,74,79,6c,65,3e,0d,0a,3c,2f,68,65,61,64,3e,0d,0a,0d,0a,3c,2f,68,74,6d,\
  6c,3e,0d,0a
"TextFontSimple"=hex:3c,00,00,00,1f,00,00,f8,00,00,00,00,f0,00,00,00,00,00,00,\
  00,1b,32,5f,00,00,22,41,72,69,61,6c,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

Nun muss nur noch diese Reg Datei auf allen Rechnern importiert werden. Dazu reicht ein einfaches Startscript:

reg import \\server\path\outlook\arial12-outlook-standard.reg
echo %date% %computername% >> \\server\path\outlook\log.txt

Done!

via

Scriptbasierte Installation und Deinstallation gehört zu meinen Lieblingsaufgaben im Unternehmen; wer mich kennt, weiß das. Bei der scriptgesteuerten Deinstallation gibt es verschiedene Methoden:

Für viele bekanntere Programme sind die GUIDs bekannt, mit denen man diese über den msiexec Parameter /X deinstallieren kann.
Beispiel, SPSS 15 Deinstallation:

msiexec /X {5318F137-F039-415E-8ACB-FC37A21773AD} /qb ALLUSERS=1 REMOVE="ALL"

Die GUIDs können teilweise aus den MSIs ausgelesen werden oder stehen irgendwo im Internet, beispielsweise in der IT Ninja Knowledge Base. Diese Methode funktioniert jedoch nur, wenn der Installer die nötigen Informationen für eine Deinstallation abgelegt hat. Die GUID ist ebenfalls umständlich zu finden.

Die zweite Methode funktioniert über Parameter von Uninstallern, oftmals in Form einer .exe Datei. Diese liegt meistens im Programmverzeichnis und heißt fast immer uninstall.exe oder unins000.exe.
Und diese Uninstaller bieten ebenfalls in den häufigsten Fällen verschiedenste Parameter für stille Deinstallationen.
Folgende Basis-Parameter sollten funktionieren:

  • /SILENT deinstalliert das Programm ohne Anzeige einer GUI. Manche Programme erledigen das komplett unsichtbar, andere zeigen vielleicht einen Fortschrittsbalken oder auftretende (Fehler-)Meldungen. Eventuell gibt es den Parameter /VERYSILENT, der auch diese letzten sichtbaren Störfaktoren unterdrückt.
  • /SUPPRESSMSGBOXES verhindert jegliche Popups und Nachfragen des Installers.
  • /NORESTART weist den Installer an, keinen Neustart zu forcieren, selbst wenn dieser empfohlen oder nötig ist.
  • /LOG=filename protokolliert den Deinstallationsprozess.

Manche Entwickler stellen dutzende Parameter für (Un-)Installer zur Verfügung und dokumentieren diese ordentlich. Ansonsten heißt es ausprobieren und googeln.

via

Der Import von Datenbankdateien oder Dumps in eine MySQL Datenbank ist nicht unbedingt problematisch.

mysql.exe -u USERNAME -p PASSWORD DATABASENAME < MYDATABASE.sql


Ohne Shell Zugriff muss das anders laufen.
MySQL wird eigentlich immer mit einer Adminoberfläche installiert, in den meisten Fällen phpMyAdmin. phpMyAdmin ist aber oftmals an verschiedenste Limitierungen gebunden und generell gibt es viele Gründe, warum ein Datenbankimport scheitern kann: PHP Dateigrößen-Limit, phpMyAdmin Dateigrößen-Limit, Timeouts vom Server oder vom Client, sowas.
große-datenbanken-importieren-bigdump-phpmyadmin-limit
8MB Maximum? Nicht besonders viel.

Per FTP Zugriff, je nachdem wie eingeschränkt der Zugriffsbereich ist, können diese Probleme aber umgangen werden.
Server Vollzugriff:
Entweder könnt ihr auf die php.ini des Servers zugreifen und dort ein paar Einschränkungen lockern um den Import anschließend über die phpMyAdmin Oberfläche erneut probieren:

php_value upload_max_filesize 120M //file size
php_value post_max_size 120M
php_value max_execution_time 200
php_value max_input_time 200

Eingeschränkter Zugriff (shared hoster):
Häufig ist der Zugriff jedoch auf den html/public Bereich beschränkt, hier geht ihr folgendermaßen vor:
Wenn ihr von dem Hoster bereits eine leere Datenbank und einen User bekommen habt, was in den meisten Fällen so passiert, überspringt ihr den folgenden Satz einfach. Falls nicht erstellt ihr euch über die phpMyAdmin Oberfläche eine neue leere Datenbank und einen Datenbanknutzer, der auf diese Datenbank Vollzugriff/All Privileges hat.
Anschließend zieht ihr euch das nützliche Tool BigDump. Das ist im Endeffekt nur eine .php Datei.
Die öffnet ihr mit einem Editor und füllt die paar Zeilen aus: Server (bei shared so gut wie immer localhost), Datenbankname, Username, Userpasswort und der Dateiname der zu importierenden Datei. Die Kodierung ist meistens utf8 bei SQL Exports, passt das falls nötig auch noch an.
große-datenbanken-importieren-bigdump-config

Dann müsst ihr diese Datei zusammen mit dem Datenbankbackup auf den Server laden, am besten einfach in das Root html Verzeichnis. Im Anschluss die .php Datei im Browser aufrufen und mit „Start Import“ geht’s los. Eine 30MB SQL Datei wurde bei mir in etwa 1 Sekunde importiert.
große-datenbanken-importieren-bigdump-process-startgroße-datenbanken-importieren-bigdump-process-finished

Erledigt. Nicht vergessen danach die 2 Dateien wieder vom Server zu löschen.

Es gibt bestimmt noch andere Tools, die diesen Job erledigen. Solltet ihr jedoch Probleme mit diesen Workarounds haben, fragt doch vielleicht einfach mal euren Hoster, ob er nicht den Import übernehmen kann. Vorher die Backup Datei auf den Server laden, die meisten Hoster sind da hilfsbereit und machen das sogar kostenlos.

Quellen:via, via

Long time no see, let’s go again!!

Bei einem Nutzer der Firma kommt es zu Netzwerkproblemen am PC; die Netzwerkverbindung übermittelt irgendwann einfach keine Pakete mehr oder ist anderweitig gestört. Das Internet ist also tot und der Nutzer müsste jetzt selbstständig eine Diagnose des Netzwerkadapters durchführen o.Ä.
Besser ist ein Script, welches die Internetverbindung bei Doppelklick repariert.

Variante 1 – Sehr einfach

Hier ist ein relativ einfaches Script für die oben beschriebene Situation:

ipconfig /release
ipconfig /renew

Dieses Script kann der Nutzer selbstständig ausführen und innerhalb weniger Sekunden ist die Internetverbindung erneuert.

Es soll aber vorkommen, dass diese einfache Lösung das Problem nicht löst. Dann solltet ihr mit den folgenden Varianten fortfahren.

Variante 2 – Standard

Dieser Code enthält einige Reparaturen mehr:

@echo off & setlocal
ipconfig /release
ipconfig /renew
arp -d *
nbtstat -R
nbtstat -RR
ipconfig /flushdns
ipconfig /registerdns
endlocal

arp -d *“ löscht die gesamte lokale ARP Tabelle, wodurch diese daraufhin neu erstellt wird. „nbtstat -R“ löscht die NetBT Tabelle und der Parameter -RR startet eine Aktualisierung der neu erstellten Tabelle. Und die letzten 2 Befehle löschen den DNS Cache und erstellen ihn neu.
Hier werden also verschiedene andere Problemstellen angegangen und die Wahrscheinlichkeit, das Netzwerkproblem damit zu beheben, ist etwas höher.
Jedoch benötigen all diese neuen Befehle Administratorrechte. Hier müsst ihr das Script also als Administrator ausführen (lassen). Wie das geht erfahrt ihr am Ende des Posts.

Variante 3 – Sehr ausführlich

Mit diesen Befehlen gebt ihr den Netzwerkproblemen die volle Ladung Reset:

@echo off
ipconfig /release
ipconfig /renew
arp -d *
nbtstat -R
nbtstat -RR
:: adjust interface name here and remove "rem"
rem netsh interface set interface "LAN-Verbindung" DISABLED DISCONNECTED
:: service names should work in both german and english windows
net stop "dhcp" /y
net stop "dnscache" /y
net stop "netman" /y
net start "dhcp" 
net start "dnscache" 
net start "netman" 
:: adjust interface name here and remove "rem"
rem netsh interface set interface "LAN-Verbindung" ENABLED CONNECTED
ipconfig /flushdns
ipconfig /registerdns

Hier werden zusätzlich einige Dienste neu gestartet und der Adapter (wenn ihr den Adapternamen einfügt und die Kommentierung entfernt) zurückgesetzt.
Natürlich werden auch hierfür Administratorrechte benötigt. Mehr dazu im nächsten Abschnitt.

Script als Administrator ausführen

Natürlich kann man das Script einfach als Administrator ausführen, wenn man die Rechte oder die Login Daten hat. Aber wir gehen mal davon aus, dass ein eingeschränkter Nutzer völlig unabhängig von euch diese Reparaturen zu jeder Zeit ausführen können muss.
Dafür gibt es einen relativ simplen Workaround über die Aufgabensteuerung.

Erstellt auf dem PC des Nutzers eine neue einfache Aufgabe in der Aufgabenplanung, wählt einen beliebigen Trigger (wird eh wieder gelöscht), als Aktion wählt ihr „Programm starten“ und sucht das lokal kopierte Reset Script von oben. Öffnet dann die Eigenschaften der Aufgabe, löscht den Trigger und wählt im „Allgemein“ Tab einen lokalen Administratorbenutzer aus. Aktiviert „Unabhängig von der Benutzeranmeldung ausführen“ und „Mit höchsten Privilegien ausführen“ und speichert die Änderungen. In diesem Moment werdet ihr nach dem Passwort zu dem ausgewählten Nutzer gefragt, gebt das ein. Danach habt ihr eine Aufgabe erstellt, die auf Bedarf ausgeführt werden kann und mit erhöhten Adminrechten das Script ausführt.

Nun müsst ihr noch dem Nutzer die Möglichkeit geben, diese Aufgabe – am besten einfach per Doppelklick – auszuführen. Merkt euch dazu den Namen der gerade erstellten Aufgabe und erstellt auf dem Desktop des Nutzers, oder wo auch immer das Script zum Starten des Netzwerk-Resets liegen soll, ein neues Batch Script mit dieser einen Zeile:

schtasks /run /tn "reset-network"

In die Anführungszeichen kommt natürlich der Name eurer Aufgabe.

Nun kann der Nutzer per Doppelklick dieses Scripts die Netzwerkerneuerung starten, selbst wenn er keine Administratorrechte hat.

Natürlich sind diese Scripte nur Workarounds und beheben vermutlich nicht die Ursache der Netzwerkstörung, um die ihr euch natürlich kümmern solltet. Aber es verschafft euch mehr Zeit fürs Troubleshooting (viel Erfolg dabei!) weil der Nutzers damit erstmal sehr selbstständig, schnell und einfach das Problem beheben kann.

Ich habe die Einrichtung dieses Workrounds nochmal als Video festgehalten:

via, via, via