为什么我的PowerShell配置文件只能加载32位版本的PowerShell?

问题描述:

按照我在创建配置文件这个文件http://msdn.microsoft.com/en-us/library/bb613488(v=vs.85).aspx为什么我的PowerShell配置文件只能加载32位版本的PowerShell?

%windir%\system32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1 

配置文件只包含一个用于测试的基本功能。

当我运行64位版本的PowerShell时,配置文件不会加载。当我尝试调用测试函数时,PowerShell会返回错误。

当我运行x86版本的配置文件加载正确,我可以调用该函数。

我已经在几台64位机器上测试过了,每次都得到相同的结果。

如何让我的配置文件在64位版本中正确加载?

打开PowerShell的64位实例并创建配置文件。这些文件保存在不同的位置:64b - c:\ windows \ system32,32b(c:\ windows \ SysWOW64)。

+0

该配置文件创建在正确的地方。调用Test-Path $ Profile.AllUsersCurrentHost返回True。此外,当您在c:\ windows \ system32中创建一个配置文件...它会自动复制到c:\ windows \ SysWOW64 ...所以这两个位置都有一个副本 –

+0

感谢您的信息。你调用函数时会得到什么错误?您的执行策略是否允许运行脚本? –

+0

是的。执行策略设置为不受限制。错误消息是标准'术语'测试功能'不被识别为cmdlet的名称...' –