2013-08-01 5 views
6

에 대한 많은 질문 및 답변 C# 코드에서 powershell 스크립트를 실행하는 방법은이지만 runspace/파이프 라인 이 .ps1 파일의 실행을 정확하게 수행하고 있는지 알고 싶습니다.C# runspace/파이프 라인은 powershell 스크립트를 어떻게 실행합니까?

내가 묻는 컨텍스트는 다음과 같습니다. 새로운 웹 사이트를 설정하는 powershell 스크립트의 기본 asp.net 프런트 엔드를 구축했습니다. IIS에 사이트를 만들고 wwwroot 폴더, 로그 폴더, AD 사용자 및 필요한 모든 것을 설정합니다. Powershell에서 관리자로 실행할 때 완벽하게 작동합니다. 그러나 C# 파이프 라인을 통해 실행하면 매개 변수 바인딩 예외가있는 파이프가 손상됩니다.

이 특정 문제에 대한 답변을 드릴 수 없습니다., 정확히 파이프 라인이 내 파일을 실행하는 방법에 대한 설명을 찾고있어 정확히 무슨 일이 일어나는지 더 잘 이해할 수 있습니다.

답변

1

ILSpy을 사용하거나 클래스 뷰에 클래스를 열어 보았습니까? Microsoft가 특정 클래스를 구현하는 방법을 확인하기 위해 항상이 작업을 수행합니다. 여기에 코드를 붙여 넣겠습니다. 짧은 대답 이었지만 System.Management.Automation.Runspaces 또는 Microsoft.Powershell 네임 스페이스에는 많은 부분이 있습니다. 직접 살펴보고 Microsoft가 Powershell 스크립트를 어떻게 구현하는지 정확하게 볼 수 있습니다.

희망이 도움이됩니다.

+0

감사 아담,이 갈 듯했으나이 파일이 실행됩니다 방법에 대한 추가 정보를 제공하지 않았다. 대부분의 메소드는 다음 줄을 따라 있습니다. 'public Collection Invoke() { using (Pipeline._trace.TraceMethod()) return this.Invoke ((IEnumerable) null); } 공개 추상 컬렉션 Invoke (IEnumerable 입력);' – harrietgrace

1

그것은 실행 영역이 작동하는 방법에 대한 자세한 설명은 아니지만, 내가 메인 비트를 포함하는 written a blog post했습니다. 또한

one of the msdn pages on how powershell works에서 미리보기 :

PowerShell을 런타임이 실행 영역으로 호출과 의지, 기본적으로 프로세스가 동 기적으로 명령하고 그들이 할 수 있도록 호스트 응용 프로그램에 처리 의 결과를 제공 사용자에게 반환됩니다.

관련 문제