Benutzer-Werkzeuge

Webseiten-Werkzeuge


powershell

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
powershell [2022-12-18 19:40:32] – [Nice to know] manfredpowershell [2025-08-23 22:44:56] (aktuell) – [PowerShell] david
Zeile 9: Zeile 9:
  
 Es gibt zwei verschiedene PowerShell Versionen: Es gibt zwei verschiedene PowerShell Versionen:
-  * **Windows PowerShell** (bis v5.x): in Windows 10 integrierter Kommandozeileninterpreter sowie eine Skriptsprache, basiert auf dem .NET Framework und kann deutlich mehr als das sehr alte CMD +  * **Windows PowerShell** (bis v5): in Windows 10 integrierter Kommandozeileninterpreter sowie eine Skriptsprache, basiert auf dem .NET Framework und kann deutlich mehr als das sehr alte CMD 
-  * **PowerShell** (ab v6), auch als PowerShell Core bekannt: open-source Kommandozeileninterpreter und Skriptsprache, basiert auf [[dotnet|.NET (Core)]] und ist cross-platform+  * **PowerShell** (ab v7), auch als PowerShell Core (v6) bekannt: open-source Kommandozeileninterpreter und Skriptsprache, basiert auf [[dotnet|.NET (Core)]] und ist cross-platform
  
 Beide Versionen sind sehr ähnlich, doch nur die neue cross-platform PowerShell wird noch weiterentwickelt und bietet somit mehr Funktionen. Diese wird leider nicht mit Windows 10 mitgeliefert, weshalb man die meisten Skripte kompatibel zur Version 5 schreiben muss, um portable zu sein. Beide Versionen sind sehr ähnlich, doch nur die neue cross-platform PowerShell wird noch weiterentwickelt und bietet somit mehr Funktionen. Diese wird leider nicht mit Windows 10 mitgeliefert, weshalb man die meisten Skripte kompatibel zur Version 5 schreiben muss, um portable zu sein.
Zeile 18: Zeile 18:
  
 Symlink für das Profil (profile.ps1) der neuen PowerShell zur alten Windows PowerShell erstellen: Symlink für das Profil (profile.ps1) der neuen PowerShell zur alten Windows PowerShell erstellen:
-  > New-Item -ItemType SymbolicLink -Path $home/Documents/WindowsPowerShell/profile.ps1 -Value $home/Documents/PowerShell/profile.ps1+  > New-Item -ItemType Directory "$HOME/Documents/PowerShell" -Force 
 +  > New-Item -ItemType File "$HOME/Documents/PowerShell/profile.ps1" 
 +  > New-Item -ItemType SymbolicLink -Path "$HOME/Documents/WindowsPowerShell/profile.ps1-Value "$HOME/Documents/PowerShell/profile.ps1" -Force
  
-PowerShell Skripte auf dem System erlauben: +PowerShell Skripte auf dem System erlauben (als Admin ausführen)
-  > Set-ExecutionPolicy RemoteSigned+  > @("CurrentUser", "LocalMachine") | % { Set-ExecutionPolicy RemoteSigned -Scope $_ }
  
 ''RemoteSigned'' bedeutet: alle Skripte, die nicht lokal geschrieben wurden, müssen signiert werden ''RemoteSigned'' bedeutet: alle Skripte, die nicht lokal geschrieben wurden, müssen signiert werden
  
-Beenden der Shell mit Ctrl+D (wie in Bash), folgende Zeile in das PowerShell Profil (''$home/Documents/PowerShell/profile.ps1'') eintragen (ähnlich wie ''.profile'' oder ''.bashrc'' unter Linux): 
-  > echo "Set-PSReadLineKeyHandler -Key ctrl+d -Function DeleteCharOrExit" >> $home/Documents/PowerShell/profile.ps1 
  
-Dies wird durch das Modul ''PSReadLine'' ermöglicht, was viel Konfiguration zulässt und viele Bash-Features endlich zu PowerShell holt+==== Beenden der Shell mit Ctrl+D (wie in Bash) ==== 
 + 
 +Das PowerShell Profil ''profile.ps1'' verhält sich ähnlich wie ''.profile'' / ''.bashrc'' / ''.zshrc'' unter Linux 
 + 
 +  > mkdir $HOME/Documents/PowerShell -Force; echo "Set-PSReadLineKeyHandler -Key ctrl+d -Function DeleteCharOrExit" >> $HOME/Documents/PowerShell/profile.ps1 
 + 
 +Dies wird durch das Modul ''PSReadLine'' ermöglicht. Es erlaubt umfangreiche Konfiguration und holt endlich viele Vim/Emacs-Features zu PowerShell
 + 
 + 
 +==== IPv6 auf EUI-64 (MAC basierend) stellen (legacy) ==== 
 + 
 +  * Dies ist normalerweise nicht empfohlen, kann jedoch im Zusammenspiel mit Systemen, die modernes IPv6 nicht richtig verstehen (z.B. fritz.box Router kann IPv6 Portfreigaben nur mit EUI-64 Clients), äußerst praktisch sein. 
 +  * Man sollte dann jedoch unbedingt Temporary Addresses bzw. Privacy Extensions aktivieren! 
 + 
 +In PowerShell (Admin): 
 + 
 +  > Set-NetIPv6Protocol -RandomizeIdentifiers Disabled 
 +  > Set-NetIPv6Protocol -UseTemporaryAddresses Enabled 
 + 
 + 
 +==== IPv6 auf zufällig (stable-privacy) stellen (modern) ==== 
 + 
 +  * Die obige Konfiguration rückgängig machen. 
 +  * Temporary Addresses bzw. Privacy Extensions sind standardmäßig aktiviert und sind hier nur der Vollständigkeit halber angegeben! 
 + 
 +In PowerShell (Admin): 
 + 
 +  > Set-NetIPv6Protocol -RandomizeIdentifiers Enabled 
 +  > Set-NetIPv6Protocol -UseTemporaryAddresses Enabled
  
  
 ==== RAM ==== ==== RAM ====
  
-In Windows 10 anzeigen, wieviel RAM drin steckt //(sollte bei englisch und deutsch so funktionieren)//.+In Windows 10 anzeigen, wieviel RAM drin steckt //(englisch deutsch)//
  
 __in CMD:__ __in CMD:__
-  C:\Users\Manfred>systeminfo | findstr /C:"hysi"+  C:\Users\Manfred>systeminfo | findstr /C:"physi"
   Gesamter physischer Speicher:                  32.540 MB   Gesamter physischer Speicher:                  32.540 MB
   Verfügbarer physischer Speicher:               18.658 MB   Verfügbarer physischer Speicher:               18.658 MB
  
 __in PowerShell:__ __in PowerShell:__
-  PS C:\Users\Manfred> systeminfo | sls "hysi"+  PS C:\Users\Manfred> systeminfo | sls "physi"
      
   Gesamter physischer Speicher:                  32.540 MB   Gesamter physischer Speicher:                  32.540 MB
/home/http/wiki/data/attic/powershell.1671392432.txt · Zuletzt geändert: von manfred