Почему и когда использовать 32- или 64-разрядный PowerShell или ISE? - PullRequest
5 голосов
/ 21 августа 2011

Я только что получил свой первый 64-разрядный ноутбук с Windows.Теперь я ищу информацию о том, когда и зачем использовать 32- или 64-разрядные версии PowerShell или ISE.

Первое впечатление, что мне лучше остаться с 32-разрядной версией, пока я не пойму вещи лучше.

Что я пропустил или не нашел, это базовые учебные пособия и практический опыт, а также ссылки на эти вопросы.

Ответы [ 5 ]

5 голосов
/ 22 августа 2011

Я работаю над семью 64-битными и W2K8 R2 в течение одного года, и, в командной строке , я всегда использую 64-битный Powershell без каких-либо проблем.

Для меня проблема не в том, чтобы выбрать 32- или 64-битный PowerShell.exe, а в том, чтобы знать, что они существуют и что 32-битный процесс будет использовать 32-битный PowerShell.Например, если вы используете PowerShell в качестве сценария выполнения после сборки в Visual Studio 2010, он будет использовать 32-разрядную версию PoweShell, поскольку Visual Studio 2010 - это 32-разрядный процесс.

Две версии видят два разных места в реестре, поэтому вы должны установить Set-ExecutionPolicy для обоих.

Что касается сценариев, я использую не ISE, а редактор сценариев PowerGUI.Вы можете использовать

[intPtr]::size

в скрипте, чтобы узнать, используете ли вы 32- или 64-битный PowerShell.exe.

3 голосов
/ 21 августа 2011

Вы бы использовали 64-битные версии PowerShell или PowerShell ISE, где проблема, которую вы пытаетесь решить, является уникальной 64-битной.Например:

  1. Вам необходим скрипт PowerShell, чтобы иметь возможность использовать больше памяти, чем 32-битное приложение позволит

  2. Вы используете библиотекикоторые являются только 64-битными или должны работать в 64-битной среде.Например, в Windows 2008R2 / IIS7.5, если вы используете управляемую оболочку Microsoft.Web.Management, , если вам нужно изменить administration.config через эту библиотеку, тогда ваше приложение или сценарий должны выполняться в 64-битном процессе..

2 голосов
/ 22 августа 2011

Я обычно придерживаюсь 64-битной PowerShell, если у меня нет веских причин не использовать ее. Одна из проблем, связанных с 32-разрядной оболочкой PowerShell, заключается в том, что вы можете случайно оказаться в каталоге реестра HKLM: \ SOFTWARE \ Wow6432Node, а не там, где вы думаете.

Примером, с которым я чаще всего сталкиваюсь при явной необходимости 32-битной системы, является использование определенных COM-объектов. Например, если у вас 64-разрядная ОС, но 32-разрядная версия Office ... Если вы хотите создать экземпляр объекта Word, Excel или Access, вам понадобится 32-разрядная версия PowerShell, иначе будет действовать так, как будто у вас вообще не установлен Office.

0 голосов
/ 06 сентября 2013

При запуске SharePoint 2013 важно запускать 64-разрядные версии при попытке использовать оснастку Windows.SharePoint.PowerShell.Я потратил слишком много времени, не осознавая, что открыл 32-разрядный ISE и не смог загрузить команды SharePoint.

0 голосов
/ 21 августа 2011

Я думаю, вам не нужно заботиться об этом. Что касается моей 64-битной системы, то предустановлен только 32-битный PowerShell (в \ system32), и он работает без проблем. Так что просто используйте его;) И, кроме того, это, скорее всего, тот же случай, что и с любым другим приложением: если вы полагаетесь на функции / свойства, доступные только под 64-битной версией, вам лучше использовать 64-битную версию этого приложения.

...