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 11

Powershell: KeePass-Nutzung in Skripten

Posted on 20. Mai 202519. Mai 2025 By Daniel Lensing Keine Kommentare zu Powershell: KeePass-Nutzung in Skripten

Die Verwaltung von Passwörtern ist in der modernen IT-Landschaft ein zentrales Thema. In diesem Artikel gehe ich darauf ein, wie man mithilfe von PowerShell und KeePass-Passwortdatenbanken einen sicheren Zugriff auf sensible Informationen ermöglicht. Dabei werden zwei Ansätze vorgestellt: Ein klassisches Skript, das direkt die KeePassLib.dll verwendet, sowie eine Methode, die das PowerShell-Modul Microsoft.PowerShell.SecretManagement in Kombination mit einem KeePass-Vault-Adapter nutzt. Außerdem zeige ich, wie man das Masterkennwort schützt, sodass es nicht als Klartext im Skript sichtbar ist.

1. Das klassische PowerShell-Skript mit KeePassLib.dll

Ein häufiger Ansatz besteht darin, ein PowerShell-Skript zu erstellen, das direkt auf die KeePassLib.dll zugreift. Diese Bibliothek, die üblicherweise bei der Installation von KeePass verfügbar ist, stellt alle nötigen Klassen und Methoden bereit, um auf die Datenbank zuzugreifen und Einträge auszulesen.

Beispielskript:

<#
Dieses Skript öffnet eine KeePass-Datenbank (.kdbx) und extrahiert das Passwort eines
spezifizierten Eintrags. Bitte passe anschließend Pfade, den Eintragstitel und das Masterkennwort 
an deine Gegebenheiten an.

Voraussetzungen:
- KeePassLib.dll (normalerweise über die KeePass-Installation enthalten)
- Eine funktionierende KeePass-Datenbank (.kdbx) und das zugehörige Masterkennwort

Achtung: Sensible Daten (wie Masterkennwort) sollten nicht im Klartext hinterlegt werden.
#>

# Pfad zur KeePassLib.dll (anpassen, falls erforderlich)
$libPath = "C:\Program Files (x86)\KeePass Password Safe 2\KeePassLib.dll"
if (-Not (Test-Path $libPath)) {
    Write-Error "Die KeePassLib.dll wurde unter '$libPath' nicht gefunden."
    exit 1
}
Add-Type -Path $libPath

# Datenbankpfad und Zugangsdaten (bitte an deine Umgebung anpassen)
$dbPath = "C:\Path\Zu\Deiner\Datenbank.kdbx"   # Pfad zur KeePass-Datenbank
$masterPassword = "DeinMasterPasswort"          # Masterkennwort (nicht im Klartext speichern!)

# Erstelle einen CompositeKey und füge das Masterkennwort als Benutzer-Schlüssel hinzu
$compositeKey = New-Object KeePassLib.Keys.CompositeKey
$passwordKey = New-Object KeePassLib.Keys.KcpPassword
$passwordKey.Password = $masterPassword
$compositeKey.AddUserKey($passwordKey)

# Öffne und lade die KeePass-Datenbank
$db = New-Object KeePassLib.PwDatabase
try {
    $db.Open($dbPath, $compositeKey, [System.IO.FileAccess]::Read)
} catch {
    Write-Error "Fehler beim Öffnen der Datenbank: $_"
    exit 1
}

# Suche nach einem Eintrag anhand seines Titels (ein Beispielwert, bitte anpassen)
$entryTitle = "MeinEintrag"   # Titel des gewünschten Eintrags
$entry = $db.RootGroup.FindEntries({$_.Strings.ReadSafe("Title") -eq $entryTitle}, $true) | Select-Object -First 1

