Einstellungen für die Zustimmung anpassen

Wir verwenden Cookies, damit Sie effizient navigieren und bestimmte Funktionen ausführen können. Detaillierte Informationen zu allen Cookies finden Sie unten unter jeder Einwilligungskategorie.

Die als „notwendig" kategorisierten Cookies werden in Ihrem Browser gespeichert, da sie für die Aktivierung der grundlegenden Funktionalitäten der Website unerlässlich sind.... 

Immer aktiv

Notwendige Cookies sind für die Grundfunktionen der Website von entscheidender Bedeutung. Ohne sie kann die Website nicht in der vorgesehenen Weise funktionieren. Diese Cookies speichern keine personenbezogenen Daten.

Keine Cookies zum Anzeigen.

Funktionale Cookies unterstützen bei der Ausführung bestimmter Funktionen, z. B. beim Teilen des Inhalts der Website auf Social Media-Plattformen, beim Sammeln von Feedbacks und anderen Funktionen von Drittanbietern.

Keine Cookies zum Anzeigen.

Analyse-Cookies werden verwendet um zu verstehen, wie Besucher mit der Website interagieren. Diese Cookies dienen zu Aussagen über die Anzahl der Besucher, Absprungrate, Herkunft der Besucher usw.

Keine Cookies zum Anzeigen.

Leistungs-Cookies werden verwendet, um die wichtigsten Leistungsindizes der Website zu verstehen und zu analysieren. Dies trägt dazu bei, den Besuchern ein besseres Nutzererlebnis zu bieten.

Keine Cookies zum Anzeigen.

Werbe-Cookies werden verwendet, um Besuchern auf der Grundlage der von ihnen zuvor besuchten Seiten maßgeschneiderte Werbung zu liefern und die Wirksamkeit von Werbekampagne nzu analysieren.

Keine Cookies zum Anzeigen.

Der Waldmeister

Einblicke in (Security)-Themen ausm tiefen Wald

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. Komfortabel wird es, wenn man seinen Scriptblock einfach in eine externe Datei legt und diese inkludiert.

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.

Seite 3 von 5

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