Skip to content

Daniels Tagesmeldungen

Kleine IT-Episoden, der Diabetes & das wahre Leben

  • Startseite
  • About me…
    • Lebenslauf
    • Weiterbildung
  • Diabetes melitus
    • Diabetes melitus – Definition/Typen
    • Diabetes melitus – Podcasts
    • Diabetes Typ-2 – Erläuterung
    • Medikament – Forxiga (Dapagliflozin)
    • Medikament – Eylea (Aflibercept)
    • Medikament – Lucentis (Ranibizumab )
    • Medikament – Metformin
  • Disclaimer
  • Toggle search form

Kategorie: Windows 10

Powershell-Modul: ImportExcel

Posted on 24. April 202521. April 2025 By Daniel Lensing Keine Kommentare zu Powershell-Modul: ImportExcel

Wenn es um Datenverarbeitung und Berichterstellung geht, ist Excel oft ein unverzichtbares Werkzeug. Dennoch kann die Arbeit mit Excel-Dateien durch manuelle Prozesse zeitaufwändig und fehleranfällig sein. Hier kommt das PowerShell-Modul „ImportExcel“ ins Spiel – eine kraftvolle Lösung, um Excel-Dateien zu erstellen, zu bearbeiten und zu analysieren, ohne dass Microsoft Excel installiert sein muss.

Einführung in das Modul „ImportExcel“

Das Modul „ImportExcel“, entwickelt von Doug Finke, ist eine Erweiterung für PowerShell, die es Benutzern ermöglicht, mit Excel-Dateien auf programmatische Weise zu arbeiten. Es bietet eine Vielzahl von Cmdlets, um Excel-Dateien zu importieren, zu exportieren und sogar zu visualisieren. Der große Vorteil des Moduls besteht darin, dass es für die meisten Aufgaben keine Vorinstallation von Microsoft Excel erfordert. Dadurch wird die Automatisierung von Prozessen auch in Umgebungen möglich, in denen Excel nicht verfügbar ist.

Die wichtigsten Funktionen des Moduls

Das „ImportExcel“-Modul bietet eine große Anzahl von Funktionen. Hier sind einige der wichtigsten Cmdlets:

  1. Export-Excel
    Mit diesem Cmdlet kannst du Daten aus PowerShell-Objekten direkt in eine Excel-Datei exportieren. Du kannst Tabellen formatieren, Farben hinzufügen und Pivot-Tabellen erstellen. Beispiel:
   Get-Process | Export-Excel -Path "Prozesse.xlsx" -AutoSize
  1. Import-Excel
    Dieses Cmdlet ermöglicht das Importieren von Daten aus Excel-Dateien in PowerShell-Objekte. Es ist ideal für die Analyse und Weiterverarbeitung von Daten. Beispiel:
   $daten = Import-Excel -Path "Daten.xlsx"
  1. Open-ExcelPackage
    Damit kannst du eine Excel-Datei öffnen und gezielt bearbeiten, z. B. bestimmte Arbeitsblätter oder Zellen ändern.
  2. New-ExcelChart
    Mit diesem Cmdlet kannst du Diagramme direkt in Excel-Dateien erstellen. Es unterstützt verschiedene Diagrammtypen wie Balken-, Linien- oder Tortendiagramme.

Anwendungsfälle für das Modul „ImportExcel“

Das Modul eignet sich für eine Vielzahl von Szenarien, darunter:

  • Berichterstellung: Automatisiertes Erstellen von Berichten in Excel, z. B. für Leistungsanalysen oder Projektstatusberichte.
  • Datenanalyse: Importieren und Verarbeiten großer Datenmengen für weitere Analysen.
  • Visualisierung: Erstellen von Diagrammen und Grafiken für Präsentationen oder Zusammenfassungen.
  • Datenmigration: Exportieren von Daten aus einer Quelle und Importieren in ein Excel-Format.

Vorteile des „ImportExcel“-Moduls

  • Zeitersparnis: Automatisierung von Aufgaben, die normalerweise manuelle Arbeit erfordern.
  • Flexibilität: Kompatibilität mit verschiedenen PowerShell-Versionen und Betriebssystemen.
  • Keine Abhängigkeit von Excel: Ideal für Serverumgebungen, in denen Excel nicht installiert ist.

Fazit

