На этой странице 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

2 ответа2

1

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

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

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

0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .