Accelerating Cloud Product Development with the STACKIT Maturity Model

Creating a product company, particularly a cloud platform from scratch is exciting and challenging. I’ve had the opportunity to embark on this journey multiple times, from consulting for software-industry clients to my role at SAP Cloud Platform and now with STACKIT. I’m going to share the insights and lessons learned from these experiences in this blog series. These posts will also be informed by the research I conducted at the University of Stuttgart.

My first article focusses on accelerating and maturing cloud product development… It is a copy of the according LinkedIn article.

The Challenge: Navigating uncharted Territories with plenty of options

Picture yourself embarking on an uncharted journey, venturing into a realm of possibilities unknown to you. This could be the experience of launching a cloud-based company, where the freedom to innovate and explore new frontiers is both exhilarating and daunting. While early-stage product teams relish the autonomy to chart their own course, they often face the challenges of operating in a „wild west“ environment, making independent decisions that can lead to inconsistencies, delays, and uncertainties.

In this uncharted territory, where options abound, product teams need time to find their footing. But… asking each team to handle the complexity of product development decisions independently can detract from their primary objective: maximizing value for their customers or users. Moreover, the pressure of releasing a product to a broader audience can lead to fear and uncertainty, as teams question whether their creation is fully ready for general availability. This fear is often exacerbated by concerns about missed non-functional requirements that could cause unforeseen problems.

Our Golden Path: The STACKIT Maturity Model

To overcome these challenges, early-stage product companies need to establish a framework that provides structure and guidance while still allowing for innovation. That’s why we introduced the STACKIT Maturity Model in order to help STACKIT product teams to scale.

The STACKIT Maturity Model defines non-functional(!) criteria and templates for each stage of product development, providing a structured roadmap and golden path for teams to progress step-by-step. This approach eliminates roadblocks, reduces discussions, and accelerates product development while ensuring enhanced technical quality.

To accommodate less experienced teams, the model offers an incremental approach, allowing teams to mature gradually rather than attempting to reach the pinnacle in a single leap. This incremental growth resembles a child’s development, starting with crawling, then walking, running, and continuously improving. Importantly, the model extends beyond product launch, catering to the post-release period. Which means, the paved-road supports day 2 to day 50 operations, emphasizing sustained scalability.

For teams that embarked on their journey prior to adopting the „golden path,“ the STACKIT Maturity Model offers a path to assess their current product maturity, ensuring they avoid accumulating excessive technical debt before launch. This assessment enables early adopters, or STACKITeers, to leverage their existing knowledge and align with the model’s principles.

Standing on the Shoulders of Giants

The STACKIT Maturity Model draws inspiration from proven scaling models used by industry leaders like Netflix, Red Hat, and Spotify. While not entirely novel, its principles remain highly relevant in the ever-evolving world of software-driven organizations. Maturity models like ours provide a structured roadmap, akin to a „golden path,“ that is crucial for achieving sustainable growth and scalability. This approach resonates with the concept of „internal developer platforms,“ which increasingly emphasize the value of golden paths for product development.

Visualizing the Solution: A Comprehensive Roadmap for scalable development.

Imagine the STACKIT Maturity Model as a dynamic roadmap, a checklist that simplifies the intricate maze of product development. This roadmap, depicted below, guides teams through various stages of maturity, from initiation to optimization. Each stage is mapped along a spectrum of essential dimensions, or „golden paths,“ like „Service Levels“, „Commercials“, or „Lifecycle Management“ that collectively contribute to successful product development.

Illustration of the Maturity Model

Along this roadmap, each step is accompanied by detailed criteria, links to best practices, templates, and contact information for subject matter experts (SMEs) who can provide guidance and support. This comprehensive approach ensures that teams have the necessary resources to navigate each stage effectively. We believe that merely providing criteria without additional support would leave teams feeling overwhelmed. Instead, we aim to empower them with the knowledge and tools they need to thrive.

Change Management: Implementing the Maturity Model

Introducing a transformative approach like the STACKIT Maturity Model demands a robust organizational change management strategy. After introducing some mistakes at the beginning (yes… stupid) we employed a multifaceted approach, including information sessions, training, short videos, hands-on workshops, and individual follow-ups, to effectively disseminate the model and foster adoption.

Visual Aid: Explaining the Maturity Model: One key element of our change management efforts was the creation of short explainer videos that concisely outlined the model’s key tenets and benefits. See the example below:

https://videos.simpleshow.com/wjAGPgtjmC

The videos circulated among teams, providing a clear and engaging introduction to the maturity model. They communicated the model’s purpose, its structure, and its potential impact on product development. The video highlighted above also served as a valuable tool for onboarding new employees and ensuring consistent understanding across the organization.

Measuring Success and Continuous Improvement

Our implementation of the STACKIT Maturity Model (or golden paths) has yielded significant benefits, despite encountering initial obstacles related to team adoption. While not every team readily embraced change, the efforts invested in change management were crucial to its success. We learned our lession the hard way. Thats why I would encourage you to invest as well into change management, when following a similar approach…

The results: a more standardized approach among product teams, enhanced confidence in the teams‘ ability to deliver high-quality cloud products, and a reduced time to market for new products. Positive feedback from external auditors and internal product teams further validates the effectiveness of our approach. One product owner approached us lately, telling:

„Thank you for the Maturity Model! It has often helped me to be well prepared for questions about product development. This helped us to achieve our goal much faster.“

Which made me smile… 🙂

The Unfinished Tale: Maturing the Maturity Model

Are we done? Everything fine? Our journey with the STACKIT Maturity Model is far from over. Just as our product teams and their products evolve, the maturity model itself requires continuous refinement. While we celebrate our accomplishments, we remain committed to improvement. As we gather feedback, we are exploring ways to enhance the model, perhaps by making it more streamline, having lean variants fitting to different product categories, or by providing additional self-service guidance through templates.

In essence, tools like the STACKIT Maturity Model can serve as valuable guides in our pursuit of mature cloud product development. With ongoing refinements, we are confident that this golden path will continue to steer us towards excellence, eventually becoming a mature product in itself.

Stay tuned for more insights and updates as we continue our journey of scaling organizations and maturing product development.

#STACKITMaturityModel # STACKIT #CloudProductDevelopment #ScalingOrganizations #InnovationJourney

Roaming Signatures in Outlook bzw. Office 365 deaktivieren

Ein Kunde von uns hatte seit ein paar Tagen ein Problem und hat sich bei mir gemeldet: Microsoft hat in Outlook (Office 365) ein neues Feature zur Synchronisation von Einstellungen wie bspw. Signaturen zwischen mehreren Geräten eingeführt. Die kurze Beschreibung des Features lautet: „Your Signature settings are stored in the cloud, so your experience is consistent when you access Outlook for Windows on any computer.  This feature has released to production Current Channel, Monthly Enterprise Channel, and will advance to the remaining channels as they update to Version 2303 or higher.“

Mehr dazu hier: https://www.microsoft.com/de-de/microsoft-365/roadmap?filters=&searchterms=60371

Im Grunde genommen eine interessante Idee, da dies das lästige manuelle Synchronisieren von Signaturen zwischen verschiedenen Geräten überflüssig machen sollte. Allerdings stellte sich dabei ein Problem heraus: Der Kunde konnte seine Signaturen nicht mehr wie gewohnt in den lokalen Profilordner von Outlook kopieren und übernehmen. Stattdessen wurden ihm hauptsächlich die Signaturen von Office 365 angezeigt, und er konnte seine lokalen Signaturen nicht auswählen.

