Visual Studio 2010 공식 팀 블로그 @vsts2010

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 를 통해 살펴보시고 액세스하시면 될 것 같습니다.


크리에이티브 커먼즈 라이선스
Creative Commons License

댓글을 달아 주세요

  1. 대부분의 스폰서는 저장하고 입찰자의 신원을 구축하기 위해 로고를 사용하는 것을 선호합니다.

  2. 새로운 컴퓨터 기반 사회는 크기가 문자 정보, 멀티미디어 소프트웨어의 생산 보존하고 국내 및 국제 유산을 개발니다.