Powershell: некоторые модули недоступны при вызове через CreateProcess () - PullRequest
3 голосов
/ 03 ноября 2010

При каких условиях некоторые модули PowerShell становятся недоступными?

Когда я создаю процесс с CreateProcess() и командной строкой

powershell -Command "Get-Module -ListAvailable"

Я неполучить все модули, которые я получаю при выполнении одного и того же оператора из командной строки.

Есть ли какие-либо поля, которые я должен установить внутри структур STARTUPINFO или PROCESS_INFORMATION?

Ответы [ 2 ]

3 голосов
/ 03 ноября 2010

Некоторые модули недоступны в 32-разрядной версии PowerShell. В Windows Server 2008 R2 с PowerShell v1.0 это:

  • ADRMS
  • AppLocker
  • BestPractices
  • ServerManager
2 голосов
/ 03 ноября 2010

Набор доступных модулей контролируется переменной окружения PSModulePath. Возможно, что два рассматриваемых здесь процесса имеют 2 разных значения для PSModulePath, и поэтому вы видите 2 разных набора модулей.

Можете ли вы проверить значение в обоих случаях и посмотреть, отличается ли оно?

...