Laufende Tasks anzeigen, Prozesse auf Basis von DLLs auslesen und weitere Tricks für die PowerShell Schnell umsetzbare Admin-Tipps für die PowerShell

Autor / Redakteur: Thomas Joos / Thomas Joos |

Mit der PowerShell können Admins in vielen Fällen schneller und einfacher Ergebnisse von Abfragen und Informationen erhalten, als mit Tools in der grafischen Oberfläche. Mit einigen einfachen Befehlen lassen sich dadurch umfassende Maßnahmen erstellen, Probleme lösen oder Anpassungen vornehmen. Wir zeigen in diesem Tipp einige Möglichkeiten dazu.

Anbieter zum Thema

Netzwerke lassen sich auch mit der PowerShell umfassend verwalten.
Netzwerke lassen sich auch mit der PowerShell umfassend verwalten.
(Netzwerke lassen sich auch mit der PowerShell umfassend verwalten.)

Die PowerShell ermöglicht bereits mit wenigen oder sogar nur einer Zeile das Auslesen und Anpassen einer Vielzahl von Möglichkeiten. Wir haben im Beitrag "10 Tipps für die Verwaltung von Active Directory mit der PowerShell" zahlreiche Tipps zur Verwendung der PowerShell gezeigt. In diesem Beitrag sind wiederum zahlreiche Links zu weiteren PowerShell-Artikel zu finden. Im folgenden Tipp zeigen wir noch mehr Tipps für die PowerShell

Schnell umsetzbare Tipps für Admins zur Verwendung der PowerShell

Zunächst lassen sich in der PowerShell alle vorhandenen Profile anzeigen:

$profile

select *host*
format-list

Sollen zum Beispiel alle aktuell laufenden Scheduled Tasks/Geplanten Aufgaben angezeigt werden, kann der folgende Befehl genutzt werden:

(Get-ScheduledTask).where({$_.state -eq 'running'})

Ebenfalls interessant ist das Anzeigen des freien Speicherplatzes eines Laufwerks, zum Beispiel von C. Hier kann in der PowerShell der folgende Befehl zum Einsatz kommen:

(gcim win32_logicaldisk -filter "deviceid = 'C:'").FreeSpace/1gb

Ähnlich lässt sich der Zeitraum des letzten Neustarts in der PowerShell abfragen:

(gcim win32_operatingsystem).LastBootUpTime

oder

(get-date) - ((gcim win32_operatingsystem).LastBootUpTime)

Um Prozesse anzuzeigen, die auf eine bestimmte DLL setzen, kommt zum Beispiel der folgende Befehl zum Einsatz:

Get-Process

Where { $_.Modules.filename -match "netapi32.dll"}

Es ist mit der PowerShell auch möglich eine Liste der speicherhungrigsten Prozesse anzuzeigen:

ps

sort –p ws
select –last 5

Anpassen des Netzwerkprofils in der PowerShell

Es ist mit der PowerShell auch möglich das Netzwerkprofil direkt zu  ändern, zum Beispiel auf "Private":

$net = Get-NetconnectionProfile;Set-NetConnectionProfile -Name $net.Name -NetworkCategory Private

Auf dem gleichen Weg lässt sich das Profil auch auf "Public" festsetzen:

$net = Get-NetconnectionProfile;Set-NetConnectionProfile -Name $net.Name -NetworkCategory Public

Es ist zwar mit diesem Befehl auch möglich das Profil "Domain" festzulegen, allerdings setzt Windows das bei der Aufnahme in einer Active Directory-Domäne automatisch.