SharePoint

SharePoint の優れたコマンド ライン管理

Todd Klindt

 

概要:

  • STSADM を使用して SharePoint を構成する
  • 日常の管理タスクをスクリプト化する
  • 高度な STSADM 操作

ユーザーが Windows や Microsoft Office でどのように作業するか考えてみてください。マウスが好きで、ポインタでメニューやツールバーをナビゲートして一般的なタスクを実行するユーザーもいれば、キーボードが好きで、

慣れ親しんだキー入力やショートカットをすばやく実行するユーザーもいます。どのタスクでも、多くの場合、実行するための方法は複数存在します。

グラフィカル インターフェイスが使いやすいのは事実ですが、同じ作業を繰り返し実行する必要があるタスクでは、GUI を使うと手間がかかる場合があります。キーボードを使った方が簡単な作業もあります。SharePoint® 管理を実行する場合、グラフィカル インターフェイスを使った作業に行き詰まりを感じることがあると思います。しかし、SharePoint にはグラフィカル インタフェースよりも優れた方法が用意されています。

Windows® SharePoint Services (WSS) および Microsoft® Office SharePoint Server 2007 (MOSS) を管理する主要なインタフェースは、GUI ベースの SharePoint のサーバー管理です。しかし、SharePoint には、さらに強力な管理機能のためのコマンド ライン ツールもあります。STSADM.exe という名前のこのツールは、SharePoint のサーバー管理の全機能に加え、多くの管理者が望んでいるコマンド ラインの柔軟性も備えています。この記事では、STSADM を使用した WSS と MOSS の管理についての短期集中コースを提供します。また、環境の構成方法に関するいくつかのヒントと、一般的な STSADM コマンドについても一部説明します。高度な STSADM コマンドについても一部紹介します。これらの高度なコマンドを知っていれば、使用する必要が生じたときにヒーローになれるかもしれません。

はじめに

STSADM は隠れた存在であるため、STSADM をこれまで知らなかった方もいるかもしれません。STSADM は、Windows SharePoint Services 2.0 では既定で 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 にあります。

このツールに簡単にアクセスするためには、2 つの異なる方法を使用します1 つ目は、単に上記のディレクトリを、使用している PATH 環境変数に追加するという簡単な方法です。この方法を使用すると、ファイル システム内でいつでも STSADM を使用できます。ただし、これは常に使用できるとは限りません。2 つ目の方法は、CDM.EXE へのショートカットを作成し、STSADM の場所を初期のディレクトリとして設定する方法です。ショートカットが STSADM を直接ポイントするようにすることはできないのでしょうか。STSADM はインタラクティブではないため、その方法は機能しません。そのため、ショートカットが STSADM を直接ポイントするようにした場合、その使用法が表示されてもすぐに消えてしまいます。

STSADM を実行する場合は、Web サーバー上のローカル Administrators グループのメンバであることが必要です。また、アプリケーションをローカルで実行する必要もあります。つまり、STSADM を使用して、SharePoint サーバーをリモートで管理することはできません。

STSADM で実行できる操作を確認するには、コマンド プロンプトで「stsadm.exe -help」と入力します。新しい操作が追加されている可能性があるため、更新プログラムおよび修正プログラムを適用した後にこのリストを必ずチェックしてください。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>

または、Web パーツ パッケージを追加する場合は、次のコマンドを使用します。

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

操作の使用についての詳細は、操作を引数なしで単純に渡すと、入力の必要がある内容が示されます。「STSADM -help operationname」と入力した場合も、使用法についての情報が示されます。

テンプレートを管理する場合、追加されたテンプレートを参照するには enumtemplates 操作を使用します。インストールされているテンプレートを削除するには deletetemplate を使用します。同様に、Web パーツ パッケージを処理するためのコマンドもあります。各仮想サーバーまたは Web アプリケーションにインストールされている Web パーツ パッケージをリストするには enumwppacks 操作を使用できます。また、追加されている Web パーツ パッケージを deletewppack を使用して削除できます。

STSADM には、SharePoint 設定を処理する 2 つの操作、setproperty と getproperty もあります。パラメータを指定せずに実行すると、表示または操作できるプロパティのリストが示されます。STSADM そのものと同じように、このリストは更新プログラムおよび修正プログラムで変更されます。ただし、他のプロパティよりも有用なプロパティはごくわずかです。図 1 に、SharePoint をインストールした後に設定できるプロパティをいくつか示します。この中には、SharePoint 管理者からの質問が多い最も一般的なプロパティが含まれています。

Figure 1 有用な SharePoint プロパティの設定

プロパティ 機能
alerts-enabled 仮想サーバーまたは Web アプリケーションに対する警告のオン/オフを切り替えます。
alerts-limited ユーザーに対して、仮想サーバーまたは Web アプリケーションに特定の数の警告を設定するように制限するかどうかを指定します。
alerts-maximum 警告制限が設定されている場合、ユーザーが設定できる最大警告数を表します。
days-to-show-new-icon これは、通知ポストなど、Web サイトに追加された項目の横に "新規" アイコンが表示される長さを設定します。
job-immediate-alerts SharePoint が送信された即時警告を確認する頻度を指定します。SharePoint 2.0 の既定値は 5 分です。ここで間隔を調整できます。時間を短縮すると、Web サーバーやデータベース サーバーの負荷が増えるので、このプロパティを変更する場合は注意が必要です。
job-daily-alerts 日単位の警告が送信される時間を指定します。SharePoint 2.0 の既定では "22:00 ~ 06:00" です。ユーザーがサーバーと同じ時間帯にいない場合、このプロパティを調整できます。
job-weekly-alerts ここでパターンを確認できます。これは、週単位警告のスケジュールを設定します。

ここでは、1 つプロパティを取り上げてその使用法について簡単に説明します。次のコマンドを入力すると、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 には、これらのタスクを合理化できるいくつかの操作があります。

最初に、サイトと Web について説明します。一貫性を保つため、ここでは "サイト" はサイト コレクション、"Web" はサブサイト (サブ Web とも呼ばれます) の意味で使用します。わかりにくい用語もありますが、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、および ownermail だけです。

図 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 操作は、Web レベルでも同じ機能を提供します。

Windows SharePoint Services 2.0 では、特定の仮想サーバーのサイト コレクションに関する大量のリストを簡単に作成するには、STSADM を使用する以外にありません。enumsites を使用すると、特定の仮想サーバーまたは Web アプリケーションのサイト コレクションをすべて XML 形式でリストできます。これをデータ ビュー Web パーツと組み合わせると、サイト コレクションのリストを簡単に表示できます (詳細については、見出し一覧の「データ ビュー Web パーツの使用」を参照)。

STSADM には、deletesite 操作 という名前から想像できるとおり、サイトを削除するための操作があります。実行する必要があるのは、URL を指定することだけです。オプションで、-deleteadaccounts を渡して Active Directory® でアカウントを削除することもできます。Web で作業している場合は、deleteweb 操作を使用できます。

サイトまたは Web のユーザーを追加、削除、および列挙することもできます。関連する操作は、adduser、deleteuser、および enumusers です。これらの操作は、ユーザーをサイトにまとめて追加する必要がある場合や、監査目的でサイトへのアクセス権を持っているユーザーのリストを維持する必要がある場合に使用すると便利です。

Web で作業している場合は、renameweb 操作にアクセスして、Web の名前や URL を変更できます。たとえば、Web の名前を "oldname" から "coolnewname" に変更する場合は、次のコマンドを使用します。

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

この操作は、プロジェクト名を変更する場合やビジネス ユニットを再調整する場合に大いに役立ちます。Windows SharePoint Services 2.0 では、これは大きな問題です。Web の移行は SMIGRATE.exe だけでしか実行できず、SMIGRATE.exe ではメンバシップや警告などのユーザー関連の設定を維持できないからです。Windows SharePoint Services 3.0 では、STSADM で Web およびサイトのバックアップと復元を実行できるので、それほど大きな問題ではありません。

バックアップと復元

STSADM の最も有用な利用法の 1 つは、サイトおよび Web のバックアップと復元です。小規模または中規模インストールの場合、この機能は障害時復旧計画の基礎となります。backup 操作はそのままバックアップを意味し、使い方も簡単です。バックアップするサイトと、バックアップ ファイルの書き込み先を、次のように STSADM に指示するだけです。

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

この操作は、サイト コレクション全体を site.bak というファイルにダンプします。それには、Web、ドキュメント バージョン、リスト、ユーザーなどすべてのサイト コンテンツが含まれます。サーバーのファイル システム レベルで行われたサイト定義や変更はバックアップされません。

backup 操作が重要な場合は、いくつかの潜在的な問題に注意する必要があります。サイトが大きい場合、コンテンツ データベースがバックアップ プロセス中にロックされる可能性があります。ロックされた場合、backup 操作が完了するまで、そのデータベース内のすべてのサイトにユーザーがアクセスできなくなる場合があります。この問題は Service Pack で一部対処されていますが、サイトのサイズは大きくなるので、引き続き注意する必要があります。STSADM では、バックアップと復元操作の実行中にサーバーの temp ディレクトリも使用するため、ドライブの容量も監視してください。

データ ビュー Web パーツの使用

enumsites コマンドをデータ ビュー Web パーツと組み合わせると、サイト コレクションのリストを簡単に表示できます。ここでは、その方法について説明します。

最初に、実行するスケジュール済みタスクを次のように作成します。

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

XML ファイルが IIS によって公開されていても、SharePoint では管理されていないディレクトリに書き込まれていることを確認します。次に、Microsoft FrontPage® (または FrontPage の後継製品である Microsoft Office SharePoint Designer 2007) を使用して、データ ビュー Web パーツを Web パーツ ページに追加し、これを XML ファイルの URL にポイントします。

データ ビュー Web パーツには、並べ替え、フィルタ、グループ化などの機能があります。また、URL フィールドをリンクにしてサイトに直接移動することもできます。代わりに Web のリストを使用する場合は、enumsubwebs 操作で、サイト コレクションまたは Web 内のサブ Web の XML 出力を提供します。