Problemlösung

Die Lösung für dieses Problem besteht darin, das für den Kunden störende Verhalten relativ einfach zu umgehen und Outlook auf den früheren Stand zurückzusetzen. Hierfür muss lediglich ein Schlüssel in der Registry anders gesetzt werden. Das Vorgehen dazu ist wie folgt:

  1. Start -> Ausführen -> Regedit (als Administrator ausführen).
  2. Zum Pfad HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Setup\ navigieren.
  3. Einen neuen D-WORD-Wert (32Bit) mit dem Namen „DisableRoamingSignaturesTemporaryToggle“ anlegen.
  4. Den Wert auf 1 setzen.
  5. Outlook schließen und neu starten.

Nach diesem Vorgang sollte sich Outlook wieder wie zuvor verhalten, und es ist möglich, Signaturen manuell zu kopieren und zu übernehmen.

Falls das Verhalten über Gruppenrichtlinien deaktiviert werden soll, bietet die Anleitung unter [Link zu CodeTwo] Unterstützung.

Viel Erfolg mit dieser Lösung. Wir hoffen, dass sie Ihnen weiterhilft. Bitte beachten Sie, dass alle Änderungen an Ihrem Rechner auf eigene Gefahr erfolgen. Feedback über die Kommentarfunktion oder per E-Mail ist willkommen. Vielen Dank im Voraus.

Fehlermeldung Mozilla Firefox Installer VCRUNTIME140_1.dll nicht gefunden

Das Problem

Auf Rechnern mit Windows lässt sich Mozilla Firefox nicht installieren. Denn der Installer meldet „Die Ausführung des Codes kann nicht fortgesetzt werden, da VCRUNTIME140_1.dll nicht gefunden wurde. Durch eine Neuinstallation des Programms kann das Problem möglicherweise behoben werden.“ Siehe Screenshot. Auf Englisch: „The code execution cannot proceed because VCRUNTIME140_1.dll was not found. Reinstalling the program may fix this problem.“ Klickt man OK, lässt sich manchmal noch Firefox starten, aber dieser ist unbrauchbar. Auch eine einfache Neuinstallation von Firefox beseitigt leider das Problem nicht.

Fehlermeldung des Mozilla Firefox Installers – VCRUNTIME140_1.dll nicht gefunden.

Die Ursache

Meistens ist eines der Microsoft Visual Studio Redistributable packages nicht korrekt installiert. Diese sind für die korrekte Ausführung von Mozilla Firefox notwendig. Abhilfe kann daher die Neuinstallation des letzten Packages für 64-Bit oder 32-Bit helfen. Anmerkung: Welche Version die Richtige ist, müsst Ihr wählen. Bei neueren Windows 10 Maschinen ist aber wahrscheinlich die 64-Bit-Version die richtige für Euch. Anschließend müsst Ihr dann den Firefox nochmals neu installieren.

Wo findet Ihr diese Microsoft Visual Studio Redistributable packages? Glücklicherweise stellt Microsoft diese auf einer Website zum Download bereit: https://docs.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170

Auf der Seite finden sich auch permanente Downloadlinks zur x64 und x32 sowie einer ARM-Version:
Permalink für x64 (64-Bit): https://aka.ms/vs/17/release/vc_redist.x64.exe
Permalink für x86 (32-Bit):https://aka.ms/vs/17/release/vc_redist.x86.exe
Permalink für ARM64: https://aka.ms/vs/17/release/vc_redist.arm64.exe

Wie löst Ihr das Problem? (Vorgehen zur Lösung)

  1. Firefox nochmals deinstallieren
  2. Microsoft Visual Studio Redistributable package für Euren Rechner
  3. Anschließend Firefox nochmals installieren.
  4. Sich freuen, dass das Problem hoffentlich beseitigt ist.

Bei mir und auf einigen Kundenrechnern konnte ich das Problem so relativ einfach beseitigen. Andere Hilfestellungen mit manuellem Kopieren der fehlenden Datei VCRUNTIME140_1.dll in den Mozilla Ordner haben sich leider nur als temporärer Fix rausgestellt, der nach einem der nächsten Updates dann zu wiederholen war…

Viel Spaß mit der Lösung. Ich hoffe Sie hilft Euch weiter. Wie immer gilt: Alles ohne Gewährleistung. Ihr nehmt Änderungen an Eurem Rechner auf eigene Gefahr vor. Über Feedback über die Kommentarfunktion oder E-Mail freue ich mich. Danke dafür schon im Voraus.

Exchange Server 2010: Kein Login via OWA möglich. Fehlermeldung “ ERR_RESPONSE_HEADERS_TRUNCATED“

Das Problem:

Vielleicht hatten von Euch manche auch schon das Problem. Nach einem Neustart, beispielsweise nach einem Windows Update kann man sich nicht mehr als User an einem Exchange 2010 o.ä. Server anmelden. Die Fehlermeldung, die nach dem Login eines Users im Outlook Web Access (OWA), erscheint lautet:

Diese Webseite ist nicht verfügbar.  

Die Webseite unter https://internetdomaene.de/owa/auth.owa ist möglicherweise vorübergehend nicht verfügbar oder wurde dauerhaft an eine neue Webadresse verschoben.

Fehlercode: ERR_RESPONSE_HEADERS_TRUNCATED

Die Ursache

Ist recht simpel und kann mehr oder minder schnell beseitigt werden. Denn in der Regel läuft dann auf dem Entsprechenden Server der Dienst: MSExchangeFBA bzw. in der Diensteübersicht „Formularbasierter Microsoft Exchange-Authentifizierungsdienst“ nicht. Auf einem deutschsprachigen Windows Server übersieht man ihn gerne mal bei der Kontrolle, da er nicht direkt neben den typischen Exchange-Diensten im Servicemanager auftauchen. I.d.R. kann man sich also behelfen indem man diesen (und möglicherweise andere nicht gestartete) Exchange Dienste einfach startet.

Den verursachenden Dienst neu starten.

Ein weiterer Kandidat, der manchmal nicht gestartet ist: „Geschützter Microsoft Exchange-Diensthost“. Weitere für Exchange 2010 relevante Dienste habe ich unten in der Tabelle übernommen.

Fehlerbehebung

Um diese Dienste wieder zu starten geht Ihr wie folgt vor:
1. Start -> ausführen (als Administrator)
2. services.msc eingeben und mit Enter bestätigen. Es wird der Servicemanager von Windows gestartet.
3. Die Dienste von Exchange kontrollieren. Insb. ob „Formularbasierter Microsoft Exchange-Authentifizierungsdienst“ und „Geschützter Microsoft Exchange-Diensthost“ gestartet sind. Siehe Screenshot für den „Formularbasierter Microsoft Exchange-Authentifizierungsdienst“ oben.
4. Falls einer der Dienste nicht läuft, dann mittels Rechtsklick auf den Dienst starten.

Das sollte es gewesen sein. Allerdings kann der Fall auftreten, dass einer der für Exchange relevanten Dienste nicht startet. In diesem Fallist das Eventlog (eventvwr) eine erste gute Anlaufstelle, um dem Problem näher auf die Spur zu kommen.

Viel Erfolg damit!

Exchange Dienste:

