Der folgende Befehl listet alle Prozesse auf, sortiert nach CPU-Nutzung:
Get-Process | Select-Object -Property ProcessName, Id, CPU | Sort-Object -Property CPU -Descending
Der folgende Befehl listet alle Prozesse auf, sortiert nach CPU-Nutzung:
Get-Process | Select-Object -Property ProcessName, Id, CPU | Sort-Object -Property CPU -Descending
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.
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.
Die Anmeldung eines Clients am Active Directory findet sich in der Umgebungsvariable %logonserver% auf der Konsole:
echo %logonserver%
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.
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
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
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.
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.
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
Präsentiert von WordPress & Theme erstellt von Anders Norén