저는 멀티 테넌트 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)
실행 영역 풀에
실행 영역 풀은 사람이 할 수있는 방법을 알고 있나요?
저는 실제로 연결을 만들고 오버 스페이스 풀을 사용하여 스냅인을로드하는 오버 헤드를 제거하려고합니다. 새 cmdlet을 실행할 때 원격 서버에 이미 연결되어 있고 미리로드 된 스냅인이있는 runspace를 사용하여 cmdlet을 수행하려고합니다. 이것은 대개 일반적인 스크립팅 시나리오에서는 일반적으로 문제가되지 않지만 가능한 한 빨리 수행해야합니다. 그럴 수 없다면 연결 정보로 runspace 풀을 만들고 모든 요청에 대해 add-pssnapin cmdlet을 실행해야 할 수도 있습니다. –
나는 당신의 제안 된 솔루션으로 끝나고 모든 것이 훌륭하게 작동합니다. 다시 한 번 감사드립니다. –