Robocopy: FEHLER 64 (0x00000040) Der angegebene Netzwerkname ist nicht mehr verfügbar.

Problem:
Ich hatte einen Fehler beim Kopieren von Daten mittels Robocopy auf einem Server 2008R2. Hier kam ich folgenden Fehler bei einzelnen Dateien:

„2016/11/21 00:31:28 FEHLER 64 (0x00000040) Folgende Datei wird kopiert D:\blahblahblah.xlsm
Der angegebene Netzwerkname ist nicht mehr verfügbar.“


Lösung:
Nach etwas Suche und Recherche bin ich darauf gestoßen, dass der Parameter /Z in diesem Zusammenhang Probleme machen kann.
/Z : Copy files in restartable mode (survive network glitch)

Leider scheinen manche Shares damit Probleme zu haben, daher habe ich den Parameter komplett entfernt und somit wird per Default /B gewählt.
/B : Copy files in Backup mode

Ich habe jetzt alle Robocopy-Jobs angepasst und getestet…alles gut!

Fritzbox: Benutzeroberfläche aufrufen, wenn IP-Adresse unbekannt ist (Notfall-IP)

Problem:
Ich hatte eine FritzBox, die ich resetten wollte, aber keine IP-Adresse wusste. Einen externen Reset-Button fand ich nicht, außerdem wollte ich die Config einsehen.

Lösung:
Es gibt eine Notfall-IP, über die ist jede FrizBox erreichbar. Dazu müssen einige Vorbereitungen getroffen werden:

1.) Ziehen Sie alle Netzwerkkabel von der FritzBox
2.) Drücken Sie die WLAN-Taste um die WLAN-Funktion abzuschalten.
3.) Verbinden Sie einen Computer über ein Netzwerkkabel mit der FritzBox.
4.) Achten Sie darauf, dass Ihr Computer seine Adresse über DHCP bezieht oder geben Sie Ihm die feste IP 169.254.1.2
4.) Öffnen Sie im Browser die IP-Adresse http://169.254.1.1 (APIPA-Bereich)
5.) Jetzt können sie die FritzBox administrieren - falls diese kennwortgeschützt ist, müssen Sie dieses haben!

Quelle:
FRITZ!Box 7330 Service: Notfall-IP

Windows: Wie deinstalliert man Software im "Abgesicherten Modus"

Problem:
Ich hatte das Problem, dass ein Client nicht mehr gestartet ist, sondern in einen Bluescreen gelaufen ist (0x50 klif.sys).
Nach etwas Recherche habe ich den Virenscanner als Übeltäter ausmachen können. DA der Client nur noch im Abgesicherten Modus gestartet ist und hier normalerweise keine Deinstallation möglich ist (MSI-Dienste wird nicht gestartet), habe ich nach einer Lösung gesucht Software im abgesicherten Modus zu deinstallieren.

Lösung:
Das Problem ist einfach und simpel ohne Reboot im abgesicherten Modus zu lsöen:

1.) Rechner im "Abgesicherten Modus" starten
2.) REGEDIT starten
3.) Zum folgenden Pfad navigieren: "HKLM/SYSTEM/CurrentControlSet/Control/SafeBoot/Minimal"
4.) Hier einen neuen Schlüssel erstellen namens: "MSIService"
5.) Im neuen Schlüssel den "(Standard)"-Wert auf "Service" setzen
6.) cmd als Admin starten und folgenden Befehl eingeben um den Dienst zu starten: "net start msiserver"
7.) Nun kann die Software problemlos deinstalliert werden!

Quelle:
Uninstall software in Safe Mode

Fehlermeldung: "Cannot initialize the snap-in" bzw. "Snap-In konnte nicht initialisiert werden" beim Öffnen einer MMC

Problem:
Ich hatte plötzlich das Problem, dass ich meine Exchange-Konsole nicht mehr öffnen konnte. Beim Öffnen kam die Fehlermeldung: "Snap-In konnte nicht initialisiert werden". Ein Neustart des Servers hat das Problem nicht behoben!

