문제

Under what conditions do some PowerShell modules become unavailable?

When I create a process with CreateProcess() and the command line

powershell -Command "Get-Module -ListAvailable"

I don't get all the modules I get when executing the same statement from a command prompt.

Are there any fields I have to set inside the STARTUPINFO or PROCESS_INFORMATION structs?

도움이 되었습니까?

해결책

Some modules are not available in the 32 bit version of PowerShell. On Windows Server 2008 R2 with PowerShell v1.0 these are:

  • ADRMS
  • AppLocker
  • BestPractices
  • ServerManager

다른 팁

The set of modules available is controlled by the PSModulePath environment variable. It's possible that the two processes in question here have 2 different values for PSModulePath and hence you see 2 different sets of modules.

Can you check the value in both cases and see if it's different?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top