PKI – Zertifikate via Windows Batchskript importieren

Das Problem

Manchmal müssen auf Windows-Endgeräten schnell und einfach (selbst-signierte) Zertifikate verteilt werden. Eine Herausforderung insofern sich die Endanwender nicht mit den Besonderheiten von Zertifikaten und Windows auskennen. Zwar kann man dies Umgehen, indem man die Verteilung der Zertifikate mittels Gruppenrichtlinien (GPO) vornimmt. Allerdings steht dieses Mittel nicht immer zu Verfügung bzw. ist manchmal schwer praktikabel. Z.B. wenn keine bzw. nur eine temporäre eine Verbindung zur Windows-Domäne besteht. Ich habe daher nach einem Weg gesucht, die die Zertifikate einfach verschicken und mittels Skript unter Windows importieren zu können.

Lösung

Ich habe mir dazu ein kleines Batch Skript geschrieben. Dieses kann aus einer Verzeichnisstruktur Zertifikate für „vertrauenswürdige Herausgeber“ (Trusted Publishers), „Zwischenzertifizierungsstellen“ (Sub CAs) und „Vertrauenswürdige Stammzertifizierungsstellen“ (Root CAs) für den kompletten lokalen Rechner oder für den jeweiligen User importieren, um eine PKI abzubilden. Der Endanwender muss dann nur noch das Skript entpacken und per Doppelklick ausführen. Die Zertifikate werden anschließend entweder für den lokalen Computer oder für den lokalen Benutzer (Variante des Skripts) im certstore installiert. Diese Lösung möchte ich Euch gerne zur Verfügung stellen.

Das Batch-Skript: (Download weiter unten)

:: PKI Script
:: target   Windows Clients and Servers starting from Windows XP and Server 2003 
:: src      Lars Mautsch. www.software-plattformen.de
:: context  admin

::Disclaimer
: The batch script is provided as is. Use it as your own risk. The author cannot be made liable for any damage/harm this script or miss-use of certificates/PKIs might cause.

@echo off
cd /d %~dp0

: root certificates
certutil -f  -addstore root root\yourcacertname.cer

: subca certificates
certutil -f  -addstore subca subca\yoursubcacertname.cer

: trusted publisher certificates
certutil -f  -addstore trustedpublisher trustedpublisher\yourcertname.cer

: wait for user to view result
pause

Download des ZIP-Archivs (inkl. Varianten)

Erläuterungen zum Skript und Anpassung für den eigenen Anwendungsfall:

  • ZIP-Archiv mittels 7-zip o.ä. auf den lokalen Rechner entpacken, bspw. in C:\wartung
  • Das eigentliche Skript befindet sich im root/Basisordner und trägt den Namen „add_certs_system.bat“ . Die Variante für den einzelnen User: add_certs_user.bat
  • Die Zertifikate, die Ihr verteilen möchtet, werden in die jeweiligen Unterordnern platziert:
    • root: Für Vertrauenswürdige Stammzertifizierungsstellen – Root CAs
    • subca: Für Zwischenzertifizierungsstellen
    • trustedpublisher: Vertrauenswürdige Herausgeber (Trusted Publisher)
  • Anschließend die Dateinamen, der zu verteilenden Zertifikate im Skript anpassen, nicht benötigte Teile einfach mit „:“ auskommentieren. Z. B. falls Ihr keine subca benötigt.
  • Zum Testen: Skript als Administrator ausführen: Rechtsklick auf das Skript – als Administrator ausführen.
  • Komplette Verzeichnisstruktur wieder packen (ZIP, …) und dann an Endanwender/Nutzer verteilen.

Viel Spaß & Erfolg damit! Wie immer erfolgt die Nutzung komplett auf eigene Gewähr. Ich schließe jegliche Haftung für entstandene Schäden, bspw. durch falsch verwendete, oder selbst-signierte Zertifikate, Tippfehler etc. komplett aus. Über Feedback und insb. Verbesserungsvorschläge freue ich mich sehr. Lasst diese doch gerne wieder der Allgemeinheit zukommen!

Downgrade von Windows 8.1 Enterprise auf Professional-Version

