SharePoint

SharePoint를 위한 강력한 명령줄 관리

Todd Klindt

 

한 눈에 보기:

  • STSADM으로 SharePoint 구성
  • 일상적인 관리 업무 스크립팅
  • 고급 STSADM 작업

Windows나 Microsoft Office를 사용하는 방식을 생각해 보십시오. 어떤 사람들은 마우스를 사용해서 포인터로 메뉴와 도구 모음을 탐색하면서 일반적인 작업을 수행하는 것을 매우 좋아하지만 키보드를 사용하여

빠르게 단축키를 입력하거나 바로 가기를 실행하는 것을 좋아하는 사람들도 있습니다. 작업을 수행하는 방법은 한 가지가 아닌 경우가 대부분입니다.

사실 그래픽 인터페이스가 사용하기 쉽기는 하지만 같은 과정을 반복해야 하는 성가신 부분도 있습니다. 실제로 어떤 작업은 키보드를 사용하는 것이 더 쉽습니다. SharePoint® 관리 작업을 수행할 때도 그래픽 인터페이스 때문에 작업이 지체되는 일을 많이 경험하실 것입니다. 그렇지만 SharePoint에는 작업을 수행하는 보다 강력한 방법이 있습니다.

Windows® SharePoint Services(WSS)와 Microsoft® Office SharePoint Server 2007(MOSS)을 관리하는 기본적인 인터페이스는 GUI 기반의 SharePoint 중앙 관리입니다. 하지만 SharePoint에는 더욱 강력한 관리를 위한 명령줄 도구인 STSADM.exe도 포함되어 있습니다. STSADM.exe는 SharePoint 중앙 관리의 모든 기능을 제공할 뿐만 아니라 많은 관리자가 바라는 융통성 있는 명령줄 기능도 제공합니다. 이 문서에서는 STSADM을 사용하여 WSS 및 MOSS를 관리하는 방법을 집중적으로 소개합니다. 또한 환경 구성 방법에 대한 몇 가지 팁을 제공하고 몇 가지 일반적인 STSADM 명령에 대해 설명합니다. 덧붙여 적절한 때에 사용한다면 회사에서 영웅이 될 수 있을 만한 고급 STSADM 명령 몇 가지도 소개하려고 합니다.

시작

지금까지 STSADM을 본 적이 없다면 그것은 STSADM이 찾기 어려운 곳에 숨어 있기 때문입니다. Windows SharePoint Services 2.0에서 STSADM은 기본적으로 c:\program files\common files\microsoft shared\web server extensions\60\bin에 있습니다. 버전 3.0에서의 기본 위치는 c:\program files\common files\microsoft shared\web server extensions\12\bin입니다.

필자는 이 도구에 쉽게 액세스하기 위해 두 가지 방법을 사용합니다. 첫 번째 방법은 이 디렉터리를 PATH 환경 변수에 추가하는 것입니다. 이렇게 하면 파일 시스템 어디에서라도 STSADM을 사용할 수 있습니다. 하지만 항상 이 방법을 사용하기는 어렵습니다. 두 번째 방법은 CMD.EXE에 대한 바로 가기를 만들고 초기 디렉터리로 STSADM의 위치를 설정하는 것입니다. STSADM을 직접 가리키는 바로 가기를 만들지 않는 이유는 무엇일까요? STSADM은 대화식 도구가 아니기 때문이 직접 바로 가기를 만들면 작동하지 않습니다. 따라서 STSADM을 직접 가리키는 바로 가기를 만들면 STSADM의 간단한 사용법이 표시되었다가 즉시 사라집니다.

STSADM을 실행하려면 웹 서버에서 로컬 Administrators 그룹의 구성원이어야 하며 응용 프로그램을 로컬에서 실행해야 합니다. 이는 STSADM을 사용하여 SharePoint 서버를 원격으로 관리할 수 없다는 것을 의미합니다.

