Псевдонимы профиля консоли Powershell (функции) не работают, почему?

498
Vlastimil

На этой странице TechNet указано местоположение файла профиля консоли только для текущего пользователя, и все оболочки должны быть:

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

В моем случае это %UserProfile%указывает на:

 C:\Users\vlastimil 

Итак, я создал следующий файл:

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

Который в данный момент содержит 2 функции:

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() } 

Но вызов этих функций выдает ошибку:

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 

Поскольку я очень мало знаю о Windows, я не знаю, в чем проблема.


ОС: Windows 10 Pro 1709

0

2 ответа на вопрос

1
Vlastimil

Расположение профиля отображается с помощью:

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

Таким образом, после изменения пути + имени проблема была решена.

0
Appleoddity

Существует разница, если вы используете консоль PowerShell или ISE PowerShell.

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

Где вы положили свой профиль будет работать только при запуске из консоли. ISE не будет видеть или использовать этот профиль.