ZPL Etikettendruck „Developer Station“

Diese Woche bei einem (großartigen) Kunden gesehen: Eine „redneck ZPL Dev Station“.

ZPL ist die native Sprache der „Zebra“ Etikettendrucker. Die Geräte sind gut, ZPL ist zum Ansteuern auch ganz okay. Das Ding kann (zum Beispiel) Barcodes oder QR-Codes direkt drucken, wenn man das Feld mit dem Wert nur korrekt auszeichnet. Man muss nichts mehr rastern, einfach ZPL als Plaintext an den LPD übergeben, fertig.

Leider gibt es keinen ZPL Viewer oder eine Vorschau von dem, was man da programmiert.

Lösung: Man stelle den Etikettendrucker in den Serverraum (weil der fiese Geräusche machen kann) und drucke einfach. Damit die Entwickler das Ergebnis betrachten können, stelle man einfach eine Webcam davor. Bonus: der Ergebnisstream ist Multiuserfähig. Unter den Etikettenstrom stelle man einen Papierkorb, fertig.

Alle Admins bei ugg.li sind stolz auf euch ♥️

Typo3 (Symfony) E-Mail Versand mit Exchange Online via Microsoft 365 Entra Application (OAuth2)

Wegen zahlreicher Nachfragen, hier ein Beitrag zur Einrichtung einer Microsoft 365 Entra Application für den E-Mail Versand via Symfony (XOAUTH2Authenticator-Klasse), also XOAuth2Authenticator. Also eigentlich ein „wie versendet man E-Mails auf Typo3 via Microsoft 365 [Exchange Online]“ wenn OAuth2 im Einsatz ist.

Viele Web-Agenturen haben leider offenbar immer noch nicht mitbekommen, dass eine SMTP-Authentication mit Username/Kennwort keine gute Idee ist und daher von praktisch allen großen Providern abgekündigt wurde. Dazu gehören T-Online, Google, Microsoft, web.de, GMX, Cleanmail und viele weitere. Zugegeben, OAuth2 ist nicht so einfach wie „Name und Kennwort“, aber Lichtjahre sicherer.

Typo3 nutzt Symphony für den Mailversand. Selbiges hat eine XAuth-Klasse, die auch OAuth2 unterstützt. Diese Anleitung soll die Einrichtung einer solchen „Registrierten Anwendung“ („App“) erleichtern.

Typo3 und Microsoft 365

  1. Öffnen von Microsoft Entra (https://entra.microsoft.com/), dann den Punkt „App-Registrierungen“ auswählen:

    2. Öffnen von „+ Neue Registrierung“. Hier nur den (Anzeige-)Namen eingeben und „Nur Konten in diesem Organisationsverzeichnis“ auswählen. Dann mit „Registrieren“ die App einrichten:

    3. Dann zur App ein „Secret“ (Geheimnis) hinzufügen. Das ist das Authentifizierungs-Token für den Symphony-Mailer. Dort einen „Neuen geheimen Clientschlüssel“ erstellen, idealerweise mit maximaler Laufzeit. Mit „Hinzufügen“ bestätigen.

    4. Das neu erstellte Secret am besten schnell an einen sicheren Ort kopieren. Wenn diese Seite geschlossen ist, gibt es keine Möglichkeit mehr, das Secret erneut anzuzeigen.

    5. API-Berechtigungen für den Mailversand hinzufügen. Benötigt werden die Berechtigungen:

    Mail.Send
    User.Read
    User.ReadBasicAll

    Das geht unter „API Permissions“ (API Berechtigungen) und „Hinzufügen“.

    Die Berechtigungen sind in „Microsoft Graph“ enthalten.

    Für diese BErechtigungen muss der „Administrator Consent“, also die „Administratoreinwilligung“ gesetzt sein.

    In Symphony wird diese Konfiguration nun übernommen, also einfach in die Config eingetragen oder ins GUI kopiert. Dieser Screenshot ist O. Krömer geklaut. Die Variablen sind perfekt benannt.

    VSSADMIN lässt löschen nicht zu „Fehler: Die gefundenen Snapshots befinden sich außerhalb des für Sie zulässigen Kontexts“

    Problem

    Manchmal lässt vssadmin es nicht zu, dass der Admin verbliebene Volumenschattenkopien (VSS) entfernt.

    Die Fehlermeldung sieht dann so aus:

    C:\> vssadmin delete shadows /for=c: /all
    vssadmin 1.1 - Verwaltungsbefehlszeilenprogramm des Volumeschattenkopie-Dienstes
    (C) Copyright 2001-2013 Microsoft Corp.
    
    Fehler: Die gefundenen Snapshots befinden sich außerhalb des für Sie zulässigen Kontexts. Entfernen Sie sie mithilfe der
    Sicherungsanwendung, von der sie erstellt wurden.
    
    

    Lösung

    Das Kommandozeilentool vssadmin ist seit Windows Server 2019 fehlerhaft – gefühlt wird es auch immer schlimmer.

    Die Alternative diskshadow mit der Kommando delete shadows all funktioniert hingegen (bisher) fehlerfrei.

    C:\>diskshadow
    Microsoft DiskShadow Version 1.0
    Copyright (C) 2013 Microsoft Corporation
    Auf Computer: DC,  10.07.2025 11:32:35
    
    
    DISKSHADOW> delete shadows all