if ($null -eq $entry) {
    Write-Output "Kein Eintrag mit dem Titel '$entryTitle' gefunden."
} else {
    # Extrahiere das Passwort des gefundenen Eintrags
    $password = $entry.Strings.ReadSafe("Password")
    Write-Output "Das Passwort für den Eintrag '$entryTitle' lautet: $password"

    # Hier kannst du das Passwort weiterverarbeiten, z. B. einem anderen Skript übergeben oder in Variablen speichern.
}

# Schließe die Datenbank, um Ressourcen freizugeben
$db.Close()

Erklärung:

  • Das Skript lädt zunächst die KeePassLib.dll und überprüft, ob der Pfad korrekt ist.
  • Anschließend wird ein CompositeKey erstellt, dem das Masterkennwort als Schlüssel hinzugefügt wird.
  • Mithilfe der gewählten API öffnet man die KeePass-Datenbank im Lesemodus und sucht nach einem Eintrag anhand des Titels.
  • Wird der Eintrag gefunden, wird das Passwort extrahiert und ausgegeben, sodass es in weiteren Prozessen genutzt werden kann.

Dieser Ansatz bietet eine direkte und flexible Möglichkeit, mit KeePass-Datenbanken zu arbeiten, setzt aber voraus, dass sensible Daten (etwa das Masterkennwort) sicher gehandhabt werden.

2. Nutzung von Microsoft.PowerShell.SecretManagement

Ein moderner und oft sichererer Ansatz ist die Verwendung des Moduls Microsoft.PowerShell.SecretManagement. Dieser Vault-Ansatz bietet eine einheitliche API zur Verwaltung von Geheimnissen aus verschiedensten Quellen – KeePass gehört dabei mit einem dedizierten Adapter dazu.

Der erste Schritt besteht darin, die Module zu installieren:

Install-Module Microsoft.PowerShell.SecretManagement -Scope CurrentUser
Install-Module KeePassSecretManagement -Scope CurrentUser

Nach erfolgreicher Installation registrierst du deinen KeePass-Vault in der SecretManagement-Umgebung:

Register-SecretVault -Name "KeePassVault" -ModuleName KeePassSecretManagement -DefaultVault `
    -VaultParameters @{ 
        DatabasePath = "C:\Path\Zu\Deiner\Datenbank.kdbx"; 
        MasterPassword = "DeinMasterPasswort" 
    }

Sobald der Vault registriert ist, kannst du über den Befehl Get-Secret darauf zugreifen:

Get-Secret -Name "MeinEintrag" -Vault "KeePassVault"

Vorteile:

  • Einheitliche Schnittstelle: Egal, ob du Azure Key Vault, SecretStore oder KeePass einsetzt – die API bleibt gleich.
  • Verbesserte Sicherheit: Der Vault-Adapter abstrahiert die direkte Handhabung von Kennwörtern und ermöglicht damit einen saubereren Zugang.
  • Flexibilität und Erweiterbarkeit: Weitere Vaults können problemlos integriert werden, was besonders in größeren Automatisierungsszenarien nützlich ist.

3. Schutz des Masterkennworts – So vermeidest du Klartext im Skript

Ein häufiges Sicherheitsrisiko bei Skripten ist die Hardcodierung von Passwörtern. Es gibt einige Best Practices, um das Masterkennwort zu schützen:

3.1. Eingabeaufforderung zur Laufzeit mit SecureString

Statt das Kennwort im Skript zu speichern, forderst du den Benutzer zur Laufzeit zur Eingabe auf. Dies erfolgt mit dem Parameter -AsSecureString:

$secureMasterPassword = Read-Host "Bitte gib dein Masterkennwort ein" -AsSecureString

Falls ein normaler String benötigt wird, kann der SecureString konvertiert werden:

$unsecureMasterPassword = [Runtime.InteropServices.Marshal]::PtrToStringAuto(
    [Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureMasterPassword)
)

3.2. Nutzung von SecretManagement/SecretStore

Neben der direkten Eingabe kannst du das Kennwort auch zentral über ein Vault-Modul speichern. So greifst du später sicher darauf zu, ohne es im Skript zu hinterlegen:

Register-SecretVault -Name "KeePassVault" -ModuleName KeePassSecretManagement -DefaultVault `
    -VaultParameters @{ 
        DatabasePath   = "C:\Path\Zu\Deiner\Datenbank.kdbx"; 
        MasterPassword = (Get-Secret -Name "MasterKennwort" -Vault "SecretStore")
    }