Microsoft Exchange Active Directory-TopologieDurch diesen Dienst ist es möglich alle Topologie Informationen aus dem Active Directory abzurufen und somit auch andere Exchange Server in verschiedenen Standorten zu ermitteln.
Microsoft Exchange AdressbuchDurch diesen Dienst werden die Exchange Adressbücher verwaltet wodurch Clients die aktulisierte Version herunterladen können.
Microsoft Exchange AntispamaktualisierungDurch diesen Dienst werden Updates für Microsoft Forefront Protection for Exchange 2010 heruntergeladen.
Microsoft RPC-ClientzugriffsdienstDurch diesen Dienst wird es Outlook ermöglicht durch eine RPC Kommunikation auf den Exchange Server zuzugreifen
Microsoft Exchange DateiverteilungDurch diesen Dienst wird das Offline Adressbuch an alle CAS Server repliziert.
Microsoft Exchange DiensthostDurch diesen Dienst ist die Kommunikation via OAW (Outlook Anywhere) möglich.
Microsoft Exchange EdgeSyncDurch diesen Dienst werden die Edge Transport Server mit den aktuellen Empfängern versorgt, da diese keine eigene Möglichkeit haben, auf das AD zuzugreifen.
Microsoft Exchange EinschränkungenDurch diesen Dienst werden alle Begrenzungen und Einschränkungen für Postfächer oder Nachrichten und Datenbanken verwaltet. (Sende – und Empfangsgröße, Postfachgröße usw.)
Microsoft Exchange IMAP4Durch diesen Dienst können Clients per IMAP auf das Exchange Postfach zugreifen. (Ist per Default nicht aktiviert)
Microsoft Exchange InformationsspeicherDurch diesen Dienst werden die Exchange Datenbank (Postfach – und Öffentliche Ordner Datenbank) bereitgestellt.
Microsoft Exchange MailübergabeDurch diesen Dienst wird Zustellung der Mails zum Empfänger geregelt
Microsoft Exchange Postfach-AssistentenDurch diesen Dienst sind Funktionen wie Automatische Antworten, Abwesenheitsnachrichten und Postfachreglen verfügbar.
Microsoft Exchange PostfachreplikationDurch diesen Dienst ist es möglich Postfächer innerhalb oder außerhalb der Organisation zu verschieben.
Microsoft Exchange POP3Durch diesen Dienst können Clients per POP3 auf das Exchange Postfach zugreifen. (Ist per Default nicht aktiviert)
Microsoft Exchange ReplikationDurch diesen Dienst werden die DAG Informationen (Datenbanken und Logs) auf alle DAG Mitglieder repliziert.
Microsoft Exchange Server Extension for Windows Server BackupDurch diesen Dienst wird die Schnittstelle für Windows Server Sicherung zur Verfügung gestellt, mit der sich die Exchange Datenbank online (über VSS) sichern lassen.
Microsoft Exchange SuchindexierungDurch diesen Dienst wird der Suchindex für sämtliche Postfächer aufgebaut, wodurch eine schnelle Indexsuche via Outlook und OWA gewährleistet wird.
Microsoft Exchange SystemaufsichtDurch diesen Dienst werden alle Exchange Dienste überwacht und die Kommunikation mit dem Active Directory hergestellt.
Microsoft Exchange TransportDurch diesen Dienst wird die SMTP Kommunikation zum Exchange Server hergestellt.
Microsoft Exchange TransportprotokollsucheDurch diesen Dienst werden die Message Tracking Logs gefiltert und für den Benutzer bereitgestellt.
Microsoft Exchange ÜberwachungDurch diesen Dienst werden die Diagnose CMDLets in das Event Log geschrieben.
Weitere Exchange-Dienste, die man bei Nichtfunktionieren des Exchange Servers kontrollieren kann (Quelle)

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!

Mac OS X: libecomlodr.dylib beschädigt Deinen Computer

Nach dem letzten Mac OS X Catalina Update habe ich nach dem Systemstart dauerthaft eine nervige Fehlermeldung erhalten. Die Meldung lautet: „libecomlodr.dylib“ beschädigt deinen Computer. Diese Datei wurde an einem unbekannten Datum geladen. Siehe Screenshot unten. Leider konnte die Fehlermeldung mit dem klicken auf „OK“ nicht beenden.

Fehlermeldung zur libecomlodr.dylib unter Mac OS X Catalina nach Update
Fehlermeldung in Mac OS X Catalina

Ursache für die Fehlermeldung „libecomlodr.dylib beschädigt Deinen Computer

Nachdem ich mir die Datei im Finder habe anzeigen lassen und diese in einem zu einer Symantec Endpoint Protection (SEP) gehörendem Verzeichnis lag, habe ich SEP und Mac OS X als Verursacher dieses Problems vermutet. Meine Vermutungen wurden durch Recherchen im Symantec Forum und Netz (hier und hier) bestätigt: Symantec Endpoint Protection in der Version 12.1 hat ein Problem mit Mac OS X Catalina 10.15. Daher benötigt man eine neue Version (MR) von SEP. Leider sorgt die von Symantec in SEP eingebaute Update-Funktion von SEP nur für Minor Updates und insb. Updates der Antiviren/Security-Signaturen. Für ein MR (12.4+) oder gar ein Update auf die neue Version SEP 14 muss man den Weg eines händischen Updates gehen insofern man keine verwalteten Clients hat…

Lösung:

Kennt man die Ursache, so ist die Lösung relativ einfach: Man muss Symantec Endpoint Protection durch eine neuere Version als 12.1 ersetzen (12.4 oder 14). Natürlich kann man Alternativ auch auf eine andere Antiviruslösung wechseln. Symantec Benutzer können neuen Versionen von SEP nach Ihrer Registrierung der Lizenz bei Broadcom/Symantec herunterladen. Da sich meine Suche nach einer neuen Version leider zeitlich mit der Übernahme von Symantec durch die Firma Broadcom überschnitten hat, das Portal tagelang nicht erreichbar gewesen ist, bin ich zwischenzeitlich zu ESET (ESET Endpoint Protection Standard) ausgewichen. Ein Test mit der Testversion von SEP 14 hat jedoch bestätigt, dass hier das Problem ebenso beseitigt ist.

Abschließende Bemerkungen:

Viel Spaß mit der Anleitung und frohes Updaten! Wie immer gilt: Alles ohne Gewähr und Feedback insb. Verbesserungsvorschläge von denen alle Leser des Blogs profitieren sind sehr willkommen!

iCloud nach Microsoft Update für Outlook reaktivieren

Problem

Nach einem Update von Microsoft Outlook werden iCloud-Elemente wie bspw. Kalendereinträge, Kontakte oder Erinnerungen nicht mehr synchronisiert.

Ursache

Leider hat Outlook nach den regelmäßigen Microsoft-Updates für Office oftmals Probleme, das iCloud Add-In korrekt zu laden. Manchmal wird dies durch eine neue Version des iCloud-Addins behoben (siehe iCloud-Addin aktuell halten). Aber nicht immer. Insbesondere die Datenausführungsverhinderung (Date Execution Prevention, DPE) verhindert das Aktivieren des Plugins. In Outlook wird dann unter Date -> Optionen -> AddIns -> das iCloud-Addin Aktivierung und eine Meldung in der Form angezeigt. Achtet auf den Punkt „Kompatibilität“:

Datenausführungsverhinderung (DPE) verhindert das Laden des iCloud-Outlook-Plugins nach einem Update