Lösung:
Das Problem konnte ich nach etwas Suche einfach lösen. Die MMC scheint Daten zu cachen und wenn es hier Probleme gibt, dann erhält man diesen Fehler. Man kann diese gecachten Daten einfach wie folgt löschen:

1.) Navigieren Sie zu folgendem Ordner:
bis Windows XP/ Server 2003:
C:\Documents and Settings\\Application Data\Microsoft\MMC\

ab Windows 7 / Server 2008:
?:\Users\\AppData\Roaming\Microsoft\MMC\

2.) Hier finden Sie Dateien, die wie Ihr Snap-In benannt sind. Diese Datei einfach löschen

3.) Danach lässt sich die MMC oder das Snap-In wieder problemlos öffnen.

Quelle:
Kaspersky: Cannot initialize the snap-in error in the MMC console

PIhole - Windows 10 no Internet Connection / Browser startet bei Anmeldung

Problem:
Wenn ich mich bei meinem Windows 10 anmelde, dann öffnet sich immer gleich der Browser mit msn.com.
Die einzige Änderung, die ich gemacht habe war die Installation eines AdBlockers im Netzwerk (pi-hole).

Lösung:
Erst habe ich einen Virus vermutet aber nichts gefunden. Dann habe ich nach verwaisten Autostart-Einträgen gesucht - ebenfalls ohne Erfolg. Dann bin ich auf einen Eintrag gestoßen, der das gleiche Phänomen beschreibt:

Es handelt sich dabei um eine Windows-Funktion. Windows versucht www.msftncsi.com zu erreichen. Wenn das nicht funktioniert, dann geht das System davon aus, dass es keine Internetverbindung hat und öffnet zur Kontrolle den Browser mit msn.com. Gleichzeitig zeigt die Internetverbindung ein gelbes Ausrufezeichen an.

Warum tritt das jetzt bei mir auf?
Ganz einfach! Der Ad-Blocker hat www.msftncsi.com blockiert und somit denkt Windows, es hat keine Internetverbindung und zeigt das Ausrufezeichen bzw. öffnet msn.com beim ersten Anmelden.

Wie kann ich das Lösen?
Auch ganz einfach! Tragen Sie www.msftncsi.com einfach in die Whitelist ein und der Eintrag wird nicht mehr geblockt. Damit hat Windows wieder die Gewissheit mit dem Internet verbunden zu sein und alles ist gut!

Beim Pi-Hole kann man das Whitelisting in der Shell mittels "pihole -w www.msftncsi.com" und einem anschließenden "pihole -g" durchführen.

Quellen:
Pi-Hole: Windows behind PiHole opens msn.com on login/browser launch
pi-hole: Windows thinks there is no internet connection, but there is one. #315

BATCH: Richtige ERRORLEVEL-Auswertung

ich habe heute ein Problem mit einem Tool (NcFtpPut.exe) gehabt, bei dem in einer Batch der ERRORLEVEL ausgewertet wird.
Ich habe lange sucht um herauszufinden, warum die ERRORLEVEL-Auswertung fehlerhaft ist.
Nach einiger Suche, muss ich zur meiner Schande gestehen, habe ich herausgefunden, dass ich den ERRORLEVEL seit jeher falsch verwendet habe!! ?
Hier die Erklärung – wichtig ist hier vor allem, dass der Befehl „IF NOT ERRORLEVEL 0…“ totaler Schwachsinn ist.

VIELEN DANK FÜR DIE TOLLE ERKLÄRUNG AN HORST SCHÄFFLER!!

Quelle: http://www.antonis.de/dos/batchtut/bat-kurs/#10

=========== IF ERRORLEVEL n ======================== Lektion #10 ===


Jedes Programm gibt einen Return-Code ("Beendigungscode") an das aufrufende Programm zurück, normalerweise also an COMMAND.COM. Dieser Return-Code ist ein Byte und kann daher die Werte 0...255 haben.