3.3. Verschlüsselte Konfigurationsdatei

Eine weitere Möglichkeit ist, das Masterkennwort in einer verschlüsselten Datei abzulegen. Dabei wird der SecureString mit ConvertFrom-SecureString verschlüsselt abgespeichert und bei Bedarf wieder eingelesen:

Speichern:

$secureMasterPassword = Read-Host "Bitte gib dein Masterkennwort ein" -AsSecureString
$secureMasterPassword | ConvertFrom-SecureString | Out-File "C:\Path\zur\secret.config"

Laden:

$encryptedString = Get-Content "C:\Path\zur\secret.config"
$secureMasterPassword = $encryptedString | ConvertTo-SecureString

Diese Methode nutzt die Windows-Datenschutz-API (DPAPI), die sicherstellt, dass die Datei nur mit dem Benutzerkonto, das sie erstellt hat, entschlüsselt werden kann.

Fazit

Die sichere Verwaltung von Passwörtern ist in jeder IT-Umgebung essenziell. Mit PowerShell und KeePass stehen dir zwei leistungsfähige Ansätze zur Verfügung:

  • Der direkte Zugriff über die KeePassLib.dll bietet Flexibilität und Kontrolle, erfordert aber sorgfältigen Umgang mit sensiblen Daten.
  • Die Verwendung des Microsoft.PowerShell.SecretManagement-Moduls in Kombination mit einem KeePass-Vault-Adapter sorgt für eine einheitliche, moderne und oft sicherere Verwaltung von Geheimnissen.

Besonders wichtig ist es, das Masterkennwort nicht im Klartext im Skript zu hinterlegen, sondern es entweder zur Laufzeit einzugeben, zentral in einem sicheren Vault zu speichern oder in einer verschlüsselten Datei abzulegen. Dadurch minimierst du das Risiko eines unbefugten Zugriffs und stellst sicher, dass deine Passwörter geschützt bleiben.

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

Powershell: Ist ein Kennwort bei „Have I Been Pwned“ bekannt?

Posted on 17. Mai 202517. Mai 2025 By Daniel Lensing Keine Kommentare zu Powershell: Ist ein Kennwort bei „Have I Been Pwned“ bekannt?

In der heutigen digitalen Welt ist die Sicherheit von Passwörtern wichtiger denn je. Datenlecks und Passwortdiebstähle sind an der Tagesordnung, und Millionen von Zugangsdaten gelangen regelmäßig in die Hände von Cyberkriminellen. Ein äußerst nützliches Tool zur Überprüfung der Sicherheit von Passwörtern ist die API „api.pwnedpasswords.com“, die von Have I Been Pwned (HIBP) bereitgestellt wird.

Wie funktioniert die API?

Die API verwendet das k-Anonymitätsprinzip, um sicherzustellen, dass das zu prüfende Passwort nicht vollständig offengelegt wird. Der Prozess sieht folgendermaßen aus:

  1. Der Benutzer oder die Anwendung hashen das zu überprüfende Passwort mit SHA-1.
  2. Die ersten 5 Zeichen des Hashs werden an die API gesendet.
  3. Die API antwortet mit einer Liste aller Hashes, die mit diesen ersten 5 Zeichen beginnen und in ihrer Datenbank gefunden wurden.
  4. Die Anwendung vergleicht den vollständigen Hash des geprüften Passworts mit den zurückgegebenen Hashes.
  5. Falls eine Übereinstimmung gefunden wird, bedeutet dies, dass das Passwort kompromittiert ist und nicht verwendet werden sollte.