Das PowerShell-Modul „ImportExcel“ ist ein vielseitiges Werkzeug, das die Arbeit mit Excel-Dateien erheblich erleichtert und automatisiert. Egal, ob du Berichte erstellen, Daten analysieren oder Visualisierungen durchführen möchtest, das Modul bietet eine einfache und effiziente Lösung. Durch seine umfangreichen Funktionen und einfache Bedienung ist es eine Bereicherung in der Autmatisierung.

Powershell, Windows 10, Windows 11, Windows Server 2016, Windows Server 2019, Windows Server 2022

Anwendungsspezifisches Eventlog für Powershell-Skript

Posted on 18. Februar 202517. Februar 2025 By Daniel Lensing Keine Kommentare zu Anwendungsspezifisches Eventlog für Powershell-Skript

Im Rahmen eines Skriptes kann es sinnvoll sein, wenn man ein dediziertes Eventlog erstellt. Dieses kann dann zum Beispiel in einer Monitoring-Lösung weiterverarbeitet werden.

Dazu muss ein neues „Eventlog“ sowie eine neue „Source“ erstellt werden über den Powershell-Befehl „New-Eventlog„:

New-EventLog -LogName "ApplicationName" -Source "AutoScriptPS1" -EA SilentlyContinue

Diese Befehlszeile muss mit administrativen Rechten ausgeführt werden.

Anschließend ist es möglich das neu erstellte Eventlog per Write-Eventlog mit Werten zu befüllen:

Write-EventLog 
      -LogName "ApplicationName"'
      -Source "AutoScriptPS1"'
      -EntryType "Error"'
      -Message "An issue has stopped the script."'
      -EventId 99

Als „EntryType“ können neben „Error“ auch „Information“ oder „Warning“ genutzt werden. Die EventID kann bis zu einem Wert 65535 definiert werden.

Client, Powershell, Programmierung, Server, Windows 10, Windows 11, Windows Server 2016, Windows Server 2019, Windows Server 2022, Windows Server 2025

Gruppenrichtlinien-Bereinigungen, die Zweite

Posted on 29. Januar 202529. Januar 2025 By Daniel Lensing Keine Kommentare zu Gruppenrichtlinien-Bereinigungen, die Zweite

Aufgrund des ersten Artikels zum Thema Gruppenrichtlinien-Bereinigung bekam ich Nachfragen, so dass ich die Antworten gerne ebenfalls in einen neuen Artikel einarbeiten möchte.

Nicht genutzt WMI-Filter

Gruppenrichtlinien können mit WMI-Filtern eingeschänkt werden. Dadurch können diese auf definierte Systeme oder Benutzer angewandt werden, ohne strukturell in der Domänenstruktur zu definieren. Zum Bespiel können verschiedene Betriebssysteme oder auch Hardware-Hersteller gefiltert werden. Entsprechend können aber auch diese mit der Zeit ungenutzt im Speicher bleiben:

# Importieren des Active Directory-Moduls
Import-Module ActiveDirectory

# Funktion zum Finden nicht verlinkter WMI-Filter
function Get-UnlinkedWMIFilters {
    # Abrufen aller WMI-Filter
    $allWMIFilters = Get-GpoWMIFilter -All

    # Liste zum Speichern nicht verlinkter WMI-Filter
    $unlinkedWMIFilters = @()

    # Schleife durch alle WMI-Filter
    foreach ($filter in $allWMIFilters) {
        # Abrufen aller verlinkten GPOs für den aktuellen WMI-Filter
        $linkedGPOs = Get-Gpo -All | Where-Object { $_.WmiFilter -eq $filter }

        # Überprüfen, ob keine GPOs verlinkt sind
        if ($linkedGPOs.Count -eq 0) {
            # Hinzufügen des WMI-Filters zur Liste nicht verlinkter WMI-Filter
            $unlinkedWMIFilters += $filter
        }
    }

    # Ausgabe der nicht verlinkten WMI-Filter
    foreach ($unlinkedFilter in $unlinkedWMIFilters) {
        Write-Output "WMI-Filter '$($unlinkedFilter.Name)';(ID: $($unlinkedFilter.Id))"
    }
}

# Aufruf der Funktion
Get-UnlinkedWMIFilters

Richtlinien ohne Sicherheitsfilter

