Запуск 32-битного PowerShell на 64-битном сервере из C # - PullRequest
2 голосов
/ 20 июля 2011

Мне было интересно, есть ли способ указать, какая версия Powershell инициализируется (32-разрядная \ 64-разрядная) на 64-разрядном сервере Windows 2008 с использованием c # и пространства имен system.automation?

Причина этого в том, что я создал скрипт ps1, который использует com-объект, который будет работать только в 32-битной среде Powershell.

Я не знаю, как указать 32-битную \ 64-битную во время создания пространства выполнения, но могу ошибаться.Есть мысли или предложения?

Спасибо

1 Ответ

1 голос
/ 20 июля 2011

Изменение конфигурации вашего приложения с «Любой процессор» / «x64» на «x86», безусловно, самый простой способ убедиться, что скрипт Powershell работает в 32-битном режиме.Вы можете проверить это с помощью скрипта со следующим содержимым:

if ([System.IntPtr]::Size -eq 8) {'64-bit'} else {'32-bit'}

Конфигурирование Runspace для работы в 64-битном режиме в 64-битном приложении может быть возможным, но это также может быть больше проблем, чем этостоит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...