Nachdem bestehende Windows 8 bzw. 8.1-Enterprise User beim Update auf die neue Windows 10-Version zunächst in die Röhre schauen werden, habe ich mich auf die Suche nach Optionen zum Downgrade meiner Enterprise-Version auf eine Prof. Version begeben. Wichtig: Ich habe dafür ebenfalls eine Lizenz – diese ist zwingend notwendig, um nicht in Lizenzproblematiken zu gelangen. Bei der Suche nach entsprechenden Hinweisen zum Downgrade bin ich auf die nachfolgende Anleitung gestoßen:

http://www.windows-8-futter.de/enterprise/downgrade.html

In der Anleitung werden verschiedene Methoden zum Downgrade, ausgehend von der Änderung von Registrierungsschlüsseln hin zu „Drüberinstallieren“ genannt. Ganz einfach bzw. aufwandsarm ist der Vorgang nicht immer, aber vielleicht ist die Anleitung für den ein oder anderen doch ganz nützlich. Bei mir hat bereits die „Registry-Variante“ geklappt. Dazu musste ich mehrere Registrierungsschlüssel ändern und das System neustarten:

  • [HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
    „EditionID“=“Enterprise“
    „ProductName“=“Windows 8 Enterprise“ in
    [HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
    „EditionID“=“Professional“
    „ProductName“=“Windows 8 Professional“

und die gleichen Schlüssel (bei mir, andere benötigten lt. Foren die weitere Änderung nicht) in:

  • [HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion]

Update 19.09.2015: Ich hatte an einem Rechner im Bekanntenkreis das Problem, dass das Update trotzdem nicht anzeigt wurde. Hier musste ich bei der obenstehenden Anleitung verlinkten bei der Variante der Registry-Änderung den Namen „Windows 8.1 Professional“ anstatt „Windows 8.1 Pro“ setzen müssen. Nach einem Neustart musste ich zudem die Inhalte des Ordners C:\Windows\SoftwareDistribution\Download löschen sowie in der Eingabeaufforderung mit Administratorenrechten „wuauclt.exe /updatenow“ ausführen, bevor das Windows 10-Update bei Windows-Update erschienen ist. Vielleicht hilft das dem einen oder anderen…

Howto: Systemschriftart unter Windows zurücksetzen


Ich hatte kürzlich den Fall zu lösen, dass einer Freundin ein „Streich“ gespielt wurde: Einer Ihrer Studienkollegen hatte sich unerlaubt Zugriff auf Ihr Laptop verschafft und die Systemschriftart von Windows auf die Schriftart „Windings“ verstellt. Somit konnte sie nicht mehr vernünftig mit Ihrem Laptop mit Windows 8.1 arbeiten. Ich habe daher zur Lösung des Problems nach einer Möglichkeit gesucht, die Systemschriftart zurückzusetzen. Aber auch unter anderen Umständen, bspw. beim Herumspielen mit Schriftgrößen bei den neueren hochauflösenden Displays (4k usw.) wünscht man sich manchmal die Möglichkeit, die Schrifteinstellungen (Font-Einstellungen) unter Windows 8 oder seinen Nachfolgern zurücksetzen zu können. Unter http://www.softwareok.de/?seite=faq-Windows-8&faq=216 habe ich eine relativ kurze Anleitung gefunden, wie man alle Schrifteinstellungen auf den Standard zurücksetzen kann…

Zum Zurücksetzen der Einstellungen unter Windows 8 bitte wie folgt vorgehen:

  • Entweder „cmd“ in der Kacheloberfläche oder die Tastenkombination [Windows-Logo]+[R]  drücken, um den „Ausführen Dialog“ zu öffnen (siehe auch Screenshot unten). Hier nun den Befehl „%WINDIR%/Fonts“ oder „shell:fonts“ eingeben und mit Enter bestätigen.

shell_fonts

  • Im sich nun öffnenden Fenster (Überschrift „Fonts“ – siehe auch Screenshot unten) klicken Sie links im Menü auf die Option „Schriftarteneinstellungen“.

schriftart_einstellungen

  • Auf „Schriftarteneinstellungen“ klicken und im sich öffnenden Fenster bzw. Dialog (siehe Screenshot) die Option „Standardeinstellungen für die Schriftart wiederherstellen“ auswählen.

zuruecksetzen

Durch diese Schritte werden auch alle vorgenommenen manuellen Änderungen (Anzeigeeinstellungen) rückgängig gemacht und wieder auf den Systemstandard zurückgesetzt. Viel Spaß mit dieser Anleitung. Anregungen, Verbesserungen usw. sind immer sehr willkommen… 🙂

Windows 8 bzw. 8.1 Kacheln funktionieren nicht mehr bzw. verschwinden?

Dann ist ggf. der nachfolgende Beitrag für Euch interessant: http://www.cobble-it.de/betriebssystem/windows-8-store-apps-live-kacheln-werden-nicht-aktualisiert

Viel Erfolg! 🙂

Windows 8 bzw. Windows 10 Fehler: Fehler beim Planen des Softwareschutzdiensts für den erneuten Start bei ****-** Fehlercode: 0x80041316.

Nachdem ich bei mehreren Windows 8, Windows 8.1 und Windows 10-Installationen im Eventlog auf die Fehlermeldung aus der Überschrift gestoßen bin, wollte ich sie nicht mehr länger ignorieren… 😉

Im MSFN (http://www.msfn.org/board/topic/159772-sercurity-spp-event-16385-error-code-0x80041316/page__p__1023235#entry1023235 ) bin ich auf der Suche nach der Ursache für die Fehlermeldung fündig geworden: Einige Tasks bzw. geplante Aufgaben aus den „geplanten Aufgaben“ sind in diesem Fall anscheinend defekt. Die Tasks können z. B. bei Datenträgerdefekten bzw. Fehlern, unsauberen Shutdowns o.ä beschädigt werden. Anschließend können dann die entsprechenden Meldungen (0x80041316, …) im Eventlog auftreten.

Fehlerbehebung (Könnte leider kürzer sein):

Voraussetzungen:

  • Man benötigt eine Windows 8-Installations-CD bzw. den Installationsdatenträger/ISO/… genauer gesagt die Datei install.wim im Unterordner sources. Dazu später aber mehr. Ohne die Datei braucht man allerdings auch nicht anfangen… 😉
  • 7-ZIP (kostenlos) in einer Version neuer als 9.3X zum Extrahieren der Installationsdateien – mit älteren Versionen hatte ich leider kein Glück. Folgende Anleitung kann helfen, die für Eure Version richtige Version von Installationsdateien zu extrahieren: http://blog.nirsoft.net/2009/09/17/how-to-extract-missing-system-files-from-the-dvd-of-windows-7vista/

Vorgehen zur Fehlerbeheben:

  • Defekte Tasks (geplante Aufgaben) lokalisieren: Verwaltung -> Computerverwaltung -> Aufgabenplanung -> Nun kommen Fehlermeldungen, welche Tasks defekt sind. Diese Tasks notieren.
  • Nun im Systemordner Windows\System32\tasks (meistens auf C:) des Rechners schauen und die genannten defekten Dateien lokalisieren (inkl. entsprechendem Unterordner – in meinem Fall C:\windows\System32\Tasks\Microsoft\Windows\SoftwareProtectionPlatform , C:\Windows\System32\Tasks\Microsoft\Windows\WS und C:\windows\System32\Tasks\Microsoft\Windows\User Profile Service) und löschen.
  • Windows 8 neustarten -> Die Fehlermeldung sollte erst einmal nicht mehr in der Aufgabenplanung auftauchen.
  • Wichtig: Nun müssen die Tasks/Aufgaben allerdings wieder neu eingerichtet werden und dafür benötigt man ein Windows 8-Installationsmedium dessen Windows Version mit der installierten Version übereinstimmt. Also bei einer installierten Windows 8-Prof. Version ein Windows 8-Prof. Installationsmedium.
  • Auf dem Installationsmedium muss man nun die Datei install.wim lokalisieren. Entpackt man diese, finden sich im Ordner \System32\tasks die Taskdateien, welche man zuvor gelöscht hat.
  • Nun die Dateien für die Tasks, welche gelöscht wurden auf den Desktop/Rechner kopieren und die Dateiendung .xml bei den jeweiligen Dateien ergänzen, damit diese später importiert werden können. Wichtig: Ohne Änderung der Dateiendung wird die Fehlerbehebung nicht klappen.
  • Diese umbenannten Dateien muss man nun in der Aufgabenplanung wieder importieren: Die Ordnerstruktur in der Aufgabenplanung ist ähnlich der Struktur im Windows/System32-Ordner. Hier den Ordner lokalisieren, aus dem man vorher die Datei gelöscht hat, Rechtsklick auf „Aufgabe importieren“, die zuvor kopierten Datei wählen, Standardeinstellungen behalten und importieren. Dies für alle defekten Dateien/Tasks wiederholen.
  • Anschließend neu starten und die Probleme sollten behoben sein.
  • Hinweise:
  • In den Foren wird teilweise auch davon gesprochen, dem System nach jedem Importvorgang einer Task-Datei einen Neustart durchzuführen. Dieser war bei mir nicht nötig. Vielleicht ist dieser Neustart aber bei Euch notwendig.
  • Bei einem Fehler(code): „Fehler beim Planen des Softwareschutzdiensts für den erneuten Start bei ****-**-**. Fehlercode: 0x80070002“ hat der Import einer Dateien nicht richtig funktioniert und sollte nochmal sauber wiederholt werden.

Viel Spaß bei der Fehlerbehebung! Feedback zu diesem Beitrag (Unklarheiten, Fehler, …) ist wie immer willkommen und werden sehr gerne eingepflegt!

Windows Server 2008 / 2008R2 / 2012 / 2012 R2 / 2016 NTP- bzw. Zeitserver einfach per Eingabeaufforderung einstellen

Ich muss immer wieder NTP-Server unter Windows Server- oder Clientbetriebsssystemen konfigurieren. Allerdings ist mir dabei der Umweg der Konfiguration über die Registry und regedit o.ä. zu umständlich. Daher habe ich ein wenig recherchiert und bin auf einen im AwesomeIT-Blog gestoßen.

Zur Konfiguration des Zeitservers kann man einfach die Kommandozeile als Administrator öffnen (Start + Ausführen als/ RunAs) und die nachfolgenden Befehle ausführen. Unter Windows Server 2012 (bzw. R2) ist eine kleine Modifikation, genauer das Entfernen der Gänsefüßchen in der zweiten Zeile der untenstehende Eingaben (–> de.pool.ntp.org), notwendig:

net stop w32time # Windows-Zeitgeberdienst beenden
w32tm /config /syncfromflags:manual /manualpeerlist:"de.pool.ntp.org" # Externen NTP-Server (in diesem Fall verwende ich den Zeitserver für Deutschland) angeben - Wichtig: ggf. muss der Zeitserver ohne die "" eingegeben werden, siehe der Hinweis zu Windows Server 2012 (R2)
w32tm /config /reliable:yes # Den Zeitdienst möglicherweise angebundenen Clients verfügbar machen
net start w32time # Windows-Zeitgeberdienst neu starten

Nett ist auch der Hinweis, dass es für die Konfiguration bzw. bei Problemen mit der Konfiguration in der Zwischenzeit ein FixIT seitens Microsoft unter http://support.microsoft.com/kb/816042 existiert. Das hat aber leider bei mir unter Windows Server 2012 nicht funktioniert (Die Fehlermeldung lautet „Version nicht unterstützt?“ Angeblich ist der Server im nachfolgenden Format anzugeben: “de.pool.ntp.org,0x0”) – ich habe mich dann mit dem oben stehenden Listing aus der Affäre gezogen, welches für mich deutlich schneller zu kopieren gewesen ist, als lange herumzusuchen bzw. auszuprobieren.

Wie immer gilt: Alle Angaben ohne Gewähr und Einsatz auf eigenes Risiko. Ich habe allerdings bisher mit den o.g. Befehlen nur positive Erfahrungen und entsprechendes Feedback gesammelt. Viel Erfolg beim Einstellen Eures Zeitservers. Feedback ist willkommen!