Um diesen Return-Code zu interpretieren, muß man natürlich wissen, welche Werte für welchen Fall von dem betreffenden Programm vorgesehen sind. In den meisten Fällen wird der Code benutzt, um mitzuteilen, ob ein Fehler aufgetreten ist: Null bedeutet "Programm ordnungsgemäß beendet", jeder andere Wert signalisiert einen Fehler. Wenn es "leichte" und "schwere" Fehler gibt, kann das Programm verschiedene Codes verwenden: je höher um so schwerwiegender der Fehler.

Auf dieser Basis wurde die IF ERRORLEVEL... Abfrage im Batch konzipiert:
IF ERRORLEVEL n
bedeutet: IF Return-Code >= n (größer oder gleich n)

So kann mit einer einzigen Abfrage (IF ERRORLEVEL 1) festgestellt werden, ob überhaupt ein Fehler aufgetreten ist, ohne daß alle anderen (möglicherweise gelieferten) Codes abgefragt werden müssen.

Bei allen ERRORLEVEL-Abfragen muß man sich also der "größer/gleich" Logik bewußt sein. Wenn auf verschiedene Return-Codes reagiert werden soll, ist eine Abfrage in absteigender Folge erforderlich.

Beispiel: Ein Programm kann die Return-Codes 0,1,3 und 9 zurückgeben. Dann lautet die Abfrage:
IF errorlevel 9 goto Label-9
IF errorlevel 3 goto Label-3
IF errorlevel 1 goto Label-1
:: hier bleibt nur noch errorlevel 0

Übrigens:
Die Abfrage "IF [not] ERRORLEVEL 0 ... " ist absolut witzlos, denn größer oder gleich Null ist der Return-Code IMMER.
Um nur den Return-Code 0 abzufragen verwendet man logischerweise:
IF NOT errorlevel 1 goto ...

Soll nur ein ganz bestimmter Code abgefangen werden, z.B. 100, dann geht das so:
IF errorlevel 100  IF NOT errorlevel 101 goto ....


Noch ein Hinweis:

Der Return-Code kann nur in dieser IF ERRORLEVEL Konstruktion angesprochen werden. Eine *direkte* Verwendung des Wertes (z.B. als Variable) ist nicht so ohne weiteres möglich.

Andere Verwendung des Return-Codes :

Ein Programm kann natürlich den Return-Code auch für andere Zwecke als nur für Fehler verwenden. Z.B. kann ein Mailer mit bestimmten Codes mitteilen, was gerade anliegt. Auf jeden Fall muß vereinbart sein, welche Codes für welchen Zweck verwendet werden. Dafür gibt es keinerlei allgemeine Regeln.

DOS-Befehle :

DOS-Befehle, also in COMMAND.COM integrierte Befehle ohne eigene Programmdatei, geben überhaupt keinen Return-Code zurück, auch nicht Null. Der zuvor produzierte Return-Code bleibt erhalten!

Das hat den Vorteil, daß Befehle wie ECHO den letzten Return-Code nicht verändern, aber leider auch den Nachteil, daß man auf diese Weise nicht feststellen kann, ob z.B. ein COPY oder DEL erfolgreich war.

Sonstige DOS-Dienstprogramme :

Der FIND-Befehl gibt den erwarteten Errorlevel zurück: 0=gefunden,1=nicht gefunden - allerdings erst seit MS-DOS Version 6.xx. Wer ähnliches z.B. von FC (Dateivergleich) erwartet, sieht sich leider getäuscht.

Grundsätzlich sollte man sich also genau informieren, welche Returncodes geliefert werden, wenn Errorlevel-Abfragen benutzt werden. Entsprechende Informationen sind teils in alten DOS-Handbüchern,teils auch in der HELP-Funktion (ab MS-DOS 6.xx), meist aber gar nicht zu finden. Notfalls also selbst testen.
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)