Über Sicherheitsfilter wie AD-Benutzer, AD-Gruppen oder AD-Computer können ebenfalls Verteilungen wie bei den WMI-Filtern oder der aktiven Funktionalität der Gruppenrichtlinien eingeschränkt werden. So können auch in diesem Fall „Altbestände“ vorhanden bleiben:

# Importieren des GroupPolicy-Moduls
Import-Module GroupPolicy

# Funktion zum Finden von GPOs ohne Sicherheitsfilter
function Get-GPOsWithoutSecurityFilter {
    # Abrufen aller GPOs
    $allGPOs = Get-GPO -All

    # Liste zum Speichern von GPOs ohne Sicherheitsfilter
    $gposWithoutSecurityFilter = @()

    # Schleife durch alle GPOs
    foreach ($gpo in $allGPOs) {
        # Abrufen der Sicherheitsfilter des aktuellen GPO
        $securityFilters = Get-GPOReport -Guid $gpo.Id -ReportType Xml | Select-String -Pattern "<SecurityGroup>" | Measure-Object

        # Überprüfen, ob keine Sicherheitsfilter vorhanden sind
        if ($securityFilters.Count -eq 0) {
            $gposWithoutSecurityFilter += $gpo
        }
    }

    # Ausgabe der GPOs ohne Sicherheitsfilter
    foreach ($gpo in $gposWithoutSecurityFilter) {
        Write-Output "GPO-SecurityFilter '$($gpo.DisplayName)';(ID: $($gpo.Id))"
    }
}

# Aufruf der Funktion
Get-GPOsWithoutSecurityFilter

In diesem Fall bitte ich allerdings eindringlich zu beachten, dass die Regelung auch über Security-ACLs und spezielleren Rechten umgesetzt werden kann. Eine direkte Löschung aufgrund eines fehlenden Sicherheitsfilters empfehle ich definitiv nicht. Über den Reiter „Security“ sollten andere Berechtigungen zur Verteilung geprüft werden.

Client, Windows 10, Windows 11, Windows Server, Windows Server 2019, Windows Server 2022

Gruppenrichtlinien-Bereinigung

Posted on 21. Januar 202519. Januar 2025 By Daniel Lensing Keine Kommentare zu Gruppenrichtlinien-Bereinigung

Oft werden Gruppenrichtlinien erstellt und auch modifiziert, wenn es Anforderungen gibt. Allerdings altern diese auch teilweise sehr schlecht in der Verzeichnisstruktur. Aus diesem Grund habe ich 2 Skripte erstellt, welche einen kleinen Überblick entsprechende Themen berücksichtigen:

Nicht verlinkte Gruppenrichtlinien

Gruppenrichtlinien werden an der Struktur der Domäne zur Verfügung bereitgestellt. Wenn man in dieser Struktur entsprechende Löschung, ob per Kontextmenü oder Taste „ENTF“, wird nur die Verlinkung gelöscht. Die Gruppenrichtlinie selbst bleibt in der Domäne vorhanden.

Mit diesem Skript können nicht mehr verlinkte Gruppenrichtlinien aufgelistet:

# Importieren des GroupPolicy-Moduls
Import-Module GroupPolicy

# Funktion zum Finden nicht verlinkter GPOs
function Get-UnlinkedGPOs {
    # Abrufen aller GPOs
    $allGPOs = Get-GPO -All

    # Liste zum Speichern nicht verlinkter GPOs
    $unlinkedGPOs = @()

    # Schleife durch alle GPOs
    foreach ($gpo in $allGPOs) {
        # Abrufen aller Links für das aktuelle GPO
        $links = Get-GPOLink -Guid $gpo.Id

        # Überprüfen, ob keine Links existieren
        if ($links.Count -eq 0) {
            # Hinzufügen des GPO zur Liste nicht verlinkter GPOs
            $unlinkedGPOs += $gpo
        }
    }

    # Ausgabe der nicht verlinkten GPOs
    foreach ($unlinkedGPO in $unlinkedGPOs) {
        Write-Output "GPO '$($unlinkedGPO.DisplayName)';(ID: $($unlinkedGPO.Id));(ModifyDate: $($unlinkedGPO.whenmodified))"
    }
}

# Aufruf der Funktion
Get-UnlinkedGPOs

Deaktivierte Gruppenrichtlinien

