Darf ich ein Skript ausführen?

Die Powershell ist grundsätzlich restriktiv. Skripte werden nur ausgeführt, wenn diese vertrauenswürdig sind. Man kann den Status wie folgt abfragen:

PS C:\Users\Matze> Get-ExecutionPolicy -List

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy Undefined
   UserPolicy Undefined
      Process Undefined
  CurrentUser Undefined
 LocalMachine Undefined

Im Beispiel sind alle Scopes undefined. Um nicht signierte Skripte auszuführen, muss man folgendes machen:

PS C:\Users\Matze> Set-ExecutionPolicy Unrestricted CurrentUser

Ergebnis:

PS C:\Users\Matze> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Unrestricted
LocalMachine Undefined

Netzwerkcommandos

Ersatzmöglichkeiten für alte bekannte Commands

ipconfig

Zur Anzeige der Netzwerkkonfiguration sind geeignet:

Get-NetIPConfiguration

Liefert eine sehr gute Übersicht, die dem alten ipconfig ähnelt, aber noch etwas übersichtlicher ausfällt.

Get-NetIPAddress | Sort InterfaceIndex | FT InterfaceIndex, InterfaceAlias, AddressFamily, IPAddress, PrefixLength -Autosize

Ergibt eine Auflsitung aller Netzwerkadapter als Tabelle mit ipv4 und ipv6 Informationen.

Get-NetIPAddress | ? AddressFamily -eq IPv4 | FT –AutoSize

Dies führt zu einer Übersicht der IPv4 Adressen.

Get-NetAdapter Wi-Fi | Get-NetIPAddress | FT -AutoSize

Hier wird eine Übersicht der WLAN Adapter erzeugt (so ein entsprechender Adapter verfügbar ist).

ping

Test-NetConnection www.spiegel.com

Liefert ein vereinfachtes Feedback zur Erreichbarkeitsinformation.

Test-NetConnection -ComputerName www.spiegel.de -InformationLevel Detailed

Hier werden weitere Details (insbesondere Namensauflösung) mit eingebleblendet.

Test-NetConnection -ComputerName www.spiegel.de | Select -ExpandProperty PingReplyDetails | FT Address, Status, RoundTripTime

Dies liefert eine knappe Übersicht zur IP-Adresse und deren Erreichbarkeit.

1..10 | % { Test-NetConnection -ComputerName www.spiegel.de } | FT -AutoSize

Hier wird das command 10 mal nacheinander ausgeführt und die Ergebnisse werden übersichtlich in einer Tabelle dargestellt.

Test-NetConnection -ComputerName www.spiegel.de -InformationLevel Detailed -RemotePort 80

Dieses Befehl testet auf einen definierten TCP Port

nslookup

Resolve-DnsName www.spiegel.de

Liefert einen sehr detaillierten Output zur Namensauflösung (inkl. IPv6).

Resolve-DnsName spiegel.de -type SOA

Dies liefert die SOA Records zu einem Host. Achtung das Ergebnis ist für Subdomains nicht identisch. Vergleiche:

Resolve-DnsName www.spiegel.de -type SOA

www.spiegel.de löst auf einen anderen Anbieter / Host auf und daher erhält man andere SOA Informationen!

Resolve-DnsName spiegel.de -Server 8.8.8.8 –Type A

Dies ist ein Beispiel für Namensauflösung durch einen gezielkten DNS-Server (8.8.8.8) und es werden als Ergebnis nur IPv4 Adressen geliefert (A-Records)

Route

Get-NetRoute -Protocol Local -DestinationPrefix 192.168*

Fragt alle Routen ab, die im passenden Prefix definiert sind.

Get-NetAdapter Ethernet | Get-NetRoute

Dies zeigt alle Routen zu einem definierten Adapter an (Hier der physikalische Ethernet Adapter).

Tracert

Test-NetConnection www.spiegel.de –TraceRoute

Liefert einen deutlich schnelleren Output als das normale tracert und checkt sowohl IPv4 als auch IPv6

Netstat

Get-NetTCPConnection | Group RemoteAddress | FT Count, Name -Autosize

Dies liefert eine Übersicht aller Verbindungen, wobei anhand der Zieladresse gruppiert wird und die Anzahl der Verbindungen gezählt werden.

Get-NetTCPConnection | findstr 2a01:238:20a:202:54f0::1103

Dies liefert Detailinformationen zu einem der Ziele

Einige Windows Grundeinstellungen

Die einzelnen Steps werden nachfolgend etwas erklärt, hier aber einmal die gesamte Zusammenstellung für eine Ausführung

a) im jeweiligen User Kontext, also Powershell ohne Adminrechte:

New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" -Force -Name "SubscribedContent-338389Enabled" -PropertyType DWORD -Value 0

New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" -Force -Name "SubscribedContent-338389Enabled" -PropertyType DWORD -Value 0

New-Item "HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement"

New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement" -Force -Name "ScoobeSystemSettingEnabled" -PropertyType DWORD -Value 0

New-ItemProperty -Path "HKCU:Software\Microsoft\Windows\CurrentVersion\Search" -Force -Name "SearchboxTaskbarMode" -PropertyType DWORD -Value 1

b) Und hier die Einstellungen, die als Admin vorzunehmen sind (HKLM):

New-Item -Path "HKLM:\Software\Policies\Microsoft\Dsh"

New-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Dsh" -Name "AllowNewsAndInterests" -Value 0 -PropertyType DWORD -Force

und hier wie versprochen ein paar Hintergrundinfos:

„Tipps und Vorschläge erhalten wenn Windows benutzt wird“ ausschalten

New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" -Force -Name "SubscribedContent-338389Enabled" -PropertyType DWORD -Value 0

„Willkommens-Dialog nach Updates“ ausschalten

New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" -Force -Name "SubscribedContent-338389Enabled" -PropertyType DWORD -Value 0

„Möglichkeiten vorschlagen um Windows optimal zu nutzen / Geräteeinrichtung abzuschliessen“

Hier gehört der Schlüssel selbst nicht zum Standardinstalltionsumfang, daher zuerst anlegen:

New-Item "HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement"

und dann darin einen entsprechenden Wert setzen:

New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\UserProfileEngagement" -Force -Name "ScoobeSystemSettingEnabled" -PropertyType DWORD -Value 0

Suchfeld auf Icon reduzieren

New-ItemProperty -Path "HKCU:Software\Microsoft\Windows\CurrentVersion\Search" -Force -Name "SearchboxTaskbarMode" -PropertyType DWORD -Value 1

Widgets deaktivieren (nach nächster Anmeldung)

Schlüssel erzeugen:

New-Item -Path "HKLM:\Software\Policies\Microsoft\Dsh"

Wert setzen:

New-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Dsh" -Name "AllowNewsAndInterests" -Value 0 -PropertyType DWORD -Force