2012-07-19 5 views
1

저는 멀티 테넌트 SharePoint 프로비저닝 어플리케이션을 작업 중이며 대부분의 프로비저닝을 위해 Powershell을 사용할 계획입니다. 원격 Powershell을 사용하여 SharePoint가 설치되지 않은 서버에서 내 cmdlet을 호출하고 싶습니다. 그러나 SharePoint cmdlet을 실행하기 전에 SharePoint 스냅인을 Runspace에로드해야합니다. 불행히도, 나는 runspace 풀을 생성 할 때 연결 정보와 스냅인을 모두 제공하는 방법을 찾을 수 없습니다. Powershell Runspace 풀에서 원격 연결을 설정하고 스냅인을로드 할 수 있습니까?

Dim sessionState = InitialSessionState.Create("Microsoft.Sharepoint.Powershell") 
    Me._runspacePool = RunspaceFactory.CreateRunspacePool(sessionState) 

에서 스냅인과 관련

Dim connectionUrl = New Uri(String.Format("http://{0}/wsman/", remoteServer)) 
    Dim connectionInfo = New WSManConnectionInfo(connectionUrl) 

    Me._runspacePool = RunspaceFactory.CreateRunspacePool(10, 20, connectionInfo) 

실행 영역 풀에

실행 영역 풀은 사람이 할 수있는 방법을 알고 있나요?

답변

1

아래 지침을 따르면 서버에있는 것처럼 모든 SharePoint cmdlet을 실행할 수 있습니다.

http://blogs.msdn.com/b/opal/archive/2010/03/07/sharepoint-2010-with-windows-powershell-remoting-step-by-step.aspx

당신이 어떤 문제가 그 설정이 있으면 알려주세요 ... 나는 최근 자신을 수행하고 꽤 잘 작동해야했습니다.

+0

저는 실제로 연결을 만들고 오버 스페이스 풀을 사용하여 스냅인을로드하는 오버 헤드를 제거하려고합니다. 새 cmdlet을 실행할 때 원격 서버에 이미 연결되어 있고 미리로드 된 스냅인이있는 runspace를 사용하여 cmdlet을 수행하려고합니다. 이것은 대개 일반적인 스크립팅 시나리오에서는 일반적으로 문제가되지 않지만 가능한 한 빨리 수행해야합니다. 그럴 수 없다면 연결 정보로 runspace 풀을 만들고 모든 요청에 ​​대해 add-pssnapin cmdlet을 실행해야 할 수도 있습니다. –

+0

나는 당신의 제안 된 솔루션으로 끝나고 모든 것이 훌륭하게 작동합니다. 다시 한 번 감사드립니다. –

관련 문제