Ohne dieses Add-In werden dann folgerichtig keine neuen Elemente mit der Apple iCloud synchronisiert. Leider schlägt auch oft das einfache Reaktivieren über die Outlook Einstellungen fehl. Das Netz ist voll von entsprechenden Fehlermeldungen und dem Hinweis einfach mal alles neu zu installieren…was mir dann ein wenig zu sehr nach der Holzhammermethode aussah.

Microsoft Office-Add-Ins Dialog in Outlook

Lösung

Diese Lösung ist für Outlook 2016/2019. Das Vorgehen bei anderen Versionen (auch office 365) kann minimal abweichen. Insb. da sich auch die iCloud für Windows Versionen bspw. bei den Dateipfaden unterscheiden. Wichtig ist es, die Schritte im Outlook zwingend mit Admin-Rechten durchzuführen:

  1. Startet Outlook mit Administratorenrechten. Also bspw. durch Drücken der Windowstaste -> Eingabe von Outlook , Rechtklick auf Outlook und "als Administrator starten"
  2. Navigiert anschließend in Outlook via Start -> Optionen -> Add-Ins zu den in Outlook registrierten Add-Ins. Falls das Addin korrekt geladen wurde, erscheint es in der Liste „Aktive Anwendungs-Add-Ins“ und alles sollte gut sein. Ihr müsst dann eigentlich nichts weiter veranlassen. 🙂 Ansonsten weiter bei Schritt 3.
  3. Befindet sich das iCloud Outlook Addin in der Liste der Inaktiven Anwendungs-Add-Ins, dann wählt im gleichen Dialog unten unter Verwalten „COM-Add-Ins“ und „Los…“ aus.
  4. Im nun folgenden Dialog COM-Add-Ins wählt Ihr, falls vorhanden, das iCloud Outlook Addin aus und klickt rechts auf „Entfernen“. Bestätigt die Dialoge mit OK und schließt Outlook.
  5. Anschließend wieder Outlook mit Admin-Rechten starten: Windowstaste -> Eingabe von Outlook , Rechtklick auf Outlook und "als Administrator starten"
  6. In Outlook Erneut zu den COM-Add-Ins navigieren: Start -> Optionen -> Add-Ins und anschließend unten auf COM-Add-Ins und Los.
  7. Im COM-Add-Ins Dialog registriert Ihr das Add-in neu, indem Ihr auf Hinzufügen klickt und im kommenden Dialog zum Pfad für das Addin navigiert. Dieses befindet sich, insofern Ihr bei der Installation der iCloud Tools nichts verändert habt unter: C:\Program Files\Common Files\Apple\Internet Services und dort APLZOD32.dll
    1. Wichtig: in neueren Versionen der iCloud-Software für Windows scheint Apple den Pfad auf C:\ProgramData\Apple Inc\iCloud\Outlook geändert zu haben. Sucht ggf. in diesem Pfad.
  8. Nach einem erneuten Start von Outlook mit normalen Rechten sollte das iCloud Outlook Addin wieder ordnungsgemäß funktionieren.
  9. Fertig.
Com-Add-ins Dialog von Outlook

Viel Spaß mit der Anleitung! Beachtet, dass für viele Schritte Admin-Rechte notwendig sind, sonst verzweifelt Ihr.

Problem

Manchmal hilft der oben beschriebene Weg nicht. Das iCloud-Plugin wird zwar angezeigt, deaktiviert sich auch nach Re-Installation immer wieder. Denn das iCloud-Plugin wird von Outlook immer wieder automatisch deaktiviert, da es beim Starten von Outlook zu viel Zeit benötigt. Outlook deaktiviert dieses dann, um den Start jedes Mal nicht „unnötig“ zu verzögern. Dieses Verhalten ist grundsätzlich nicht schlecht, behindert aber das Funktionieren des iCloud-Plugins und somit das Synchronisieren.

Lösungsschritte:

Verhindern kann man dieses Verhalten, indem man das Laden des iCloud-Outlook-Plugin dauerhaft erzwingt. Dies geschieht mittels eines Registry Eintrages. Den Hinweis dazu habe ich hier gefunden. WICHTIG: Modifiziert Eure Registry nur, wenn Ihr wisst, was Ihr tut.

  • Den Registrierungseditor starten: Start -> Ausführen -> Regedit und Enter.
  • Navigiert nun zu dem Pfad für das Plugin auf Eurem Rechner. Die entsprechenden Einstellungen für die Plugins finden sich unter einem/mehreren den folgenden Pfade:
  1. HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\AddIns
  2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins
  3. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\Outlook\Addins

Die Add-Ins unter 1 sind jene, die für den angemeldeten Benutzer installiert sind. Punkt 2 und 3 beinhaltet globale Add-Ins, die allen Benutzern des Rechners zur Verfügung stehen. Bei mir ist das iCloud-Plugin meist unter 2 vorhanden gewesen.

  • Und setzt dort den Schlüssel (REG_DWORD) mit dem Namen LoadBehavior auf den Wert 3 (0x000000003). Das erzwingt das dauerhafte Laden des iCloud-Plugins beim Start von Windows. Siehe auch der Screenshot unten.
Registry-Einstellungen für das DAV/Apple iCloud-Plugin.
  • Sollte Euch das zu viel Aufwand sein, dann könnt Ihr Euch auch das hier verlinkte Reg-File direkt auf Euren Rechner herunterladen, entpacken und ausführen. Dies nimmt den oben angezeigten Eintrag für das Plugin vor.
  • Anschließend Outlook neu starten.

Ich hoffe, dass dies Euch weiterhilft. Feedback ist wie immer sehr willkommen! Ansonsten gilt der wichtige Disclaimer: Für Beschädigungen an Eurer Installation (Windows , …) oder Daten übernehme ich keine Gewährleistung -> Die Anwendung erfolgt auf eigene Gefahr.

Was tun, wenn Euch diese Schritte nicht weitergeholfen haben?

iCloud-Tools aktuell halten: Bitte prüft, ob Ihr die letzte/aktuellste Version von den iCloud-Tools installiert habt. Früher war ich davon enttäuscht. Die schlechten Wertungen im Store kann ich daher nachvollziehen. Zwischenzeitlich funktionieren die Updates der Tools unter Windows 10+ mittels des Microsoft Store jedoch relativ zuverlässig. Klar, von Zeit zu Zeit muss man nochmals nach einem Update das Kennwort neu eingeben. Aber schon manches automatische Update von Microsoft wurde mit den aktualisierten Versionen der iCloud-Software von Apple gut aufgefangen. Ich habe daher auf meinen Rechnern nur noch die iCloud-Variante aus dem Store installiert und halte diese darüber aktuell.

Falls auch das nichts hilft: Entweder auf anderen Seiten nach Lösungen suchen und falls gefunden: teilt diese doch hier über die Kommentarfunktion! Ansonsten ebenfalls hier in der Kommentarfunktion nachfragen. Eine Garantie, dass Euch jemand helfen kann, gibt es jedoch nicht. Eine Bitte zu den Kommentaren (10.01.2021): Nachdem ein paar Leute die Kommentarfunktion ausschließlich dazu nutzen, um ihren Ärger über Microsoft oder Apple freien Lauf zu lassen: Bitte haltet die Kommentare konstruktiv. Vermeidet ein pures „Ablästern“ gegen die Softwarehersteller! Einerseits werden wir deren Geschäftsgebaren nicht bzw. nur schwer durch Frustnachrichten an dieser Stelle ändern können. Andererseits bleiben dann die relevanten Infos wie Fehlermuster oder ähnliches auf der Strecke und wir können uns nicht gegenseitig helfen. Solltet Ihr Unterstützung benötigen, dann schreibt doch bitte zwingend die unten genannten Infos in Euren Kommentar. Dadurch können wir alle dann zielgerichteter weiterhelfen und erhöht die Chancen auf eine qualifizierte Antwort. Vielen Dank für die Beachtung.

  • Eure Windows Version (Build Version) und Outlook Version (Build version -> Datei Office Konto). Das sieht dann ungefähr wie folgt aus:
Info zur Outlook Build-Version
  • iCloud-Plugin-Version, diese finden sich unter „iCloud Einstellungen öffnen“ und dann im Einstellungsfenster oben rechts (gelb markiert im Screenshot):
iCloud-Plugin-Versionsinfomationen
  • Fehlermeldungen (Ereignisanzeige, …) möglichst präzise.
  • Nutzt Ihr Outlook mit einem POP3 oder einem IMAP Konto? Habt ihr eine PST-Datei als Standard-Datendatei hinterlegt (Systemsteuerung -> Mail -> Datendateien)? Es gibt bspw. Probleme mit dem Informationsspeicher, insofern keine PST hinterlegt ist.
  • Versuchte Schritte zur Fehlerbeseitigung die Ihr durchgeführt habt?

Citavi-Zitationsstil für Hochschule Ludwigshafen

Als Gefallen für meine Freundin habe ich einen Zitationsstil (CCS-Datei) für das Literaturverwaltungsprogramm Citavi erstellt. Dieser erleichtert das Generieren von Literaturverzeichnissen. Die Datei kann einfach in Citavi eingebunden, ist an die Zitierrichtlinien der Hochschule Ludwigshafen angelehnt und bildet diese zu weiten Teilen ab. Er ist eine Variante meines Zitationsstils für das BWI der Uni Stuttgart.

Damit auch Ihr davon profitieren könnt, schicke ich Euch gerne die entsprechende Citavi-CCS-Datei gerne per E-Mail zu. Das ZIP-Archiv muss entpackt werden und anschließend die darin enthaltene Datei in den Citavi-Ordner für die Stile (z.B. den Unterordner “Custom Citation Styles”) kopiert werden. 

Nutzungsbedingungen

  • Die Nutzung dieser Datei erfolgt ohne Gewähr (bspw. auf Einhaltung der Zitierrichtlinien) und auf Eure eigene Verantwortung.
  • Ihr lasst Verbesserungen am Stil zurückfließen und stellt diese wieder über diese Seite anderen zur Verfügung.
  • Die Weitergabe durch Euch an Dritte ist nicht erlaubt. Egal ob modifiziert oder unverändert. Gerne teile ich die Datei mit anderen Interessenten, wenn Sie mich kontaktieren und den Bedingungen zustimmen.
  • Als kleine Gegenleistung solltet Ihr einen kleinen Beitrag in Social Media, etc. erstellen und auf mein Blog bzw. diesen Artikel hier verlinken sowie diesen langfristig stehen lassen. Das hilft, den Blog aber auch dem Citavi-Zitationsstil ein weniger mehr Aufmerksamkeit sowie Feedback zu schenken.
  • Feedback und Verbesserungsvorschläge nehme ich gerne an. 

Offene Punkte/Probleme mit dem Zitationsstil (Stand: 13.05.2020):

  • Die Formatierung von Einträgen des Typs “graue Literatur” in von Citavi generierten Literaturverzeichnissen ist nicht perfekt. Ich habe mir selber mit dem Workaround beholfen, die veröffentlichende Institution in den Titel des Beitrags zu schreiben und die anderen Felder zur Institution leer zu lassen. Das ist zwar im Sinne von Citavi bzw. einer sauberen Datenbasis nicht sauber, hat aber seinen Zweck hinsichtlich der Erfüllung der Zitierrichtlinien erfüllt. Da ich graue Literatur nur im geringen Maße verwendet habe, lässt sich dies vom Aufwand noch halbwegs sinnvoll realisieren.
  • Die Einträge bzw. Inhaltselemente Institution (Quellentyp: Internetquelle) und Hochschule (Quellentyp: Hochschulschrift) sind doppelt belegt.

Anregungen oder Verbesserungen sind sehr gerne willkommen. Sollte jemand Verbesserungen an der Datei vornehmen, freue ich mich, wenn er mir die aktualisierte Datei zukommen lässt, damit ich diese wieder bereitstellen kann. Bitte auch keine Weitergabe des (modifizierten) Stils ohne meine Zustimmung.

Wie kommt Ihr an den Zitationsstil?

Schickt mir bitte eine kurze E-Mail an lars AT mautsch PUNKT com. In dieser akzeptiert Ihr bitte explizit die oben stehenden Bedingungen akzeptiert und senden den Link zum von Euch publizierten Beitrag. Dieser Beitrag sollte sinnvollen Content auf Social Media  (öffentliches Blog, Twitter, Facebook – keine privaten Gruppen, Chats, Instagram etc.) enthalten. Bitte lasst den Beitrag langfristig stehen, damit die Wirkung/Werbung für das Blog funktioniert. Ich bitte Euch um Verständnis, dass ich auf Anfragen ohne direkt verlinkten, qualitativ sinnvollen Beitrag oder nur plump kopierten Link auf die Seite oder ohne die Zustimmung zu den oben genannten Bedingungen nicht mehr reagieren werde. Auch nicht zu Diskussionen oder Fragen dazu (Beispiel: „Welchen Text soll ich schreiben?“). Erfahrungsgemäß seid Ihr gute und kreative Studenten und schafft das. Ihr müsst daher nicht zum zehnten Mal einen identischen Beitrag in einer Fachschaftsgruppe auf Facebook publizieren oder von mir auf auf das Lesen dieses Textes aufmerksam gemacht werden… Zudem habt Ihr zwar etwas initialen Aufwand aber spart damit letztendlich eine Menge Zeit/Arbeit bzw. Nerven bei der Literaturverwaltung. Also: Bitte etwas Mühe geben! Und habt  etwas Geduld, denn ich arbeite „nebenher“ noch an anderen Themen. 

Danke für die Berücksichtigung der oben genannten Punkte.

Viel Spaß bei der Nutzung und viel Erfolg bei Eurer wissenschaftlichen Arbeit!

Windows Server 2019 RDS-Fehler: Der Remotedesktop-Lizenzierungsmodus ist nicht konfiguriert

Nach der Neuinstallation und erfolgreich durchlaufenen Aktivierung eines Remotedesktop- bzw. Terminalservers unter Windows Server 2019 bin ich auf das folgende Problem gestoßen: Es erscheint die Meldung: „Der Remotedesktop-Lizensierungsmodus ist nicht konfiguriert“. Zudem wir eine Grace-Period für die nachzuholende Aktivierung angezeigt, nach deren Ablauf die Remotedesktopservices den Betrieb einstellen bzw. keine Verbindung mehr annehmen.

Die Remotedesktoplizensierungs-Diagnose meldet ebenfalls zwei Fehler:
1. Der Lizenzierungsmodus für den Remotedesktop-Sitzungshostserver ist nicht konfiguriert.
2. Der Remotedesktop-Sitzungshostserver befindet sich innerhalb des Aktivierungszeitraums, aber der Remotedesktop-Sitzungshostserver ist nicht mit Lizenzservern konfiguriert“

Die Ursache für das Problem ist, dass der Server den Lizenzserver nicht findet, da dieser aus Sicht des Windows Servers nicht richtig konfiguriert ist. Um diese Konfiguration vorzunehmen gibt es zwei Möglichkeiten:

1. Konfiguration des Lizenzservers mittels einer Gruppenrichtlinie (GPO) . Gute Anleitungen dazu gibt es bspw. hier und hier. Diese Vorgehensweise ist insb. dann von Vorteil, wenn man mehrere Terminalserver konfigurieren will. Sie skaliert dann deutlich besser. Ich wollte allerdings für einen einzelnen, relativ isolierten Terminalserver nicht diesen Weg gehen. und habe die zweite Option gewählt, die

2. Manuelle Konfiguration mittels zweier relativ einfacher Schritte: a) Definieren des Lizenzservers mittels Powershell und b) setzen des Lizenzmodus mittels Registry. Die Schritte im Einzelnen:

a) Definieren des Lizensservers mittels Powershell

  1. Start -> powershell -> Rechs //Powershell als Administrator starten
  2. $obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
  3. $obj.GetSpecifiedLicenseServerList() //Auslesen der LIzenzserverliste
  4. $obj.SetSpecifiedLicenseServerList("FQDN des Terminalservers") //Bitte "FQDN des eigenen Lizenzservers für die Terminal Services eingetragen. Bspw. meinlizenzserver.meinedomaene.local
  5. $obj.GetSpecifiedLicenseServerList() //Auslesen der Lizenzserverliste und überprüfen, ob der FQDN richtig gesetzt ist.
  6. Die Powershell kann nun geschlossen werden.
Powershell. Die SpecifiedLSLIst darf anschließend nicht leer sein sondern sollte den FQDN des Lizenzservers enthalten.

b) Setzen des Lizenzierungsmodus in der Registry

  • Start -> Ausführen -> RegEdit //RegistryEditor Starten
  • Zum Pfad HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\Licensing Core navigieren.
  • Dort findet sich der DWORD Key: LicensingMode //falls der Schlüssel nicht existiert, dann diesen erstellen (DWORD).
  • Den Parameter der von 5 ändern. Entweder in
    • 2 - wenn die Lizenzierung per Device CAL erfolgen soll
    • 4 - wenn die Lizenzierung per User CAL erfolgen soll
LicenseMode REG_DWORD in der Registry

Nun muss noch der Terminalserver bzw. die Remotedesktopdienste neu gestartet werden und die Lizenzierungsprobleme sollten behoben sein. Denkt bitte daran, dass Ihr Euch ggf. vom Server ausschließen könnt, wenn Ihr per RDP verbunden seid und dann die Remotedesktopdienste neu startet. Denkt also an einen alternativen Weg, um auf den Server zuzugriefen (physischer Zugang, TeamViewer, etc.).

Viel Spaß bzw. Erfolg mit der Anleitung, die wie immer ohne Gewähr ist. Euer Feedback ist sehr willkommen und hilft bei der Verbesserung!

Automate the Boring Stuff with Python: Zweite Auflage

Am 29. Oktober 2019 ist die zweite Auflage des englischen Buches Automate the Boring Stuff with Python erschienen. Autor Al Sweigart macht es online kostenlos unter der Creative Commons License verfügbar. Auf no starch press bzw. Amazon gibt es die Druckversion. Wenn das Buch auch manchen Entwickler-Veteranen nicht vollständig überzeugen wird, bietet es dem Programmier- bzw. Python-Neuling eine gute Einführung in die Programmierung und Automatisierung von Routine-Aufgaben.

Cover, Quelle: https://automatetheboringstuff.com/

Das Buch beginnt mit einer Einführung in die grundlegenden Konzepte der Programmierung anhand von Python. Meines Erachtens ist dieser Teil anhand zahlreicher Beispiele auch für Anfänger einfach nachvollziehbar. Erfahrene mögen hier eher schneller drüber hinweg gehen bzw. fliegen.

Interessanter finde ich den zweiten Teil. In diesem wird anhand zahlreicher Beispiele das Automatisieren von Routineaufgaben dargestellt. Beispiele: Das Sortieren von Dateien, Sammeln von Informationen von verschiedene Webseiten, Bearbeiten von PDFs, Modifizieren von Word-Dateien, Excel-Tabellen bzw. Google Sheets. Das Versenden von Nachrichten via E-Mails in GMail oder SMS-Gateways werden auch thematisiert. Die Nachvollziehbarkeit des Codes für Neulinge steht dabei gegenüber der „Eleganz“ des Codes. Er bricht daher bewusst mit manchem Stilmittel. Hier mögen Veteranen die Nase rümpfen. Auch ist dies nicht für jeden Anwendungsfall ein valides Vorgehen. Ich finde es jedoch hinsichtlich des Zweckes des Buches gut gewählt.

Zusammengefasst: Ein interessantes Buch für Einsteiger in Python bzw. Programmierneulinge. Python ist zudem wieder bzw. weiterhin im Kommen. Es wird bspw. für Machine Learning oder Data Science häufig eingesetzt. Auch das T3N Magazin setzt das Erlenen der Skriptsprache Python auf die „Bucketlist für 2020„. Daher mein Tipp: Schaut Euch das Buch an & viel Spaß beim Python-Lernen!

PS: Für die „Lesefaulen“ gibt es auch einen Udemy-Kurs. Dieser ist jedoch nicht kostenfrei. Er wird aber mit 80% Discount unter Eingabe des Discount Codes „NOV2019“ subventioniert!

Fixing unmerged python-exec: Gentoo Linux und Portage nach emerge -C python-exec reparieren

Das Problem:

Beim Versuch konfliktäre Abhängigkeiten zwischen Paketen im Portage Paketmanager aufzulösen, habe ich python-exec mittels emerge -C von meinem Gentoo-Linux-System entfernt. Hinterher ist man oftmals schlauer… ;-). Anschließend waren dummerweise auf dem System weder portage noch Python verfügbar. Noch schlimmer: Tools wie emerge, revdep-rebuild waren ebenfalls weg. Somit konnte ich weder python-exec noch portage mittels der Gentoo Standardtools einfach wieder mergen und das System fixen. Das dachte ich zumindest… 😉

Die Lösung:

Meine initiale Suche führte mich auf die „offizielle“ Seite des Gentoo Projekts [3]. Diese beschreibt, wie man generell ein nicht funktionierendes Portage manuell reparieren kann. Zwar finden sich auf dieser Seite viele generische Hinweise, ich rate allerdings in diesem Fall davon ab, die dort genannten Schritte durchzuführen. Denn diese beziehen sich nicht auf das spezielle oben genannte Problem (Auslöser: emerge -C python-exec). D.h. sie „verschlimmbessern“ unter Umständen sogar die Situation. Ich habe dies dummerweies getan, kontraproduktive Schritte ausgeführt und musste zahlreiche Schleifen/Umwege drehen, um Portage wieder lauffähig zu bekommen.

Danach bin ich bin ich in den Gentoo Foren (Quellen [1], [2]) auf die nachfolgende Lösung gestoßen. Die Lösung in Kürze: Trotz eines emerge -C verbleiben die entsprechenden Binaries für emerge etc. auf dem System. Diese befinden sich bspw. unter /usr/lib/python-exec/python2.7/emerge . Sucht einfach mal dort! Hinweis: Ggf. müsst Ihr je nach Python Version den Pfad anpassen.

Anschließend kann man mittels der noch vorhanden Werkzeuge einfach python-exec wiederherstellen. Portage Dienste und Python sollten damit wieder funktionieren:

/usr/lib/python-exec/python2.7/emerge -1 dev-lang/python-exec
Hoffentlich konnte ich Euch damit etwas Zeit sparen. Solltet Ihr in die gleiche Falle wie ich gelaufen haben und hängen geblieben sein: Meldet Euch einfach, ggf. kann ich weiterhelfen! Wie immer gilt: Alle Hinweise/Ratschläge in diesem Blog erfolgen ohne Gewähr. Feedback ist willkommen!

Quellen:
[1]: https://forums.gentoo.org/viewtopic-p-7719268.html?sid=6874eea7b7dd5c57627428e9f8a1dfb3
[2]: https://forums.gentoo.org/viewtopic-p-7648990.html#7648990
[3]: https://wiki.gentoo.org/wiki/Project:Portage/Fixing_broken_portage

Platform Business Model Blog

Interessante Beiträge zu Plattformen im Allgemeinen sowie zu den Spezifika der Plattformökonomie finden sich im Platform Business Model Blog (Link). Allerdings sollte man berücksichtigen, dass es sich hierbei um ein kommerzielles, nicht-akademisches Angebot handelt.

Lesenswerte Beiträge:
101 (Einführung) Platform Business vs. linear Business
Platform Companies outperform the market
Die besten 10 Platform-bezogenen Artikel

Windows CBS Log Datei wächst „unaufhaltsam“: CBS.log Dateien löschen und freien Speicherplatz schaffen

Das Problem

Unter verschiedenen Windows-Versionen, wie bspw. Windows 8, Windows 10 oder Windows 11 wächst die Datei „CBS.log“ im Log-Ordner von Windows ungebremst (also in: %WINDIR%\log\CBS – z.B. C:\WINDOWS\log\CBS ). Mich hat das Problem unvorbereitet überrascht und mein System-Laufwerk C: und die CBS.log sind aufgrund eines fehlgeschlagenen Windows-Updates voll gelaufen und hatten keinen freien Speicherplatz mehr. Mehr zum spezifischen Problem und der Ursachenbehebung mit Windows Update und CBS.logs findet ihr weiter unten im Text sowie unter diesen beiden Quellen: hier und hier.

Man muss jedoch, um weiterzukommen erst einmal die Datei CBS.log löschen. Denn man braucht erst einmal wieder Speicherplatz auf dem Systemlaufwerk.

chip.ch hat auf seiner zwei Tipps veröffentlicht, um die CBS.log zu löschen. Die untenstehende Anleitung baut hauptsächlich auf dieser Quelle auf.

Variante 1: Löschen der CBS-Dateien über die Windows Systemsteuerung (Datenträgerbereinigung)

Hinweis: Bei den verschiedenen Windows Versionen sind die Schritt ggf. minimal unterschiedlich. Beispielswiese gibt es bei Windows 10 weniger Schritte. Das grundlegende Vorgehen ist jedoch ähnlich. Lasst Euch davon nicht abschrecken!

  • Datenträgerbereinigung starten: Drückt die Windows-Taste und gebt in die Suchleiste von Windows den Begriff „Datenträger“ ein. Klickt anschließend auf die „Datenträgerbereinigung„. Auf Englisch: „Disk Cleanup Tool“
  • Wählt im nächsten Schritt Eure Windows-Systemfestplatte aus aus und bestätigt mit „OK“. In der Regel wird die Systemfestplatte das Laufwerk C: sein.
  • Anschließend wird die Festplatte wird nach zu löschenden Dateien und Ordnern durchsucht. Wartet nun ein paar Minuten, bis der Vorgang abgeschlossen ist. Der Vorgang kann je nach Systemstatus einige Zeit in Anspruch nehmen. Bitte nicht ungeduldig werden und diesen Vorgang abbrechen. Denn ansonsten müsst Ihr den Vorgang erneut starten und verbraucht noch mehr Zeit.
  • Klickt dann auf „Systemdateien bereinigen“ / Englisch: „Clean up system files“. Siehe Screenshot. Im Dialog wählt Ihr abermals die Windows-Festplatte aus. Wartet auch hier. bis diese Überprüfung abgeschlossen ist.
  • Markiert nun alle Dateien, die Ihr löschen möchtet. Insbesondere die Dateien „vom Windows System generierte Windows-Fehlerbericht“ bzw. Englisch: „System created Windows Error Reporting“ sowie die Temporären Dateien / Temporary Files sollten ausgewählt werden. Denn hierunter verstecken sich u.a. die CBS-Logdateien. Bestätigt die Auswahl mit OK.
  • Nach dem erfolgreichen Löschvorgang wird das Programm automatisch geschlossen und die CBS-Logdateien sollten verschwunden sein.

Variante 2: Manuelles Löschen der CBS-Dateien im Ordner

  • Öffnet den Windows-Explorer. Der Shortcut dafür: Windows Taste + E drücken. Wählt nun die Systemfestplatte aus. Dies wird bei den meisten Windows-Installationen das Laufwerk C: sein.
  • Navigiert nun im Systemlaufwerk zum Ordner „Windows“ und in die Unterordner „Log“ und darin den Unterordner „CBS“
  • Markiert alle Dateien und Unterordner (Shortcut: STRG + A) und drückt die Taste [Entf] bzw. [Del] auf der Tastatur, um diese zu löschen.
  • Wichtiger Hinweis: Sollte die Fehlermeldung auftauchen, dass das Löschen bestimmter Dateien nicht möglich ist, da tinstaller bzw. der TrustedInstaller von Windows Update noch Zugriff auf diese hat, so müssen zugehörige Prozesse via taskmanager beendet werden. Bzw. muss der Dienst TrustedInstaller beendet werden. Das Beenden des Dienstes gelingt via: Start -> Ausführen -> services.msc und Auswählen des entsprechenden Dienstes +Rechtsklick und „Neu starten“. Manchmal ist ein Neustart des Rechners notwendig, um Windows wirklich zum Löschen der Datei zu überreden. Denn dann wurde der Trusted Installer bzw. Windows Update Dienst sauber neu gestartet. Siehe hierzu auch dieser Foreneintrag
  • Die Dateien und Ordner werden vom System automatisch wieder erstellt.
  • Beobachtet daher regelmäßig diesen Ordner, um Dateien und Ordner zu löschen und Speicherplatz freigeben zu können.

Hintergründe zum Amoklauf von Windows und den durch die CBS.log voll „gemüllten“ Datenträger (Quelle giga.de)

Auslöser für dieses Fehlverhalten ist ein altbekannter Windows-Bug:

  • Das Windows Betriebssystem speichert die sogenannten Component Based Servicing (CBS)-Logdateien im Ordner C:\Windows\Logs\CBS.
  • Wenn die derzeitige Datei CBS.log eine bestimmte Größe erreicht, benennt Windows in der Regel die Datei um. Dies erfolgt gemäß dem Schema CbsPersist_YYYYMMDDHHMMSS.log. Hierbei stehen Y für Jahre, M für Monate usw.
  • Gelingt dies, versucht Windows die umbenannte Datei zu komprimieren, um Speicherplatz zu sparen. Ähnlich einem Logrotate unter Linux-artigen Betriebssystemen.
  • Allerdings schlägt dieser Vorgang manchmal aus unterschiedlichen Gründen fehl. Beispielsweise tritt ein Fehler auf, wenn die Datei bereits eine Größe von zwei GB erreicht hat. Oder es existieren Probleme mit dem Betriebssystem oder insbesondere dem Dateisystem. Auch besteht die Möglichkeit, dass ein Windows-Update dauerhaft fehlt schlägt.
  • Während des Komprimierungsversuchs werden allerdings mehrere 100 MB im Ordner C:\Windows\Windows\Temp belegt. Und leider nicht gelöscht… somit ist dieser Speicherplatz voll gemüllt.
  • Der Vorgang kann sich alle 20 Minuten wiederholen, wodurch irgendwann die Festplatte voll läuft, da die Dateien nicht gelöscht werden, und kein Speicherplatz mehr verfügbar ist.