Dieses Verfahren stellt sicher, dass ein vollständiger Passwort-Hash niemals über das Internet übertragen wird, wodurch das Risiko minimiert wird, dass Angreifer sensible Informationen abfangen können.

Wie spreche ich die API per Powershell auf?

Ich habe den Abruf in eine Funktion geschrieben. Dieses hat für mich den Vorteil, dass ich den dann notwendigen Aufruf an mehrern Stellen in Programmierungen verwendne kann.

function Test-PwnedPassword {
    param (
        [string]$Password
    )

    # Passwort hashen (SHA-1)
    $sha1 = New-Object System.Security.Cryptography.SHA1Managed
    $hashBytes = $sha1.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($Password))
    $hashString = [BitConverter]::ToString($hashBytes) -replace '-',''
    
    # Ersten fünf Zeichen extrahieren
    $prefix = $hashString.Substring(0, 5)
    
    # API-Abfrage
    $url = "https://api.pwnedpasswords.com/range/$prefix"
    try {
        $response = Invoke-WebRequest -Uri $url -UseBasicParsing
        $hashes = $response.Content -split "`n"

        # Prüfen, ob das vollständige Hash-Suffix in der Liste ist
        foreach ($line in $hashes) {
            $parts = $line -split ":"
            if ($hashString.Substring(5) -eq $parts[0]) {
                Write-Output "Das Passwort wurde bereits $($parts[1]) Mal gefunden!"
                return
            }
        }
        Write-Output "Das Passwort wurde nicht gefunden."
    }
    catch {
        Write-Output "Fehler bei der API-Anfrage: $_"
    }
}

Für den Test des Skriptes kann folgender Test-Aufruf verwendet werden.

$passwort = Read-Host „Geben Sie Ihr Passwort ein“
Test-PwnedPassword -Password $passwort

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

Vergleich: Firefox vs. Firefox ESR

Posted on 6. Mai 20251. Mai 2025 By Daniel Lensing 2 Kommentare zu Vergleich: Firefox vs. Firefox ESR

Mozilla Firefox ist einer der beliebtesten Webbrowser weltweit. Neben der regulären Version existiert auch die Extended Support Release (ESR)-Version von Firefox. Doch was sind die Unterschiede zwischen diesen beiden Versionen, und für wen eignet sich welche Variante besser?

Was ist Firefox?

Firefox ist ein Open-Source-Webbrowser, der von Mozilla entwickelt wird. Er ist bekannt für seine hohe Geschwindigkeit, starke Anpassungsmöglichkeiten und umfangreiche Datenschutzfunktionen. Durch regelmäßige Updates werden neue Features und Sicherheitsupdates bereitgestellt, was ihn zu einer der besten Optionen für alltägliches Surfen macht.

Die Firefox-Standard-Version beinhaltet die folgenden Vorteile:

  • Regelmäßige Updates: Neue Funktionen und Sicherheitsupdates etwa alle vier Wochen.
  • Erweiterungen & Anpassung: Große Auswahl an Add-ons und Themes zur Personalisierung.
  • Aktuelle Web-Technologien: Unterstützung für die neuesten Webstandards und -technologien.
  • Datenschutzfreundlich: Viele integrierte Funktionen zum Schutz vor Tracking und Werbung.

Was ist Firefox ESR?

Firefox Extended Support Release (ESR) richtet sich vor allem an Unternehmen, Bildungseinrichtungen und Organisationen, die mehr Stabilität bevorzugen. Diese Version erhält über einen längeren Zeitraum nur Sicherheitsupdates, aber keine neuen Funktionen.

Die Vorteile von der Firefox ESR-Version sind:

  • Langfristige Stabilität: Keine häufigen Änderungen an der Benutzeroberfläche oder neuen Features.
  • Unterstützung für ältere Systeme: Besonders nützlich für Unternehmen, die ältere Webanwendungen nutzen.
  • Weniger Updates: Sicherheitsupdates werden bereitgestellt, aber neue Features nur in größeren Versionssprüngen.

Hauptunterschiede zwischen Firefox und Firefox ESR

Hier eine direkte Gegenüberstellung der wichtigsten Unterschiede:

MerkmalFirefoxFirefox ESR
Update-FrequenzCa. alle 4 WochenCa. alle 12 Monate
Neue FeaturesJa, regelmäßigNur bei großen Versionsänderungen
SicherheitspatchesJa, zeitnahJa, aber ohne neue Funktionen
ZielgruppePrivatnutzer & EntwicklerUnternehmen & Organisationen
FlexibilitätHoch – viele Add-ons & AnpassungenStabil, aber begrenzte Anpassung

Für wen ist welche Version geeignet?

Die Wahl zwischen Firefox und Firefox ESR hängt stark davon ab, wie du deinen Browser nutzt:

  • Firefox ist ideal für:
    • Privatanwender, die immer die neuesten Features nutzen möchten.
    • Entwickler, die moderne Web-Technologien testen.
    • Nutzer, die viele Anpassungsmöglichkeiten bevorzugen.
  • Firefox ESR ist ideal für:
    • Unternehmen oder Organisationen mit festen IT-Systemen.
    • Bildungseinrichtungen, die stabile Software benötigen.
    • Nutzer, die keine häufigen Änderungen bevorzugen.

Zusammenfassend

Wenn du Wert auf Aktualität und neueste Technologien legst, ist die normale Firefox-Version die beste Wahl. Falls du hingegen einen stabilen, langfristig unterstützten Browser bevorzugst, könnte Firefox ESR besser für dich geeignet sein.

Client, Patchday+Updates, Software, Windows 10, Windows 11

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

Neuer Modi für LAPS unter W11 24H2 und Server 2025

Posted on 17. Februar 202516. Februar 2025 By Daniel Lensing Keine Kommentare zu Neuer Modi für LAPS unter W11 24H2 und Server 2025

Die Windows Local Administrator Password Solution (Windows LAPS) ist ein leistungsstarkes Werkzeug zur Verwaltung und Rotation der Passwörter lokaler Administratorkonten. Mit der Einführung von Windows Server 2025 und Windows 11 24H2 wurden neue Funktionen und Modi hinzugefügt, die die Verwaltung dieser Konten weiter vereinfachen und verbessern.

Überblick über Windows LAPS

Windows LAPS ist darauf ausgelegt, die Passwörter lokaler Windows-Konten regelmäßig zu rotieren, um die Sicherheit zu erhöhen. Dies kann das integrierte Administratorkonto oder ein benutzerdefiniertes neues Konto sein. Der IT-Administrator hat zwei verschiedene Modi zur Auswahl: den manuellen und den automatischen Kontoverwaltungsmodus.

Manueller Kontoverwaltungsmodus

Der manuelle Modus ist der Standardmodus und bietet dem IT-Administrator die Kontrolle über alle Aspekte des verwalteten Kontos, außer dem Passwort. Das Passwort wird von Windows LAPS verwaltet und geschützt1. Der IT-Administrator kann wählen, ob das integrierte Administratorkonto oder ein benutzerdefiniertes neues Konto verwaltet werden soll. Wenn ein benutzerdefiniertes Konto gewählt wird, muss der IT-Administrator dieses Konto vor der Aktivierung von Windows LAPS erstellen.

Vorteile des manuellen Modus:

  • Flexibilität: Der IT-Administrator hat volle Kontrolle über die Konfiguration des Kontos.
  • Sicherheit: Das Passwort wird automatisch geschützt und rotiert.

Nachteile des manuellen Modus:

  • Komplexität: Der IT-Administrator muss das Konto manuell erstellen und verwalten.
  • Mögliche Fehler: Da der Administrator mehr Verantwortung trägt, besteht ein höheres Risiko für menschliche Fehler.

