Localização do perfil revelada com:
echo $PROFILE
C:\Users\vlastimil\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Assim, depois de alterar o caminho + nome, o problema foi resolvido.
Esta página da TechNet diz a localização de um arquivo de perfil do console para o usuário atual apenas e todas as conchas devem ser:
%UserProfile%\Documents\WindowsPowerShell\profile.ps1
No meu caso, o %UserProfile%
aponta para:
C:\Users\vlastimil
Então, criei o seguinte arquivo:
C:\Users\vlastimil\Documents\WindowsPowerShell\profile.ps1
Que neste momento contém 2 funções:
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()
}
Mas chamar essas funções gera um erro:
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
Como sei muito pouco do Windows, não sei onde está o problema.
SO: Windows 10 Pro 1709
Há uma diferença se você estiver executando o console do powershell ou o powershell ISE.
Onde você coloca seu perfil só funcionará quando for executado a partir do console. O ISE não verá ou usará este perfil.