SharePoint 2010 PowerShell- 개발자

SharePoint 2010 2011.10.04 08:30 Posted by 정홍주

SharePoint 2010 PowerShell- 개발자

제 생각에는 SharePoint 2010 관리 셀이라고 관리자만 사용한다고 생각하시면 안될 것 같습니다.

아래의 SharePoint 2010 관리 셀 명령 프롬프트를 이용해서 개발자에게도 상당한 이점을 제공해주는 것 들 중 일부만 정리해보겠습니다.

추가로 필요한 설명이나 예제를 보고 싶다면 위의 그림처럼 Get-Help 를 사용하시면 됩니다. 예제를 보고 싶다면 –examples 를 추가하시면 됩니다.

자 그럼 첫 번째 내용입니다.

l 개발자 대시보드

$svc=[Microsoft.SharePoint.Administration.SPWebService]::ContentService

$ddsetting=$svc.DeveloperDashboardSettings

$ddsetting.DisplayLevel=[Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::OnDemand

$ddsetting.Update()

$svc=[Microsoft.SharePoint.Administration.SPWebService]::ContentService

$ddsetting=$svc.DeveloperDashboardSettings

$ddsetting.DisplayLevel=[Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::Off

$ddsetting.Update()

개발자 대시보드를 활성화하면 상당히 유용한 정보를 손쉽게 얻을 수 있으며 병목 탐지가 원활해지게 됩니다. SQL 구문까지도 알 수 있습니다. 개발자 대시보드의 모드는 ON, OnDemand, Off 3가지가 있습니다. 저희가 평상시 보는 모드가 Off 이며 On 시키면 모든 사이트에서 On 됩니다. 특정사이트만 On 시킬 수는 없습니다.

위의 명령어를 여러 줄 복사해서 관리 셀에서 붙여 넣기 하면 됩니다.

l 사이트 생성

필요에 따라 동적으로 여러 사이트를 구성해야 할 필요가 있을 수 있습니다. 그리고 해당 사이트 모음은 해당 데이터베이스로 지정되게 해야 할 경우 아래 구문으로 실행할 수 있습니다.

New-SPContentDatabase -Name WSS_Content_Intranet_Sales -WebApplication http://sp.webtime.co.kr

$spsite = New-SPSite -Url "http://sp.webtime.co.kr/sites/Sales" -ContentDatabase WSS_Content_Intranet_Sales -OwnerAlias CONTOSO\hongju -Template "STS#0“

New-SPContentDatabase 를 통해 Content 데이터베이스를 생성하고 New-SPSite 를 통해 사이트 모음을 만들면서 생성한 데이터베이스와 연결하고 있습니다. 중앙관리에서는 할 수 없는 상황이죠.

l 목록 데이터 액세스

필요에 따라 테스트 데이터를 생성해야 할 경우 개체 모델을 통해서 하는 것보다 PowerShell이 더 편할 수 있습니다. 개발자 환경에서 테스트하고 통합 개발 서버에 데이터를 생성해서 테스트 할 수 있습니다. 목록에 기본 데이터를 생성할 경우에도 사용할 수 있습니다.

$site = Get-SPSite "http://sp.webtime.co.kr/sites/Sales"

$web = $site.rootweb

$list = $web.Lists["공지 사항"]

$i = 1

do {

#add item

$newitem = $list.items.Add()

$newitem["Title"] = "Title -" + $i.ToString().PadLeft(4, "0");

$newitem["Body"] = "Body-" + $i.ToString().PadLeft(4, "0");

$newitem.Update()

$i++

}

while ($i -le 100)

$web.dispose()

$site.dispose()

l WSP 배포

필요에 따라 WSP를 중앙 관리를 열어서 배포하지 않고 PowerShell로 배포할 수 있습니다.

Add-SPSolution D:\SP10_DEV\VisualProduct.wsp

Install-SPSolution -Identity VisualProduct.wsp –GACDeployment -Force –AllWebApplications

Uninstall-SPSolution -Identity VisualProduct.wsp -AllWebApplications

Remove-SPSolution -Identity VisualProduct.wsp

위에서 일부 내용을 살펴보았는데 정말 많이 있습니다. 다 확인할 수는 없는 상황이고 필요하다면 Get-Help 를 통해 살펴보시고 액세스하시면 될 것 같습니다.


신고