2012-07-31 3 views
2

PowerShell을 사용하는 C#에서 도구를 개발하려고합니다. 그러나, 나는이 일을 의미하고 실행 영역을 만들 때 기본적으로 사용되는이 일을 다른 PowerShell을 사용해야합니다 :Runspace 및 사용자 지정 powershell

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe 

는 파워 쉘의 다른 (사용자 정의) 버전을 사용하는 실행 영역을 강제 할 수 있습니까?

표준 버전의 powershell에는 "Open-Device"및 "Close-Device"와 같은 명령이 많지 않습니다.

사전

답변

1

난 당신이 PSH 런타임과 호스트 사이의 차이를 누락 생각에 감사드립니다. 호스트는 런타임에 서비스 (Write-Host, transscripts, ...)를 제공합니다. 따라서 ISE는 해당 서비스를 구현하지 않기 때문에 성적표를 작성하지 않습니다.

runspace를 사용하면 코어 PSH 런타임과로드되는 모든 스냅인/모듈을 얻을 수 있습니다. Open-DeviceClose-Device이 구현 된 방법에 따라 문제가 발생할 수 있습니다. 사용자 정의 호스트가 자동으로로드하는 스냅인 또는 모듈로 구현되는 경우 필요한 구성 요소 만로드하면됩니다. 이러한 cmdlet이 호스트 자체에서 구현하는 것에 의존하는 경우 별도의 프로세스를 실행해야합니다.

(사용자 지정 호스트를 사용하는 것이 작업, 원격 및 (내가 의심되는) 워크 플로에서 작동하지 않으므로 가난한 형태로 간주되어야합니다.)

관련 문제