Powershell CMDLETS Cheatsheet

Prozesse schließen

Schließt einen Prozess nach Namen:

Stop-Process -Name "ProcessName" -Force

Schließt einen Prozess nach PID:

Stop-Process -ID PID -Force

Basic Networking PowerShell cmdlets

Auslesen der IP Configuration (ipconfig mit PowerShell)

Get-NetIPConfiguration

Auflisten aller Netzwerk-Adapter mit der Powershell

Get-NetAdapter

Einen spezifischen Netzwerk-Adapter in der Powershell anhand des Namens erhalten

Get-NetAdapter -Name *Ethernet*

Mehr Informationen zu Netzwerk-Adaptern in der Powershell anzeigen wie VLAN ID, Speed, Connection status

Get-NetAdapter | ft Name, Status, Linkspeed, VlanID

Treiber-Informationen in der Powershell anzeigen

Get-NetAdapter | ft Name, DriverName, DriverVersion, DriverInformation, DriverFileName

Adapter Hardware Informationen in der Powershell

Das kann zum Beispiel wirklich hilfreich sein, wenn man den PCI slot des NIC kennen muss.

Get-NetAdapterHardwareInfo

Ein- und ausschalten eines Netzwerk Adapters in der Powershell

Disable-NetAdapter -Name "Wireless Network Connection"
Enable-NetAdapter -Name "Wireless Network Connection"

Umbenennen eines Netzwerk-Adapters in der Powershell

Rename-NetAdapter -Name "Wireless Network Connection" -NewName "Wireless"

IP Konfiguration mit der PowerShell

Erhalten der IP und DNS Address-Informationen

Get-NetAdapter -Name "Local Area Connection" | Get-NetIPAddress

Nur die IP Adresse erhalten

(Get-NetAdapter -Name "Local Area Connection" | Get-NetIPAddress).IPv4Address

Erhalten der DNS Server Adress-Informationen

Get-NetAdapter -Name "Local Area Connection" | Get-DnsClientServerAddress

Setzen der IP Adresse

New-NetIPAddress -InterfaceAlias "Wireless" -IPv4Address 10.0.1.95 -PrefixLength "24" -DefaultGateway 10.0.1.1

oder, wenn du eine existierende Adresse ändern willst:

Set-NetIPAddress -InterfaceAlias "Wireless" -IPv4Address 192.168.12.25 -PrefixLength "24"

Entfernen der IP Adresse

Get-NetAdapter -Name "Wireless" | Remove-NetIPAddress

DNS

Setzen des DNS Server

Set-DnsClientServerAddress -InterfaceAlias "Wireless" -ServerAddresses "10.10.20.1","10.10.20.2"

Setzem des Interface auf DHCP

Set-NetIPInterface -InterfaceAlias "Wireless" -Dhcp Enabled

Verwalten des DNS Cache mit PowerShell

Anzeigen des DNS Cache:

Get-DnsClientCache

Leeren des DNS Cache:

Clear-DnsClientCache

NSlookup mit der PowerShell

Resolve-DnsName www.bing.com

Informationen von einem speziellen DNS Server:

Resolve-DnsName www.bing.com -Type MX -Server 8.8.8.8

DNS Recurds nach Typ:

Resolve-DnsName -Name www.bing.com -Type A

DNS-Only Abfragen:

Resolve-DnsName -Name www.bing.com -DnsOnly

In diesem Beispiel wird ein Name aufgelöst, der nur DNS verwendet. LLMNR- und NetBIOS-Abfragen werden nicht ausgegeben.

Abrufen der Netzwerkschnittstellenkonfiguration

Get-DnsClient

Zurücksetzen des DNS-Clients, um die von DHCP angegebenen Standard-DNS-Serveradressen zu verwenden

Get-DnsClient | Set-DnsClientServerAddress -ResetServerAddresses

Ping mit PowerShell

Für einen simplen ping command mit PowerShell, kann man das Test-Connection cmdlet nutzen:

Test-Connection bing.com

.. aber es gibt natürlich auch einen fortgeschrittenen Weg um eine Verbindung mit PowerShell zu testen:

Test-NetConnection -ComputerName www.bing.com

… und natürlich auch mit mehr Details aus der Test-NetConnection

Test-NetConnection -ComputerName www.bing.com -InformationLevel Detailed

Man kann auch einen Ping an mehrere IP Adressen mit der PowerShell senden:

1..99 | % { Test-NetConnection -ComputerName x.x.x.$_ } | FT -AutoSize

Tracert mit PowerShell

Test-NetConnection www.bing.com –TraceRoute

Port-Scans mit der PowerShell

Nutze die PowerShell um auf offene Ports zu testen:

Test-NetConnection -ComputerName www.bing.com -Port 80
Test-NetConnection -ComputerName www.bing.com -CommonTCPPort HTTP

Route mit PowerShell

Ändern von Einträgen in der Routingtabelle

Das Cmdlet Set-NetRoute ändert Einträge in der IP-Routingtabelle. Geben Sie Routen an, die mithilfe des Parameters DestinationPrefix oder des NextHop-Parameters geändert werden sollen. Sie können Routen auch mithilfe des Cmdlets Get-NetRoute angeben. Wenn Sie nicht angeben, welche Routen geändert werden sollen, ändern die Cmdlets alle Routen auf dem Computer.

