此 TechNet 页面表示仅当前用户和所有 shell 的控制台配置文件的位置应为:
%UserProfile%\Documents\WindowsPowerShell\profile.ps1
就我而言,%UserProfile%
要点如下:
C:\Users\vlastimil
因此,我创建了以下文件:
C:\Users\vlastimil\Documents\WindowsPowerShell\profile.ps1
目前它包含两个函数:
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
答案1
个人资料位置已显示:
echo $PROFILE
C:\Users\vlastimil\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
因此,更改路径+名称后,问题已解决。
答案2
如果您运行的是 powershell 控制台或 powershell ISE,则会有所不同。
仅当从控制台运行时,配置文件的放置位置才会起作用。ISE 不会看到或使用此配置文件。