Лучший отвечающий
активация фичи

Вопрос
-
привет!
если я в одном скрипте script.ps1 пишу, допустим, установку , развёртывание обработчика
Uninstall-SPSolution -Identity EventReceiverSUP.wsp -local -Confirm:$false
Remove-SPSolution -Identity EventReceiverSUP.wsp -Confirm:$false
Add-SPSolution -LiteralPath D:Pack10.0v\EventReceiverSUP.wsp
Install-SPSolution -Identity EventReceiverSUP.wsp -GACDeployment
Enable-SPFeature EventReceiverSUP_Feature1 -Url http://localhost/Deps/sup, то на активацию фичи получаю такое :
Enable-SPFeature : Эта возможность не является возможностью уровня фермы и не найдена на уровне сайта, определяемого UR
L-адресом http://localhost/Deps/sup.
D:\Pack10.0v\script.ps1:49 знак:17
+ Enable-SPFeature <<<< EventReceiverSUP_Feature1 -Url http://localhost/Deps/sup
+ CategoryInfo : InvalidDat a: (Microsoft.Share...etEnableFeature:SPCmdletEnableFeature) [Enable-SPFeature
], SPCmdletException
+ FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletEnableFeature а когда, потом , просто ввожу в powershell команду
Enable-SPFeature EventReceiverSUP_Feature1 -Url http://localhost/Deps/sup
у меня активация проходит успешно .
почему такое происходит? подскажите пожалуйста.9 июня 2012 г. 12:41
Ответы
-
Потому что развертывание пакета на ферме(Install-SPSolution) занимает время, как и удаление (Remove-SPSolution).
Ниже код с функцией, ожидающей завершения удаления/развертывания решения
function WaitForJobToFinish([string]$SolutionFileName) { $JobName = "*solution-deployment*$SolutionFileName*" $job = Get-SPTimerJob | ?{ $_.Name -like $JobName } if ($job -eq $null) { Write-Host 'Timer job not found' } else { $JobFullName = $job.Name Write-Host -NoNewLine "Waiting to finish job $JobFullName" while ((Get-SPTimerJob $JobFullName) -ne $null) { Write-Host -NoNewLine . Start-Sleep -Seconds 1 } Write-Host "Finished" } } $sol = "EventReceiverSUP.wsp" Uninstall-SPSolution -Identity $sol -local -Confirm:$false WaitForJobToFinish($sol) Remove-SPSolution -Identity EventReceiverSUP.wsp -Confirm:$false Add-SPSolution -LiteralPath D:Pack10.0v\EventReceiverSUP.wsp Install-SPSolution -Identity $sol -GACDeployment WaitForJobToFinish($sol) Enable-SPFeature EventReceiverSUP_Feature1 -Url http://localhost/Deps/sup
SharePoint MCPD, MCITP. Высказанное мною здесь - мои личные взгляды, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
- Предложено в качестве ответа HeToC 9 июня 2012 г. 16:05
- Помечено в качестве ответа Roman Zhukov 18 июня 2012 г. 14:00
9 июня 2012 г. 15:04Модератор -
Нашел более элегантное решение от gandjustas.
SharePoint MCPD, MCITP. Высказанное мною здесь - мои личные взгляды, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
- Изменено IAfanasovModerator 10 июня 2012 г. 9:01
- Помечено в качестве ответа Roman Zhukov 18 июня 2012 г. 14:00
10 июня 2012 г. 9:01Модератор
Все ответы
-
Потому что развертывание пакета на ферме(Install-SPSolution) занимает время, как и удаление (Remove-SPSolution).
Ниже код с функцией, ожидающей завершения удаления/развертывания решения
function WaitForJobToFinish([string]$SolutionFileName) { $JobName = "*solution-deployment*$SolutionFileName*" $job = Get-SPTimerJob | ?{ $_.Name -like $JobName } if ($job -eq $null) { Write-Host 'Timer job not found' } else { $JobFullName = $job.Name Write-Host -NoNewLine "Waiting to finish job $JobFullName" while ((Get-SPTimerJob $JobFullName) -ne $null) { Write-Host -NoNewLine . Start-Sleep -Seconds 1 } Write-Host "Finished" } } $sol = "EventReceiverSUP.wsp" Uninstall-SPSolution -Identity $sol -local -Confirm:$false WaitForJobToFinish($sol) Remove-SPSolution -Identity EventReceiverSUP.wsp -Confirm:$false Add-SPSolution -LiteralPath D:Pack10.0v\EventReceiverSUP.wsp Install-SPSolution -Identity $sol -GACDeployment WaitForJobToFinish($sol) Enable-SPFeature EventReceiverSUP_Feature1 -Url http://localhost/Deps/sup
SharePoint MCPD, MCITP. Высказанное мною здесь - мои личные взгляды, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
- Предложено в качестве ответа HeToC 9 июня 2012 г. 16:05
- Помечено в качестве ответа Roman Zhukov 18 июня 2012 г. 14:00
9 июня 2012 г. 15:04Модератор -
Нашел более элегантное решение от gandjustas.
SharePoint MCPD, MCITP. Высказанное мною здесь - мои личные взгляды, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
- Изменено IAfanasovModerator 10 июня 2012 г. 9:01
- Помечено в качестве ответа Roman Zhukov 18 июня 2012 г. 14:00
10 июня 2012 г. 9:01Модератор