IP-Routing ist der Prozess der Weiterleitung eines Pakets basierend auf der Ziel-IP-Adresse. Das Routing erfolgt auf TCP/IP-Hosts und an IP-Routern. Der sendende Host oder Router bestimmt, wo das Paket weitergeleitet werden soll. Um zu bestimmen, wo ein Paket weitergeleitet werden soll, konsultiert der Host oder Router eine Routingtabelle, die im Arbeitsspeicher gespeichert ist. Wenn TCP/IP gestartet wird, werden Einträge in der Routingtabelle erstellt. Sie können Einträge entweder manuell oder automatisch hinzufügen.

Ändern der Metric:

Set-NetRoute -RouteMetric 257

Ändern der Lifetime

$TimeSpan = New-TimeSpan -Days 1
Set-NetRoute -DestinationPrefix "192.168.0.0/24" -PreferredLifetime $TimeSpan

Auslesen von Einträgen in der Routingtabelle

Ruft die IP-Routinginformationen aus der IP-Routingtabelle ab:

Get-NetRoute | Format-List -Property *

Auslesen aller IPv6 Routes:

Get-NetRoute -AddressFamily IPv6
Get-NetRoute -Protocol Local -DestinationPrefix 192.168*

Abrufen des nächsten Hops für die Standardroute:

Get-NetRoute -DestinationPrefix "0.0.0.0/0" | Select-Object -ExpandProperty "NextHop"
Get-NetRoute -InterfaceAlias Wi-Fi

Hinzufügen einer IP-Route zur Routingtabelle

New-NetRoute DestinationPrefix "10.0.0.0/24" InterfaceAlias "Ethernet" NextHop 192.168.192.1

Entfernen von Routen aus der Routingtabelle

Alle Routen entfernen:

Remove-NetRoute

Entfernen von Routen mit bestimmten nächsten Hops

Remove-NetRoute -NextHop "192.168.0.1"

Netstat mit PowerShell

Das Get-NetTCPConnection-Cmdlet ruft aktuelle TCP-Verbindungen ab. Verwenden Sie dieses Cmdlet, um TCP-Verbindungseigenschaften wie lokale oder Remote-IP-Adresse, lokalen oder Remote-Port und Verbindungsstatus anzuzeigen.

Get-NetTCPConnection
Get-NetTCPConnection State Established
Get-NetTCPConnection -AppliedSetting Internet

NIC Teaming PowerShell commands

Erstellen eines neuen NIC Teaming (Network Interface Adapter Team)

New-NetLbfoTeam -Name NICTEAM01 -TeamMembers Ethernet, Ethernet2 -TeamingMode SwitchIndependent -TeamNicName NICTEAM01 -LoadBalancingAlgorithm Dynamic

SMB PowerShell commands

Auslesen der SMB Client Konfiguration

Get-SmbClientConfiguration

Auflisten der SMB Verbindungen

Get-SmbConnection

Auflisten der SMB Mutlichannel Verbindungen

Get-SmbMutlichannelConnection

Dateien über SMB

Auflisten von geöffneten Dateien über SMB

Get-SmbOpenFile

Informationen zu einer speziellen Datei:

Get-SmbOpenFile -FileId 4415226383569 | Select-Object -Property *

Geöffnete Dateien nach Typ:

Get-SmbOpenFile | Where-Object -Property ShareRelativePath -Match ".DOCX"

Abrufen von Informationen zu einer Datei, die für einen SMB-Client geöffnet wurde

Get-SmbOpenFile -SessionId 4415226380393

Schließen einer geöffneten Datei nach Datei-ID:

Close-SmbOpenFile -FileId 4415226383589

Schließen von Dateien basierend auf der Session ID:

Close-SmbOpenFile -SessionId 4415226380393

Schließen geöffneter Dateien, die einer Dateinamenerweiterung entsprechen

Get-SmbOpenFile | Where-Object -Property ShareRelativePath -Match ".DOCX" | Close-SmbOpenFile -Force

SMB Direct (RDMA) Adapter

Auflisten der SMB Direct (RDMA) Adapter

Get-NetAdapterRdma

Hyper-V Networking mit der PowerShell

Erhalten und setzen der Network Adapter VMQ settings

Auflisten der Network Adapter VMQ settings:

Get-NetAdapterVmq

Aktivieren/Deaktivieren von VMQ:

# Disable VMQ
Set-NetAdapterVmq -Enabled $false
# Enable VMQ
Set-NetAdapterVmq -Enabled $true

Auflisten der VM Network Adapter

Get-VMNetworkAdapter -VMName Server01

Auflisten der VM Network Adapter IP Adressen

(Get-VMNetworkAdapter -VMName NanoConHost01).IPAddresses

Auflisten der VM Network Adapter Mac Adressen

(Get-VMNetworkAdapter -VMName NanoConHost01).MacAddress

Anhänge

PowerShell Cheatsheet
application/pdf