Gruppenrichtlinien sind in zwei Teilen aufgeteilt: Benutzer und Computer. Diese können allerdings auch beide deaktiviert werden. Somit ist eine Gruppenrichtlinie verlinkt, aber nicht mehr in der Verteilung. Diese Funktion kann zum Beispiel in Rollouts genutzt werden, um verschiedene Versionen auszutauschen.

Mit diesem Skript können deaktivierte Gruppenrichtlinien in der Domäne identifiziert werden.

# Importieren des GroupPolicy-Moduls
Import-Module GroupPolicy

# Funktion zum Finden von verlinkten GPOs, die deaktiviert sind
function Get-DisabledLinkedGPOs {
    # Abrufen aller GPOs
    $allGPOs = Get-GPO -All

    # Liste zum Speichern deaktivierter, verlinkter GPOs
    $disabledLinkedGPOs = @()

    # Schleife durch alle GPOs
    foreach ($gpo in $allGPOs) {
        # Überprüfen, ob das GPO deaktiviert ist
        if ($gpo.GpoStatus -eq "AllSettingsDisabled") {
            # Abrufen aller Links für das aktuelle GPO
            $links = Get-GPOLink -Guid $gpo.Id

            # Überprüfen, ob Links existieren
            if ($links.Count -gt 0) {
                # Hinzufügen des GPO zur Liste deaktivierter, verlinkter GPOs
                $disabledLinkedGPOs += $gpo
            }
        }
    }

    # Ausgabe der deaktivierten, verlinkten GPOs
    foreach ($disabledLinkedGPO in $disabledLinkedGPOs) {
        Write-Output "GPO '$($disabledLinkedGPO.DisplayName)' (ID: $($disabledLinkedGPO.Id));(ModifyDate: $($unlinkedGPO.whenmodified))"
    }
}

# Aufruf der Funktion
Get-DisabledLinkedGPOs

Client, Leben Beruf und Gesundheit, Powershell, Server, Windows 10, Windows 11, Windows Server 2019, Windows Server 2022

Termine des Microsoft Patchdays 2025

Posted on 15. November 202428. April 2025 By Daniel Lensing 3 Kommentare zu Termine des Microsoft Patchdays 2025
Weißer Schriftzug „UPDATE“ auf schwarzem Hintergrund
Bild by Markus Winkler – https://www.instagram.com/m23

Im Standard veröffentlicht der Hersteller Microsoft an jedem 2ten Dienstag im Monat seine Aktualisierungen. Durch diese Vorgabe entstehen folgende Termine für das Jahr 2025:

14. JanuarRegulärer Patchday
11. FebruarRegulärer Patchday
11. MärzRegulärer Patchday
08. AprilRegulärer Patchday für Windows Server 2025
Baseline-Patchday für Windows 11 Enterprise
13. MaiRegulärer Patchday für Windows Server 2025
Hot-Patchday für Windows 11 Enterprise
10. JuniRegulärer Patchday für Windows Server 2025
Hot-Patchday für Windows 11 Enterprise
08. JuliBaseline-Patchday für
Windows Server 2025 & Windows 11 Enterprise
12. AugustHot-Patchday
09. SeptemberHot-Patchday
14. OktoberBaseline-Patchday
11. NovemberHot-Patchday
09. DezemberHot-Patchday

Hotpatching von Microsoft ist eine Methode, um Updates auf Windows Server sowie Windows Enterprise-Clients zu installieren, ohne dass ein Neustart erforderlich ist. Dabei wird der im Speicher befindliche Code laufender Prozesse gepatcht, ohne dass der Prozess neu gestartet werden muss.

Hotpatching ist besonders nützlich für Unternehmen, die eine hohe Verfügbarkeit ihrer Server benötigen und Ausfallzeiten minimieren möchten.

Bei allen anderen Systemen werden alle Patchdays inkl. der erforderlichen Neustarts durchgeführt.

Arbeitszimmer, Office, Office 365, Patchday+Updates, Windows 10, Windows 11, Windows Server 2019, Windows Server 2022

Elgato Streamdeck – Steuern und Effizienz am PC & Mac

Posted on 15. Februar 202415. Februar 2024 By Daniel Lensing Keine Kommentare zu Elgato Streamdeck – Steuern und Effizienz am PC & Mac

Nach dem gestrigen Blogartikel habe ich mehrere grundlegende Rückfragen zum Elgato Streamdeck bekommen. Aus diesem Grund habe ich mich entschlossen einen Artikel darüber zu schreiben.

Das Elgato Stream Deck ist ein vielseitiges Werkzeug, das vor allem bei Streamern beliebt ist. Diese nutzen das Gerät um ihre Übertragungen zu optimieren und zu personalisieren. Mit seiner benutzerfreundlichen Oberfläche und der Möglichkeit, benutzerdefinierte Aktionen zu erstellen. Es bietet es eine breite Palette von Funktionen, die weit über das Streaming hinausgehen.

Es ist ein kompaktes Gerät mit programmierbaren LCD-Tasten. Dieses ist darauf ausgelegt, die Kontrolle über verschiedene Aspekte des Streamings und anderer Anwendungen zu erleichtern. Jede Taste kann mit einer Vielzahl von Funktionen belegt werden. Er reicht von der Steuerung der Beleuchtung bis hin zum Starten von Medien, Öffnen von Webseiten bis zum Ausführen von Makros.

Die Einrichtung des Stream Decks ist einfach. Nach dem Anschließen an einen USB-Port des PCs oder Macs wird die zugehörige Stream Deck-App heruntergeladen und installiert. Anschließend können Nutzer das Gerät nach ihren Wünschen konfigurieren, indem sie Funktionen per Drag-and-Drop auf die Tasten ziehen.

Eine der Stärken des Stream Decks ist die Möglichkeit, benutzerdefinierte Aktionen zu erstellen. Diese können von einfachen Hotkeys bis hin zu komplexen Sequenzen reichen, die mehrere Aufgaben mit einem einzigen Tastendruck ausführen. Es ist auch möglich, eigene Icons für jede Taste zu erstellen, um die Übersichtlichkeit zu erhöhen.

Zur Unterstützung bietet der Hersteller einen Marketplace auf dem man verschiedene Vorlagen wie Steuerungen, Icons, oder auch Sounds herunterladen.

Obwohl das Stream Deck ursprünglich für Streamer entwickelt wurde, hat es sich als nützliches Werkzeug in vielen anderen Bereichen erwiesen. Es kann im Smart Home zur Steuerung von Beleuchtung und anderen Geräten verwendet werden, in der Videoproduktion zur Steuerung der Software oder sogar in Büroanwendungen zur Effizienzsteigerung. Es ermöglicht Nutzern, ihre Arbeitsabläufe zu optimieren und kreativ zu gestalten, was es zu einem unverzichtbaren Bestandteil vieler Setup-Konfigurationen macht.

Arbeitszimmer, Client, Leben Beruf und Gesundheit, Mac OS X, Peripherie, Software, Windows 10, Windows 11

Ändere-dein-Passwort-Tag: Sicherheit im digitalen Raum

Posted on 1. Februar 202427. Mai 2024 By Daniel Lensing Keine Kommentare zu Ändere-dein-Passwort-Tag: Sicherheit im digitalen Raum

In einer Welt, in der unsere digitale Präsenz stetig zunimmt, gewinnt die Sicherheit unserer persönlichen Daten zunehmend an Bedeutung. Eines der einfachsten, aber oft vernachlässigten Mittel, um diese Sicherheit zu gewährleisten, ist das regelmäßige Ändern von Passwörtern. Genau diesem Zweck dient der „Ändere dein Passwort Tag“, der uns daran erinnert, wie wichtig es ist, unsere Online-Identität zu schützen.

Warum ist das Ändern von Passwörtern wichtig? Die virtuelle Welt ist nicht immun gegenüber Bedrohungen, und Passwörter sind die erste Verteidigungslinie gegen Cyberangriffe. Durch regelmäßige Passwortänderungen minimieren wir das Risiko, Opfer von Identitätsdiebstahl, Hacking oder anderen Cyberbedrohungen zu werden. Ein starkes Passwort ist wie ein digitales Schloss, das unsere persönlichen Informationen schützt.

Tipps für sichere Passwörter:

  1. Länge und Komplexität: Ein sicheres Passwort sollte mindestens 12 Zeichen lang sein und sowohl Groß- als auch Kleinbuchstaben, Zahlen und Sonderzeichen enthalten.
  2. Einzigartigkeit: Verwende für verschiedene Plattformen und Konten unterschiedliche Passwörter, um das Risiko zu minimieren, dass bei einem Datenleck alle deine Konten gefährdet sind.
  3. Multi-Faktor-Authentifizierung: Wo es möglich ist, sollte diese eingerichtet werden. Es ist eine weitere Schutzfunktion für das jeweilige Konto. Zum Beispiel kann der Microsoft Authenticator genutzt werden. Es gibt eine iOS sowie für Android.
  4. Passwort-Manager: Wenn du Schwierigkeiten hast, komplexe Passwörter zu erstellen und zu verwalten, erwäge die Verwendung eines Passwort-Managers. Diese Tools generieren starke Passwörter und speichern sie sicher. Dafür kann die Software KeePass oder auch Bitwarden eingesetzt werden.

Der „Ändere-dein-Passwort-Tag“ ist eine Gelegenheit, die Bedeutung der Cybersicherheit zu betonen. Durch einfache Maßnahmen wie regelmäßige Passwortänderungen können wir unsere digitale Identität schützen

Android, Arbeitszimmer, Client, Fedora (Linux), Gedanken, Internet, iOS, IT-Nachrichten, Mac OS X, Telekommunikation, Ubuntu (Linux), Windows 10, Windows 11

Seitennummerierung der Beiträge

Vorherige 1 2 3 … 9 Nächste

Daniel Lensing

Ich betreibe diesen Blog, bei dem ich meine Erfahrungen aus der IT & dem Berufsalltag sowie dem Wahnsinn des Lebens mit Höhen und Tiefen. Darunter meine „Erlebnisreise“ zum Planeten „Diabetes mellitus Typ-2“.

Translate:

Follow us

Kategorien

  • Allgemein (1)
  • Client (235)
    • Android (7)
    • Fedora (Linux) (5)
    • iOS (5)
    • Mac OS X (5)
    • Peripherie (5)
    • Ubuntu (Linux) (8)
    • Windows 10 (60)
    • Windows 11 (21)
    • Windows 7 (100)
    • Windows 8 (36)
    • Windows 8.1 (28)
    • Windows Mobile (2)
    • Windows Vista (65)
    • Windows XP (21)
  • Cloud (15)
    • Amazon AWS (1)
    • Microsoft Azure (7)
    • Office 365 (9)
  • Fortbewegung (57)
    • Auto (18)
    • Bahn (18)
    • Beinarbeit (6)
    • Flugzeug (4)
    • Zweirad (14)
  • IT-Nachrichten (37)
  • Leben Beruf und Gesundheit (202)
    • #t2dhero (51)
    • Arbeitszimmer (31)
    • Audio (20)
    • Film / Kino (7)
    • Gedanken (78)
    • Gesundheit (31)
    • Internet (5)
    • Lebensmittel & Essen (22)
    • Lesestoff (18)
    • Sport (11)
    • Veranstaltung (3)
  • Lehren & Lernen (49)
    • Forschung (1)
    • Konferenzen (3)
    • Präsentation (4)
    • Zertifizierung (42)
  • Programme (325)
    • Android-Apps (27)
    • Eigene Tools (12)
    • iOS-Apps (6)
    • Office (86)
    • Patchday+Updates (74)
    • Software (150)
    • Spiele (3)
    • Windows Phone-Apps (2)
  • Programmierung (92)
    • AutoIT (1)
    • KiXtart (1)
    • PHP (3)
    • Power Automate (1)
    • Powershell (61)
    • VB.NET (10)
    • VBA (10)
    • VBS (10)
  • Server (159)
    • Citrix XenServer (2)
    • Exchange Server (26)
    • Lync Server (1)
    • System Center (4)
    • Ubuntu Server (2)
    • Windows Home Server (2)
    • Windows Server (92)
    • Windows Server 2012 (45)
    • Windows Server 2016 (15)
    • Windows Server 2019 (18)
    • Windows Server 2022 (15)
    • Windows Server 2025 (8)
  • Telekommunikation (38)
    • Festnetz (3)
    • Internet (13)
    • Mobilfunk (23)
  • Verkauf & Verlosung (1)
  • Web-Installationen (36)
    • Joomla (4)
    • Mastodon (1)
    • MediaWiki (9)
    • phpMyAdmin (2)
    • Piwik (4)
    • Wordpress (20)
Mastodon

Copyright © 2025 Daniels Tagesmeldungen.

Powered by PressBook WordPress theme