STSADM으로 수행할 수 있는 작업을 보려면 명령 프롬프트에서 stsadm.exe -help를 입력하십시오. SharePoint 업데이트와 핫픽스를 적용한 후에는 새로운 명령이 추가될 수 있으므로 항상 이 목록을 확인해야 합니다. go.microsoft.com/fwlink/?LinkId=77516에서 stsadm.exe의 요약 안내서(영문)를 참조할 수도 있습니다.

STSADM 기본

먼저 SharePoint 설치 환경을 조정하는 데 사용할 수 있는 몇 가지 명령을 살펴보겠습니다. STSADM을 사용하면 SharePoint에 기능을 추가하고 구성 설정을 수정할 수 있습니다.

STSADM을 사용할 때는 -o 매개 변수 다음에 수행할 명령을 입력해야 합니다. STSADM -operationname만 입력하면 작동하지 않습니다. 예를 들어 설치 환경에 사이트 템플릿을 추가하려면 다음 명령을 사용합니다.

Stsadm -o addtemplate -filename <filename of the template> 
-title <title of template> -description <description of template>

웹 파트 패키지를 추가하려는 경우에는 다음 명령을 사용할 수 있습니다.

Stsadm -o addwppack -filename <filename of the Web Part Package>

특정 명령의 자세한 사용 방법을 보려면 매개 변수 없이 명령을 입력하십시오. 그러면 입력해야 하는 내용이 표시됩니다. STSADM -help operationname은 해당 명령의 사용 방법에 대한 정보를 표시합니다.

템플릿을 관리할 경우 enumtemplates 명령을 사용하면 추가된 템플릿을 확인할 수 있으며 deletetemplate 명령을 사용하면 설치된 템플릿을 제거할 수 있습니다. 유사한 형태로 웹 파트 패키지에 사용할 수 있는 명령도 있습니다. enumwppacks 명령을 사용하여 각 가상 서버나 웹 응용 프로그램에 설치된 웹 파트 패키지를 나열할 수 있으며 deletewppack 명령을 사용하면 추가된 웹 파트를 제거할 수 있습니다.

STSADM에서 SharePoint 설정을 처리하는 두 가지 명령은 setproperty와 getproperty입니다. 이러한 명령을 매개 변수 없이 실행하면 해당 명령으로 표시하거나 조작할 수 있는 속성 목록이 표시됩니다. STSADM 자체와 마찬가지로 이 목록도 업데이트와 핫픽스로 변경됩니다. 이러한 속성 중에는 다른 속성보다 자주 사용되는 속성이 있습니다. 그림 1에는 SharePoint 관리자가 자주 문의하는 가장 일반적인 속성을 비롯한, SharePoint를 설치한 후에 설정할 수 있는 몇 가지 속성이 나열되어 있습니다.

Figure 1 유용한 SharePoint 속성 설정

속성 기능
Alerts-enabled 가상 서버나 웹 응용 프로그램의 알림을 설정하거나 해제합니다.
Alerts-limited 가상 서버나 웹 응용 프로그램에서 사용자가 설정할 수 있는 알림 수를 제한할 것인지 여부를 지정합니다.
Alerts-maximum 알림 제한을 설정한 경우 사용자가 설정할 수 있는 최대 알림 수입니다.
Days-to-show-new-icon 웹 사이트에 추가된 항목(예: 알림 게시물) 옆에 "새 항목" 아이콘을 표시하는 기간을 설정합니다.
Job-immediate-alerts 전송할 알림을 SharePoint에서 검색하는 간격을 지정합니다. SharePoint 2.0의 기본값은 5분입니다. 여기에서 간격을 조정할 수 있습니다. 시간을 줄이면 웹 및 데이터베이스 서버의 부하가 증가하므로 이 속성을 변경할 때는 주의해야 합니다.
Job-daily-alerts 매일 알림을 보내는 시간을 지정합니다. SharePoint 2.0 기본값은 "22:00에서 06:00 사이"입니다. 서버와 다른 표준 시간대에 있는 사용자가 있다면 이 속성을 수정할 수 있습니다.
Job-weekly-alerts 여기에는 주간 알림의 예약 패턴이 표시됩니다.

이러한 속성 중 하나를 간략하게 살펴보겠습니다. 다음 명령은 SharePoint에서 10분마다 경고를 보내도록 설정합니다.

Stsadm -o setproperty -pn job-immediate-alerts -pv "Every 10 minutes"

-propertyname 및 -propertyvalue 대신 -pn 및 -pv를 사용했다는 것에 주의하십시오. 전체 단어를 입력하기 싫을 때 사용할 수 있는 바로 가기가 있습니다. 이 단원에서 설명하는 모든 예제와 명령은 Windows SharePoint Services 버전 2.0과 3.0 모두에서 작동한다는 것도 참고하십시오.

일상적인 관리

일상적인 SharePoint 관리는 매우 쉽습니다. 대부분의 SharePoint 관리자가 매일 수행하는 대부분의 업무는 사용자와 사이트 관련 업무로 구성되어 있습니다. STSADM에는 이러한 업무를 원활하게 처리할 수 있는 몇 가지 명령이 있습니다.

먼저 사이트 및 웹 작업부터 설명하겠습니다. 일관성을 위해 사이트 모음은 "사이트"라고 부르고 하위 사이트(하위 웹)는 "웹"이라고 부르겠습니다. 이해하기 어려운 용어도 있지만 STSADM에서 사용하는 용어를 따르면 필요한 명령을 더 쉽게 찾을 수 있습니다.

대규모 SharePoint 설치 환경의 경우 사용자를 위한 새로운 사이트를 구축하는 데 많은 시간이 들 것입니다. 필자도 이 작업을 반복적으로 수행했습니다. SharePoint 중앙 관리를 사용하여 새 사이트를 매우 쉽게 만들 수 있지만 이 작업을 자주 수행해 본 결과 STSADM을 사용하여 작업을 수행하는 것이 더 빠르다는 것을 알게 되었습니다.

필자는 createsite 명령을 사용합니다. 이 명령은 매우 단순하며 다음과 같은 매개 변수가 사용됩니다.

  • url <url>
  • ownerlogin <DOMAIN\name>
  • owneremail <someone@example.com>
  • ownername <display name>
  • lcid <language>
  • sitetemplate <site template>
  • title <site title>
  • description <site description>
  • quota <quota template>

명령 프롬프트에서 stsadm -help createsite를 입력하면 이러한 매개 변수 설명을 볼 수 있습니다(그림 2 참조). 이 9개 매개 변수 중에 필수 필드는 URL, ownerlogin 및 owneremail입니다.

그림 2 Createsite 매개 변수

그림 2** Createsite 매개 변수 **(더 크게 보려면 이미지를 클릭하십시오.)

일정한 규칙에 따라 만드는 사이트가 있는 경우 다음 단계에 따라 STSADM으로 작업을 자동화하는 래퍼 스크립트를 작성하여 프로세스를 효율적으로 처리할 수 있습니다. 예를 들어 개인 사이트 생성을 자동화하려면 다음 명령을 createpersonalsite.cmd라는 텍스트 파일로 저장합니다.

stsadm -o createsite -url https://localhost/users/%1 -ownerlogin contoso\%1 
-owneremail %1@contoso.com -sitetemplate usersite.stp 
-title "Personal site for %1" -description "Personal site for %1" -quota "500 MB"

그런 다음 jsmith라는 사용자의 사이트를 만들려면 다음 명령을 실행하면 됩니다.

createpersonalsite.cmd jsmith

사이트를 만드는 과정을 스크립트로 처리하면 입력해야 하는 정보의 양이 줄어들 뿐 아니라 새로 만드는 모든 사이트에서 일관성을 유지할 수 있습니다. createweb 명령은 웹 수준에서도 동일한 기능을 제공합니다.

Windows SharePoint Services 2.0에서 특정 가상 서버에 있는 사이트 모음의 모든 목록을 쉽게 가져올 수 있는 유일한 방법은 STSADM을 사용하는 것뿐입니다. enumsites 명령은 특정 가상 서버나 웹 응용 프로그램에 있는 모든 사이트 모음을 XML 형식으로 나열합니다. 이 명령과 데이터 뷰 웹 파트를 결합하면 사이트 모음 목록을 쉽게 볼 수 있습니다. 자세한 내용은 추가 기사의 "Working with a Data View Web Part"(영문)를 참조하십시오.

STSADM에는 deletesite 명령이 있습니다. 이름에서 알 수 있는 것처럼 이 명령은 사이트를 제거합니다. 이 명령을 사용할 때는 URL만 제공하면 되지만 -deleteadaccounts를 전달하여 Active Directory®에서 계정을 삭제할 수도 있습니다. 웹 작업 시에는 deleteweb 명령을 사용할 수 있습니다.

사이트 또는 웹의 사용자를 추가, 삭제 및 열거할 수 있습니다. 이와 관련된 명령은 adduser, deleteuser 및 enumusers입니다. 사이트에 많은 사용자를 추가해야 하거나 감사 용도로 사이트에 액세스할 수 있는 사용자 목록을 유지 관리해야 할 경우 이러한 명령을 유용하게 사용할 수 있습니다.

웹에서 작업할 때는 웹 이름 및 URL을 변경할 수 있는 renameweb이라는 명령을 사용할 수 있습니다. 예를 들어 웹 이름을 "oldname"에서 "coolnewname"으로 변경하려면 다음 명령을 사용합니다.

Stsadm -o renameweb -url https://localhost/oldname -newname coolnewname

프로젝트 이름이 변경되거나 부서가 조정되는 상황이라면 이 명령이 큰 도움이 될 것입니다. Windows SharePoint Services 2.0에서는 유일한 해결 방법이 SMIGRATE.exe를 사용하여 웹을 마이그레이션하는 것이었으므로 구성원 자격이나 경고 같은 사용자 관련 설정이 유지되지 않았기 때문에 이 같은 상황이 큰 문제가 되었지만, Windows SharePoint Services 3.0에서는 STSADM으로 웹과 사이트를 백업하고 복원할 수 있으므로 그다지 큰 문제가 아닙니다.

백업 및 복원

STSADM의 가장 유용한 기능 중 하나는 사이트와 웹을 백업하고 복원하는 기능입니다. 중소 규모의 설치에서는 이 기능을 장애 복구 계획의 초석으로 사용할 수 있습니다. backup 명령은 설명이 필요 없이 명확하므로 매우 사용하기 쉽습니다. 다음과 같이 STSADM에 백업할 사이트와 백업 파일을 기록할 위치를 지정하기만 하면 됩니다.

Stsadm -o backup -url https://localhost -filename site.bak

이 명령은 전체 사이트 모음을 site.bak 파일에 덤프합니다. 여기에는 웹, 문서 버전, 목록 및 사용자 같은 모든 사이트 콘텐츠가 포함되지만 사이트 정의나 서버의 파일 시스템 수준에서 변경한 내용은 백업에 포함되지 않습니다.

backup 명령은 매우 중요하므로 몇 가지 사항에 주의해야 합니다. 먼저, 사이트가 비교적 큰 경우 백업 작업 중에 콘텐츠 데이터베이스에 잠금이 설정될 수 있습니다. 그러면 backup 명령이 완료될 때까지 사용자들은 해당 데이터베이스에 있는 모든 사이트에 액세스할 수 없게 됩니다. 이 문제는 서비스 팩으로 완화되었지만 사이트가 커지면 여전히 주의해야 합니다. 또한 STSADM은 백업 및 복원을 수행할 때 서버의 임시 디렉터리를 사용하므로 드라이브 공간도 모니터링해야 합니다.

데이터 뷰 웹 파트 사용

enumsites 명령과 데이터 뷰 웹 파트를 결합하면 간편하게 사이트 모음 목록을 만들고 확인할 수 있습니다. 이제부터 그 방법을 살펴보겠습니다.

먼저 다음을 실행하는 예약 작업을 만듭니다.

stsadm –o enumsites –url https://localhost
>c:\inetpub\wwwroot\excludedsite\sites.xml 

XML 파일이 IIS로 게시되었으며 SharePoint로 관리되지 않는 디렉터리에 작성되는지 확인하십시오. 그런 다음 Microsoft FrontPage®(또는 FrontPage 후속 버전인 Microsoft Office SharePoint Designer 2007)를 사용하여 웹 파트 페이지에 데이터 뷰 웹 파트를 추가하고 XML 파일의 URL을 가리키도록 설정합니다.

데이터 뷰 웹 파트는 정렬, 필터 및 그룹화 기능을 제공합니다. 또한 URL 필드가 해당 사이트로 직접 연결되게 설정할 수 있습니다. 웹 목록을 처리하려는 경우에는 enumsubwebs 명령을 사용하여 사이트 모음이나 웹의 하위 웹을 XML로 출력할 수 있습니다.

마지막으로, STSADM 백업이 중소 규모 사이트에는 잘 작동하지만 확장성이 그다지 뛰어나지 않아 수 기가바이트 이상의 대규모 사이트에서는 백업 및 복원 프로세스가 상당히 느려질 수 있다는 점에 주의하십시오.

사이트 복원도 매우 간단합니다. STSADM -o restore는 STSADM -o backup으로 작성된 파일을 가져와 SharePoint의 사이트로 복원합니다. 이 명령은 융통성이 많습니다. 사이트를 원래 위치에 복원하거나(사이트를 실수로 삭제한 경우), 동일한 가상 서버의 다른 사이트로 복원하거나(데이터 손상 위험 없이 사이트에서 프로세스를 테스트하려는 경우), 사이트를 전혀 다른 서버나 가상 서버에 복원할 수 있습니다.

다른 사이트나 서버에 복원하면 개별 문서를 복구하는 작업이 좀 더 손쉬울 수 있습니다. 사이트를 백업했고 문서를 복원하는 경우 전체 사이트를 복원할 필요는 없습니다. 그렇게 하면 백업을 저장한 후에 사이트에서 변경한 모든 내용이 사라집니다. 그렇게 하는 것보다 사이트를 다른 URL로 복원하고 문서를 찾은 후 해당 문서만 원래 사이트에 복원하는 것이 현명합니다.

Windows SharePoint Services 2.0의 STSADM에는 사이트만 백업할 수 있고 웹은 백업할 수 없다는 상당히 심각한 제한이 있습니다. 많은 관리자가 불만을 제기했고 Microsoft가 이를 받아들여 Windows SharePoint Services 3.0에서는 backup 및 restore 명령에서 웹을 처리할 수 있게 되었습니다. 또한 import와 export 명령이 새롭게 추가되었습니다.

웹을 내보내려면 다음과 같은 간단한 명령을 사용합니다.

Stsadm -o export -url https://localhost/web -filename backup.dat

export에는 편리한 옵션이 있습니다. 그 중 하나인 -versions 스위치를 사용하면 백업할 파일 버전을 제한하여 백업 파일의 크기를 제어할 수 있습니다.

웹을 다시 서버로 가져오려면 다음과 같은 명령을 사용합니다.

Stsadm -o import -url https://localhost/web2 -filename backup.dat

사이트가 큰 경우에는 백업 파일이 여러 개로 분할되어 있을 수 있습니다. 이 경우에는 STSADM -o import로 첫 번째 파일을 가리키면 후속 파일이 자동으로 검색됩니다.

