Moin.

Andreas Dieckmann hier. Ich bin selbstständiger IT-Consultant und seit Jahren in der Branche tätig. Ich veröffentliche hier Blog-Posts zu IT-Themen, um anderen zu helfen.

Entra Connect: Soft Match und Hard Match

In diesem Post geht es darum, wie Entra Connect Identitäten zusammenführt und dann im Betrieb weiter trackt. Bei einigen Punkten könnte man bestimmt noch weiter in die Tiefe einsteigen, aber das hier sind meiner Meinung nach die wichtigsten Grundlagen. Alles was ich jetzt hier in dem Post beschreibe bezieht sich in der Regel sowohl auf das klassische Entra Connect Sync, als auch auf das modernere Entra Cloud Sync. Falls doch etwas nur für das eine oder andere Sync Tool gilt, dann weise ich explizit darauf hin....

2024-12-16 · 14 Minuten · Andreas Dieckmann

[English] Retrieve infos about Active Directory Based Activation via PowerShell

If you quickly want to retrieve infos about Active Directory Based Activation (ADBA) in your domain, you can use this PowerShell One-liner: 1 Get-ADDomain | %{Get-ADObject -SearchBase "CN=Activation Objects,CN=Microsoft SPP,CN=Services,CN=Configuration,$($_.DistinguishedName)" -LDAPFilter "(objectclass=msspp-activationobject)" -Properties * -ErrorAction SilentlyContinue | fl displayName,DistinguishedName,Name,msspp-csvlkpartialproductkey } I haven’t tested it in a multi-domain environment, but I think it should work. Explanation The code uses aliases, which are not great in scripts, but neat in One-Liners. It uses Get-ADDomain to determine the Distinguished Name for the Domain....

2024-11-25 · 1 Minute · Andreas Dieckmann

PowerShell: Schleifen gezielt abbrechen/überspringen

Normalerweise wird eine Schleife in PowerShell solange ausgeführt, wie es durch den außen stehenden Bedingungsblock definiert ist. Die folgende while-Schleife wird zum Beispiel so lange ausgeführt, wie die Variable namens $Variable kleiner oder gleich 10 ist. 1 2 3 while($Variable -le 10) { # irgendwas } Es ist aber auch möglich gezielt eine komplette Schleife vorzeitig abzubrechen oder einen einzelnen Schleifendurchgang abzubrechen. Und zwar auch, wenn ihr mehrere Schleifen ineinander verschachtelt habt....

2024-11-02 · 5 Minuten · Andreas Dieckmann

[English] TryHackMe Blueprint - Cyber Security Write-Up

I decided to try a bit more Penetration Testing/Ethical Hacking. The following is a Write-Up regarding the TryHackMe room “Blueprint”. Tasks The only info that we have is: Do you have what is takes to hack into this Windows Machine? And the questions: “Lab” user NTLM hash decrypted root.txt So we can assume it’s a Windows machine. Discovery I booted up my Kali linux machine and created a folder on my Desktop to use as a workspace....

2024-09-24 · 6 Minuten · Andreas Dieckmann

WMI in PowerShell verwenden

WMI ist eine mächtige Schnittstelle um Windows Systeme zu verwalten. Dadurch ist der Zugriff auf Dinge möglich, für die es vielleicht sonst gar keine eigenen PowerShell Cmdlets gibt. Teilweise können wir so mehr Infos abrufen, als die Standard-Cmdlets liefern. Das geht sowohl lokal, als auch remote. Deprecated: Die alten WMI Cmdlets Es gibt ein paar ältere Cmdlets, die allerdings für Neuentwicklungen nicht empfohlen werden. Aber vielleicht stoßt ihr in älteren Skripten mal darüber, also jetzt habt ihr schon mal davon gehört - die existieren zumindest....

2024-09-20 · 12 Minuten · Andreas Dieckmann

Das Problem mit Array += in PowerShell

Die PowerShell macht es leider recht einfach ineffizienten Code zu schreiben. Viele Leute benutzen zum Beispiel die += Schreibweise um ein Array zu befüllen. Nicht empfehlenswert! 1 2 3 4 5 # So bitte nicht machen! $Array = @() for ($i = 0; $i -lt 10000; $i++) { $Array += $i } Mit Measure-Command können wir messen, wie lange die Ausführung eines Skriptblocks dauert. Bei mir hat die Ausführung des obigen Codes in einer Test-VM über 2 Sekunden benötigt....

2024-09-12 · 3 Minuten · Andreas Dieckmann

PowerShell NTFS Alternate Data Streams

Das Dateisystem NTFS wird standardmäßig unter Windows verwendet. Und normalerweise hat eine Datei nur einen dazugehörigen normalen Datenstrom (Data Stream) mit dem Namen :$DATA. Aber es gibt auch die sogenannten “Alternate Data Streams” (ADS), die zusätzliche Daten enthalten können. Diese ADS werden teilweise vom System verwendet, könnten aber auch von Angreifern verwendet werden, um Daten zu verstecken. Ich habe zu dem Thema auch ein YouTube Video erstellt. NTFS Alternate Data Stream auslesen Aus dem Internet heruntergeladene Dateien erhalten bei vielen Browsern unter Windows ein “Mark of the web” (MOTW) im Zone....

2024-08-30 · 3 Minuten · Andreas Dieckmann

PowerShell Calculated Properties

Wenn ihr per PowerShell Daten exportiert (zum Beispiel in eine CSV-Datei per Export-CSV), dann werden die originalen Eigenschaftsnamen von den PowerShell Objekten verwendet. Wenn die aber nicht ganz passend für euren Zweck sind, dann könnt ihr sie auch anpassen. Dafür können sogenannte “Calculcated Properties” und das Cmdlet Select-Object verwendet werden. Damit können zum Beispiel: Eigenschaften umbenannt werden Eigenschaftswerte formatiert werden Komplett eigene Eigenschaften erzeugt werden (z.B. durch den Aufruf zusätzlicher Cmdlets) Ich habe zu diesem Thema auch ein Video auf meinem YouTube Kanal veröffentlicht....

2024-08-21 · 7 Minuten · Andreas Dieckmann

[English] PowerShell: Filter Active Directory Computers

I recently worked on a client project, where I had to do some work around Active Directory Computers. I used PowerShell and some light filtering and processing. And now I share those examples, and hopefully someone finds them interesting or helpful. Maybe it will be me, who finds it interesting in the future. In that case: Moin Andi! 👋 Example 1: Filter Computer by Operating System Version The AD attribute OperatingSystemVersion holds the OS version with the build number in a format like this: 10....

2024-08-07 · 2 Minuten · Andreas Dieckmann

PowerShell Write-Host VS. Write-Output

In PowerShell könnt ihr ja Text mit dem Cmdlet Write-Host ausgeben. Aber es wird teilweise davon abgeraten das zu verwenden. Es gibt zum Beispiel die Alternative Write-Output. In diesem Post erkläre ich euch die Unterschiede. 🎬 Ich habe übrigens auch ein Video zu dem Thema erstellt. Write-Host Write-Host gibt Daten auf dem PowerShell Host aus, dem Programm, welches die aktuelle PowerShell Sitzung hostet. Oft ist das der ConsoleHost, aber z.B. die PowerShell ISE oder Visual Studio Code verwenden eigene Hosts, die sich in manchen Aspekten voneinander unterscheiden....

2024-07-05 · 4 Minuten · Andreas Dieckmann