最後に、STSADM のバックアップ機能は小規模または中規模のサイトでは適切に機能しますが、この機能は特に拡張されないことに注意してください。非常に大きいサイト (数 GB 以上) の場合、バックアップと復元のプロセスの速度は若干遅くなる可能性があります。

サイトの復元もバックアップと同様に非常に簡単です。STSADM -o restore は、STSADM -o backup で作成されたファイルを取得し、SharePoint でこのファイルをサイトに書き込みます。このコマンドは優れた柔軟性を備えています。サイトを元の場所に復元したり (サイトを誤って削除した場合など)、同じ仮想サーバー上の別のサイトとして復元したり (データが破壊されるリスクを負うことなくサイトのプロセスをテストする場合など)、サイトを全く異なるサーバーや仮想サーバーに復元することができます。

別のサイトまたはサーバーに復元する方法は、個々のドキュメントを復元するよりも若干簡単です。サイトがバックアップ済みで、ユーザーが復元されたドキュメントを必要としている場合は、サイト全体を復元する必要はありません。サイト全体を復元すると、バックアップが保存されているため、サイトに対するすべての変更が失われます。代わりに、サイトを別の URL に復元し、ドキュメントを取り出して、それらを元のサイトに保存することができます。

Windows SharePoint Services 2.0 では、STSADM に 1 つの非常に重要な制限があります。それは、バックアップ時に処理できるのはサイトのみで、Web は処理できないという制限です。この点について管理者から不満があがったため、マイクロソフトはその声に応えました。Windows SharePoint Services 3.0 では、backup および restore 操作で web を処理できるようになりました。また、import と export の 2 つの新しいコマンドも追加されています。

Web をエクスポートするには、次の簡単なコマンドを使用します。

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

export には、-versions スイッチを含む便利なオプションがあります。これにより、バックアップ ファイルの大きさを、バックアップするファイル バージョンを制限することで決定できます。

Web をサーバーにインポートして戻すには、次のコマンドを使用します。

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

サイトが大きい場合は、バックアップ ファイルが複数になる場合があります。この場合は、STSADM -o import を最初のファイルにポイントして、後続のファイルが自動的に取得されるようにします。

高度な操作

STSADM に慣れてきたところで、難しい状況に対応できる 1 組の操作を紹介します。1 つ目は、新しく追加された migrateuser という名前の操作です。バージョン 2.0 は、自身を Active Directory と同期しません。アカウントの名前が変更された場合、SharePoint にはログインできなくなります。以前は、1 人のドメイン ユーザーから別のドメイン ユーザーへ、ユーザーのアクセス権を移行することはできませんでした。Windows SharePoint Services 2.0 Service Pack 2 (SP2) 以前は、ユーザーをすべての Web から削除し、手動で新しいアカウントを追加する必要がありました。

SP2 には新しい API が導入され、STSADM はその API を活用しています。jsmith というアカウントの名前が jjones に変更された場合は、次のコマンドを使用します。

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

実際にはアカウントを移行していないため、Windows セキュリティ ID (SID) の履歴は無視できます。このコマンドでは、URL が不要です。このコマンドは、サイトまたは Web に関係なく、コンテンツ データベース全体を変更します。

もう 1 つの有用な操作は unextendvs です。SharePoint で仮想サーバーや Web アプリケーションを表示しない場合は、それを拡張解除します。通常、これは SharePoint Configuration Analyzer から行います。ただし、Web ファームでは、SharePoint Configuration Analyzer を実行する場合、サーバーにすべて同じ修正プログラムが適用されている必要があります。サーバーがファームの残りのサーバーと同期しなくなる可能性があるため、SharePoint Configuration Analyzer では拡張解除オプションは使用されません。STSADM を使用すると、次のコマンドで仮想サーバーを拡張解除できます。

Stsadm -o unextendvs -url https://localhost

サーバーが Web ファーム内に存在しなくなったら、必要なメンテナンスを実行できます。

Web ファームについては、管理を容易にするため、すべてのサーバーで SharePoint Configuration Analyzer を同じポートに置く場合があります。SharePoint がインストールされるときにポートはランダムに生成されますが、STSADM にはそのポートを指定したポートに変更できる次の操作が含まれています。

Stsadm -o setadminport -port 1026

これによって、必要なすべてのデータベースが変更され、IIS が変更され、管理ツールの SharePoint Configuration Analyazer へのショートカットが調整されます。

まとめ

Windows SharePoint Services は優れたソリューションであり、強力な管理機能を必要とします。STSADM は、構成および一般的な日常のタスクの自動化を含め、SharePoint の管理を実現するための 1 つの手段を提供します。実際、STSADM がジョブを実行する唯一の方法である場合もあります。

Todd KlindtUGS のシステム アナリストです。彼は、1 日中 ShwarePoint に興じ、それで報酬を得ています。彼は、Windows SharePoint Services MVP でもあり、また水瓶座でもあります。

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; 許可なしに一部または全体を複製することは禁止されています.