profile.ps1 : 无法使用点 '.' 获得此命令来源,因为该命令是在不同语言模式下定 义的。要调用此命令而不导入其内容,请忽略 '.' 运算符。

发布时间 2023-05-04 10:34:16作者: 狂自私

使用自定义的PowerShell配置文件(所有用户,所有主机的情况下):

打开PowerShell提示:

C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1 : 无法使用点 '.' 获得此命令来源,因为该命令是在不同语言模式下定
义的。要调用此命令而不导入其内容,请忽略 '.' 运算符。
所在位置 行:1 字符: 1
+ . 'C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [profile.ps1],NotSupportedException
    + FullyQualifiedErrorId : DotSourceNotSupported,profile.ps1

开始以为是配置文件里面的代码有问题,但是看报错信息行1,字符1明明不是点。突发奇想,多半是因为$pshome的原因

$PSHOME
C:\Windows\System32\WindowsPowerShell\v1.0

最后的那跟v1.0被PowerShell识别到了。很坑,我在自己的电脑上没遇到这个问题,但是公司电脑不知道为啥遇到了这个问题。可能是设置了某种我不知道的策略导致的。

后来想了想,就使用“当前用户,当前主机”的配置文件模式吧

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

所以就在目录“C:\Users\xxx\Documents\WindowsPowerShell\”下面创建名为“Microsoft.PowerShell_profile.ps1”的配置文件,保存好后,在启动PowerShell命令行,就没问题了(原先在$pshome中的profile.ps1文件删除掉)。