Der Waldmeister

Einblicke in (Security)-Themen ausm tiefen Wald

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

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.

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.

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%

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.

Einschränkungen einmalig aufheben pro Session

Oft steht man vor dem Problem, dass aus Sicherheitsgründen die Skripte nicht ausgeführt werden können bzw. dürfen. Spätestens dann fängt man an zu googeln und landet bei execution policies.

Es geht aber auch einfacher. Mit dem folgenden Befehl umgeht man etwaige Sperren recht einfach:

powershell -ep bypass

Sollte der Befehl Probleme bereiten, so gibt es auch noch eine andere Möglichkeit:

Set-ExecutionPolicy Bypass -Scope Process -Force; .\script.ps1

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

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. Darüber hinaus werden die beschädigten Dateien nach Möglichkeit repariert.

Wenn man also in Zukunft auf ein Problem stoßen sollte, so setzt man mit diesem Befehl alle Dateien wieder zur funktionierenden Version von Dateien zurück.

Remote Rechner mittels PowerShell ansprechen

Der Traum jeden Admins ist es die Remote Verwaltung von Rechnern, ohne diese mittels RDP oder sonstiger RATs ansprechen zu müssen (VNC, etc.).

Hierzu eignen sich besonders die PowerShell-Kommandos. Folgendes Beispiel ermöglicht den Abruf der Uptime von allen Rechnern, die ich zuvor als Array ($computers) definiert habe, wie folgt:

Get-CimInstance Win32_operatingsystem -ComputerName $computers | Select-Object PSComputername,LastBootUpTime, @{Name="Uptime";Expression = {(Get-Date) - $_.LastBootUptime}}

Wichtig ist dabei aber, dass die Rechner die Version 3 von PowerShell installiert haben.

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

Seite 3 von 5

Präsentiert von WordPress & Theme erstellt von Anders Norén