문제

SP2010 서버의 솔루션을 활성화하고 솔루션을 활성화하고 마지막으로 활성화 기능을 활성화하기위한 PowerShell 스크립트를 작성하고 있습니다.솔루션을 추가하고 솔루션을 배포하는 데 문제가 없습니다.문제가있는 경우 INALLE-SPFEATURE 명령을 사용하여 기능을 사용하도록 설정하려고하면 서버에서 기능이 없지만 기능이 있습니다.배포가 아직 그 방식으로되어있는 동안 너무 빨리 시도 할 수 있다는 것을 의심합니다.배포가 완료되었는지 확인하는 방법이 있습니까? 아니면 일부 서비스 또는 무언가를 다시 시작해야합니다.

제안 를 제안하십시오

도움이 되었습니까?

해결책

겪고있는 것은 가장 가능성이 가장 높습니다.

PowerShell은 SPWEB 및 SPSITE와 같은 인스턴스화 된 객체를 캐싱하는 데 날카롭게 켜져 있으므로 하나의 큰 덩어리로 모든 것을 실행하면 예를 들어 추가 기능이 표시되지 않을 것입니다.

간단한 테스트 방법이 문제가 발생하면 두 개로 스크립트를 분할하십시오. 먼저 하나의 스크립트를 실행하고 쉘을 닫고 다른 것을 열고 해당 실행하십시오.

문제가없는 경우, 이것은 캐싱 문제입니다!

폴더를 기반으로 새 프로세스 (시작 프로세스 "powershell.exe"...)를 산업 분할하여 이것을 해결했습니다.

010 Solutions
    10 Solution
    20 Features
020 Etc etc
.

각 새 폴더는 새로운 PowerShell 인스턴스로 해석됩니다.

이것은 잘 작동하므로 비슷한 접근법을 권장합니다.간단한 접근 방식은 기능 프로비저닝을 실행하는 새로운 프로세스를 단순히 생성하는 것입니다.

$command = "your commands goes here"
$bytes = [System.Text.Encoding]::Unicode.GetBytes($command)
$encodedCommand = [Convert]::ToBase64String($bytes)
# encoded to avoid encoding and escaping issues
# STA ensures you are running single threaded, important as most SharePoint objects isnt multi threaded
Start-Process powershell.exe -NoLogo -encodedCommand $encodedCommand -STA
.

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