Ursachenbeseitigung

Wie zuvor bereits angedeutet, ist die Ursache für das Verhalten oftmals ein Problem im Betriebssystem bzw. des Filesystems. Diese können unterschiedlichste Ursachen haben. Allerdings empfiehlt es sich in diesem Fall oftmals, zunächst eine Überprüfung des Systems mit dem Systemdatei-Überprüfungsprogramm (SFC) vorzunehmen. SFC überprüft alle geschützten Systemdateien und ersetzt die beschädigten Dateien durch eine zwischengespeicherte Kopie. Waren diese korrupten Dateien die Ursache für das Problem der großen CBS-Dateien, so ist dieses anschließend verschwunden. Ich habe erlebt, dass in einem großen Anteil der Fälle, damit das Problem langfristig behoben ist. So weit so gut… Wie müsst Ihr dazu vorgehen?

  • Startet zunächst am besten das Windowssystem neu. Herunterfahren und Euer System anschalten. und hochfahren. Also nicht nur „Neu Starten“ wählen, richtig herunterfahren.
  • Nach dem Neustart SFC starten. Dazu die Eingabeaufforderung mit Administratorenrechten starten. Auf Start klicken bzw. Windows-Taste drücken und „cmd“ eingeben, Rechtsklick auf „Eingabeaufforderung“ und dann Linksklick auf „Als Administrator ausführen“. Anschließend bestätigen.
  • In der sich nun öffnenden Eingabeaufforderung den folgenden Befehl eingeben: sfc /scannow . Siehe Screenshot unten.
  • Der Vorgang kann nun einige Zeit andauern.
Screenshot sfc Scannow
Ausführen des Befehls sfc /scannow in der Eingabeaufforderung mit Administratorrechten
  • Nachdem das System gescannt und ggf. repariert wurde, erscheint eine Meldung in der nachfolgenden Form: „Überprüfung abgeschlossen. Der Windows-Ressourcenschutz hat hat beschädigte Dateien gefunden und erfolgreich repariert. […].“ Die Änderungen stehen dann interessanterweise wieder in der CBS.log, deren Wachstum der Grund für den Artiekl ist… 🙂
  • Die Eingabeaufforderung schließen. Dazu einfach den Befehl „exit“ eingeben.
  • Zuletzt das System neu starten. Damit sollte das Problem inkl. der Ursachen hoffentlich der Vergangenheit angehören.

Wie immer gilt: Alle Angaben ohne Gewähr und Einsatz auf eigenes Risiko. Viel Spaß & viel Erfolg! Ich freue mich über mögliches Feedback in den Kommentaren oder via E-Mail o.ä.

Windows Server 2016 – Windows Update Fehlercode 0x800705b4

Ich hatte in den letzten Monaten häufiger Probleme, die monatlichen Qualitätsrollups  unter Windows Server 2016 mit Hilfe der Windows Updates GUI in der Systemsteuerung zu installieren. So bereiteten bspw. die kumulativen Updates KB4284833 und KB4284880 wieder Probleme. Es scheitert nach langer Installationsdauer mit dem Windows Update Fehlercode 0x800705b4. Daher habe ich mich auf die Suche gemacht und in den Microsoft-Foren eine Möglichkeit gefunden, manuell die erfolgreiche Installation der entsprechenden Updates anzustoßen. Diese führt über das so genannte Server Konfigurationstool (Sconfig). Das Tool ist eigentlich für die Verwaltung und Konfiguration der abgespekten Windows Server Core-Installationen (ohne Windows GUI) gedacht ist. Es funktioniert auch bei den normalen Windows Server-Versionen hervorragend. Da es gängige Fehler in der Windows Update-Mechanik (Dienste, etc.) durch Neustarten und Löschen von Caches beseitigt, hilft es Windows Update-Probleme zu beseitigen.

Schritt-für-Schritt Anleitung, um mittel Sconfig Windows Updates ohne den Fehler 0x800705b4 durchzuführen:

  1. Vorbereitender Schritt: Windows Defender (Echtzeitschutz) für die nachfolgenden Schritte de-aktivieren. Ich habe gemerkt, dass dies die nachfolgenden Schritte spürbar beschleunigt.
  2. Start -> Ausführen
    • // Kommandozeile öffnen – Administratorrechte sollten für den aktuellen Benutzer vorhanden sein)
  3. Sconfig
  4. Im nun folgenden Dialog muss die Option 6 – „Updates herunterladen und installieren“ ausgewählt werden:
  5. SConfig Tool, Auswahlmenü

    Auswahlmenü des Serverkonfigurationstools

  6. Anschließend wird abgefragt, ob alle verfügbaren Updates oder nur empfohlene Updates gesucht werden sollen. An dieser Stelle kann entweder A für „Alle“ oder „E“ für Empfohlene Updates ausgewählt werden.
    • // Ich habe mich im Folgenden immer für die Option „Alle“ entschieden. Wird die andere Option (nur empfohlene Updates) gewählt, sehen die Screenshots minimal anders aus.
  7. Selektion der gewünschten Updates: Alle, oder nur die empfohlenen Updates

    Suche nach Updates. Optionen: Alle Updates suchen oder nur noch empfohlenen Updates suchen.

  8. Nun werden die verfügbaren Updates angezeigt. Bitte jetzt die gewünschten Updates auswählen: entweder „alle“ zu installierenden Updates, „keine“ oder „einzelne“ Updates.
    • // Ich habe mich wieder für die Option „alle“ entschieden. Siehe oben.
  9. Nun starten nacheinander das Herunterladen und anschließend die Installation der Updates.
    • // Dies kann je nach Auswahl einige Zeit in Anspruch nehmen. Bitte plant ausreichend Zeit ein.
  10. Herunterladen und anschließende Installation der Updates - bitte Zeit einplanen!

    Herunterladen und anschließende Installation der Updates – bitte Zeit einplanen!

  11. Die Installation sollte ohne den Fehlercode 0x800705b4 abgeschlossen werden.
  12. Windows Defender wieder aktivieren.

Wie immer gilt: Alle Angaben ohne Gewähr und Einsatz auf eigenes Risiko. Viel Erfolg beim Update Eures Windows 2016 Servers – hoffentlich ohne 0x800705b4 ;-). Feedback ist willkommen!

Update 05. Juli 2018: Auf Giga.de gibt es weitere Hilfestellungen, falls die o.g. Vorgehensweise das Problem nicht beseitigt.

Independent.co.uk: What the world’s nations are best at, revealed in one map

Kurzmitteilung

Funny: From Argentina’s horse meat to Papua New Guinea’s diversity; from Nigeria’s scrabble players to Paraguay’s positivity. This map pinpoints every nation to be the best at something: http://www.independent.co.uk/news/world/map-reveals-what-worlds-nations-best-at-a7462711.html . According to this Germany is best in creating… passports and therefore very nice? 🙂