我刚拿到我的第一个 64 位 Windows 笔记本。现在我正在寻找何时以及为何使用 PowerShell 或 ISE 的 32 位或 64 位版本的信息。
我的第一印象是我最好留在 32 位,直到我更好地理解事物。
我错过或没有找到的是基本教程和实践经验以及此问题的链接。
我刚拿到我的第一个 64 位 Windows 笔记本。现在我正在寻找何时以及为何使用 PowerShell 或 ISE 的 32 位或 64 位版本的信息。
我的第一印象是我最好留在 32 位,直到我更好地理解事物。
我错过或没有找到的是基本教程和实践经验以及此问题的链接。
我正在使用 7 个 64 位和 W2K8 R2 一年,而且,在命令行上,我总是使用 64 位 Powershell,没有任何麻烦。
对我来说,问题不是选择 32 位或 64 位 PowerShell.exe,而是要知道两者存在,并且 32 位进程将使用 32 位 PowerShell。例如,如果您在 Visual Studio 2010 中使用 PowerShell 作为构建后执行脚本,它将使用 32 位 PoweShell,因为 Visual Studio 2010 是 32 位进程。
这两个版本在注册表中看到两个不同的位置,因此您必须为两者设置执行策略。
就脚本而言,我不使用 ISE,而是使用 PowerGUI 脚本编辑器。您可以使用
[intPtr]::size
在脚本中了解您是在运行 32 位还是 64 位 PowerShell.exe。
您将使用 64 位版本的 PowerShell 或 PowerShell ISE,您尝试解决的问题是唯一的 64 位版本。例如:
您需要您的 PowerShell 脚本能够消耗比 32 位应用程序允许的更多的内存
您正在使用仅 64 位或需要在 64 位环境中运行的库。例如,在 Windows 2008R2/IIS7.5 上,如果您使用Microsoft.Web.Management
托管包装器,如果您需要administration.config
通过此库进行修改,那么您的应用程序或脚本需要在 64 位进程中运行。
我通常坚持使用 64 位 PowerShell,除非我有充分的理由不使用它。32 位 PowerShell 的一个问题是,您可能会意外发现自己位于注册表的 HKLM:\SOFTWARE\Wow6432Node 位置,而不是您认为的位置。
我最常遇到的明确需要 32 位的示例是在使用某些 COM 对象时。例如,如果你有一个 64 位操作系统,但 32 位 Office……如果你想实例化一个 Word、Excel 或 Access 对象,你将需要在 32 位 PowerShell 中,否则就像你根本没有安装 Office 一样。
运行 SharePoint 2013 时,在尝试使用 Windows.SharePoint.PowerShell 管理单元时运行 64 位版本很重要。我花了太多时间没有意识到我打开 32 位 ISE 无法加载 SharePoint 命令。
我认为你真的不需要关心这个。至于我的 64 位系统,只预装了一个 32 位 PowerShell(在 \system32 中),它可以正常工作。所以就使用它;) 而且,除此之外,它很可能与任何其他应用程序的情况相同:如果您依赖仅在 64 位下可用的功能/属性,则最好使用该应用程序的 64 位版本。