Automatischer Kontoverwaltungsmodus

Der automatische Modus ist ein optionaler Modus, der standardmäßig deaktiviert ist. In diesem Modus übernimmt Windows LAPS die vollständige Verwaltung des Kontos, einschließlich der Erstellung und Löschung des Kontos sowie der Passwortrotation. Der IT-Administrator kann wählen, ob das integrierte Administratorkonto oder ein benutzerdefiniertes neues Konto verwaltet werden soll.

Vorteile des automatischen Modus:

  • Einfachheit: Windows LAPS übernimmt die gesamte Verwaltung des Kontos, was die Komplexität reduziert.
  • Sicherheit: Das Konto wird automatisch erstellt und verwaltet, was das Risiko von menschlichen Fehlern minimiert.

Nachteile des automatischen Modus:

  • Weniger Flexibilität: Der IT-Administrator hat weniger Kontrolle über die Konfiguration des Kontos.
  • Abhängigkeit von Windows LAPS: Die Verwaltung des Kontos ist vollständig von Windows LAPS abhängig, was bei Problemen mit dem Tool zu Schwierigkeiten führen kann.

Zusammenfassend

Windows LAPS bietet nun zwei verschiedene Kontoverwaltungsmodi, die jeweils ihre eigenen Vor- und Nachteile haben. Der manuelle Modus bietet mehr Flexibilität und Kontrolle, erfordert jedoch mehr Aufwand und birgt ein höheres Risiko für menschliche Fehler. Der automatische Modus hingegen vereinfacht die Verwaltung und erhöht die Sicherheit, bietet jedoch weniger Flexibilität.

Client, Server, Windows 11, 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

Seitennummerierung der Beiträge

Vorherige 1 2 3 4 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 (238)
    • Android (8)
    • Fedora (Linux) (5)
    • iOS (6)
    • Mac OS X (6)
    • Peripherie (5)
    • Ubuntu (Linux) (9)
    • Windows 10 (62)
    • Windows 11 (24)
    • 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 (58)
    • Auto (18)
    • Bahn (19)
    • Beinarbeit (6)
    • Flugzeug (4)
    • Zweirad (14)
  • IT-Nachrichten (37)
  • Leben Beruf und Gesundheit (215)
    • #t2dhero (57)
    • Arbeitszimmer (38)
    • Audio (22)
    • Film / Kino (7)
    • Gedanken (81)
    • Gesundheit (37)
    • Internet (7)
    • Lebensmittel & Essen (22)
    • Lesestoff (19)
    • Sport (11)
    • Veranstaltung (3)
  • Lehren & Lernen (49)
    • Forschung (1)
    • Konferenzen (3)
    • Präsentation (4)
    • Zertifizierung (42)
  • Programme (328)
    • Android-Apps (28)
    • Eigene Tools (12)
    • iOS-Apps (7)
    • Office (87)
    • Patchday+Updates (75)
    • Software (151)
    • Spiele (3)
    • Windows Phone-Apps (2)
  • Programmierung (94)
    • AutoIT (1)
    • KiXtart (1)
    • PHP (3)
    • Power Automate (1)
    • Powershell (63)
    • VB.NET (10)
    • VBA (10)
    • VBS (10)
  • Server (160)
    • 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 (19)
    • Windows Server 2022 (16)
    • Windows Server 2025 (9)
  • Telekommunikation (38)
    • Festnetz (3)
    • Internet (13)
    • Mobilfunk (23)
  • Verkauf & Verlosung (1)
  • Web-Installationen (37)
    • Joomla (4)
    • Mastodon (1)
    • MediaWiki (10)
    • phpMyAdmin (2)
    • Piwik (4)
    • Wordpress (20)
Mastodon

Copyright © 2025 Daniels Tagesmeldungen.

Powered by PressBook WordPress theme