Powershell-Konsolenprofil-Aliase (Funktionen) funktionieren nicht. Warum?

640
Vlastimil

Auf dieser TechNet-Seite wird der Speicherort einer Konsolenprofildatei nur für den aktuellen Benutzer angegeben. Alle Shells müssen Folgendes sein:

%UserProfile%\Documents\Windows­PowerShell\profile.ps1 

In meinem Fall %UserProfile%verweist das auf:

 C:\Users\vlastimil 

Also habe ich die folgende Datei erstellt:

C:\Users\vlastimil\Documents\Windows­PowerShell\profile.ps1 

Was in diesem Moment 2 Funktionen enthält:

function sha256sum([string]$arg) { (Get-FileHash -Algorithm SHA256 $arg | Select -ExpandProperty Hash).ToLower() }  function sha512sum([string]$arg) { (Get-FileHash -Algorithm SHA512 $arg | Select -ExpandProperty Hash).ToLower() } 

Beim Aufruf dieser Funktionen wird jedoch ein Fehler ausgegeben:

PS C:\Users\vlastimil> sha512sum sha512sum : The term 'sha512sum' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + sha512sum + ~~~~~~~~~ + CategoryInfo : ObjectNotFound: (sha512sum:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException 

Da ich sehr wenig über Windows weiß, weiß ich nicht, wo das Problem liegt.


Betriebssystem: Windows 10 Pro 1709

0

2 Antworten auf die Frage

1
Vlastimil

Profilstandort enthüllt mit:

echo $PROFILE 
C:\Users\vlastimil\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 

Nachdem der Pfad und der Name geändert wurden, wurde das Problem behoben.

0
Appleoddity

Es ist ein Unterschied, ob Sie eine Powershell-Konsole oder eine Powershell-ISE ausführen.

https://blogs.technet.microsoft.com/heyscriptingguy/2012/05/21/understanding-the-six-powershell-profiles/

Wo Sie Ihr Profil ablegen, funktioniert nur, wenn Sie von der Konsole aus ausgeführt werden. ISE wird dieses Profil nicht sehen oder verwenden.