전문가 명령

이제 STSADM이 편안하게 느껴지실 것입니다. 계속해서 어려움을 해결할 수 있는 몇 가지 명령을 알려 드리겠습니다. 먼저 새로 추가된 migrateuser 명령입니다. 버전 2.0에는 Active Directory 동기화 기능이 없기 때문에 계정 이름이 바뀌면 해당 계정으로 SharePoint에 로그인할 수 없게 됩니다. 또한, 한 도메인 사용자에서 다른 도메인 사용자로 사용자 액세스 권한을 마이그레이션하는 방법도 없었습니다. 따라서 Windows SharePoint Services 2.0 서비스 팩 2(SP2) 이전에는 각각의 웹에서 사용자를 제거하고 새 계정을 수동으로 추가해야 했습니다.

그러나 SP2에는 새로운 API가 도입되었고 STSADM은 해당 API를 이용합니다. 예를 들어 jsmith 계정의 이름이 jjones로 바뀐 경우 다음 명령을 사용할 수 있습니다.

Stsadm -o migrateuser -oldlogin domain\jsmith -newlogin domain\jjones -ignoresidhistory

실제로 계정을 마이그레이션하는 것이 아니므로 Windows 보안 ID(SID) 기록은 무시할 수 있습니다. 이 명령에는 URL이 필요 없으며, 사이트 또는 웹에 관계없이 콘텐츠 데이터베이스 전체를 변경합니다.

문제를 해결하는 또 다른 명령은 unextendvs입니다. SharePoint로 가상 서버나 웹 응용 프로그램을 렌더링하지 않는 경우 SharePoint 확장을 취소할 수 있습니다. 일반적으로 SharePoint Configuration Analyzer(구성 분석기)에서 이 작업을 수행합니다. 하지만 웹 팜의 경우에는 모든 서버에 동일한 수준으로 패치가 적용되어 있어야 SharePoint Configuration Analyzer(구성 분석기)를 사용할 수 있습니다. 팜의 다른 서버와 동기화되지 않은 서버가 있으면 SharePoint Configuration Analyzer(구성 분석기)에서 확장 취소 옵션을 사용할 수 없습니다. 하지만 STSADM을 사용하면 다음 명령으로 가상 서버의 확장을 취소할 수 있습니다.

Stsadm -o unextendvs -url https://localhost

서버가 웹 팜에 속하지 않게 되면 필요한 유지 관리 작업을 수행할 수 있습니다.

웹 팜의 관리를 쉽게 하기 위해 모든 서버의 SharePoint Configuration Analyzer(구성 분석기)를 동일한 포트로 설정할 수 있습니다. 포트는 SharePoint를 설치할 때 임의로 설정되지만 STSADM에는 포트를 지정한 포트로 변경하는 명령이 있습니다.

Stsadm -o setadminport -port 1026

이렇게 하면 모든 필수 데이터베이스가 변경되고 IIS가 변경되며 관리 도구에서 SharePoint Configuration Analyzer(구성 분석기) 바로 가기가 수정됩니다.

결론

Windows SharePoint Services는 강력한 솔루션이며 뛰어난 관리를 필요로 합니다. STSADM을 사용하면 SharePoint를 쉽게 관리할 수 있을 뿐 아니라 구성 작업과 일상적인 작업을 자동화할 수 있습니다. 실제로 STSADM을 사용해야만 수행할 수 있는 작업도 있습니다.

Todd Klindt는 UGS의 시스템 분석가로, 하루 종일 SharePoint로 작업하고 있으며 그것으로 월급도 받고 있습니다. 그는 Windows SharePoint Services MVP이며 탄생 별자리는 물병자리입니다.

© 2008 Microsoft Corporation 및 CMP Media, LLC. All rights reserved. 이 문서의 전부 또는 일부를 무단으로 복제하는 행위는 금지됩니다..