SharePoint 管理シェルのコマンドレットの概要

最終更新日: 2010年1月14日

適用対象: SharePoint Foundation 2010

Microsoft が提供する新しいコマンドライン ツールおよびサポート スクリプト言語である Windows PowerShell™ は、Windows 管理作業のコンテキストで Cmd.exe を補完し、Stsadm.exe 管理ツールに代わるものとなります。Cmd.exe と Stsadm.exe はどちらも下位互換性のために残されますが、SharePoint Foundation でのスクリプトと管理ファイルに関する現在および将来の開発はすべて、この新しいスクリプト テクノロジを使用する必要があります。

Windows PowerShell の基礎

テキストを受け取って返すほとんどのコマンドライン ツールとは異なり、Microsoft .NET Framework を基に構築されている Windows PowerShell は .NET Framework オブジェクトを受け取って返します。このような環境の根本的変更によって作り出されたまったく新しいツールとメソッドは、開発者と管理者の管理能力、効率性、生産性を大幅に改善します。

Windows PowerShell は、コマンドレットの概念が導入された簡単なコマンドライン ツールです。コマンドレットとは、コマンドとコマンド機能の対象となるオブジェクトで構成される、動詞と名詞の組み合わせです。Windows PowerShell コマンドレットの名前は、動詞と名詞をダッシュ (-) で区切ったものからなり、全体としてそのコマンドレットの機能の特性を示しています。たとえば、Get-SPSite というコマンドレット名は、動詞 (コマンド) "Get" と名詞 (オブジェクト) "SPSite" を組み合わせたもので、指定した SPSite オブジェクトを取得するコマンドレットを意味します。コマンドレットを個別に使用することも、複数のコマンドレットを順番に連結して複雑なタスクを実行することもできます。

コマンドレットの名詞は名前と値のペアとしてパラメーターを受け取り、これによってコマンドレットの名詞に固有性がもたらされます。呼び出されたコマンドレットは、出力オブジェクトを返します。返されるオブジェクトも、名前と値のペアとして表されるプロパティを備えています。コマンドレットはオブジェクトを返すので、そのオブジェクトを別のコマンドレットに順番に渡す ("パイプする") ことができます。このようにして、コマンドレットをつなぎ合わせることで、優れた柔軟性が実現されます。

実際、このことは、Windows PowerShell コマンドレットと stsadm.exe のコマンドの間の重要な違いの序の口に過ぎません。たとえば、コマンドレットは実行可能ファイルではないことに注意することが重要です。コマンドレットは .NET Framework クラスのインスタンスです。したがって、いくつかの例外はありますが、コマンドレットはテキスト ストリームではなくオブジェクトを返し、オブジェクト パイプラインからの入力オブジェクトを処理するのです。

このように、Windows PowerShell は単なる新しいコマンドライン ツールではありません。同時に、そしておそらくさらに重要なこととして、それは新しいスクリプト言語でもあります。Windows PowerShell ではネイティブに 100 以上のコア Windows コマンドレットがインストールされます。現時点で 500 を超える SharePoint Foundation コマンドレットのライブラリは、これらのコア Windows コマンドレットの上にインストールされます。これらの SharePoint 固有のコマンドレットは、SharePoint 管理シェルと呼ばれる特別な独自のシェルにおいて公開されます。

SharePoint 管理シェルのコマンドレット

Windows PowerShell では、一般的な実装と SharePoint 固有の実装が提供されます。両者の違いは、Windows PowerShell コマンドレットが基本クラス PSCmdlet から派生しているのに対し、SharePoint Foundation のコマンドレットは SharePoint 専用の基本クラスである SPCmdlet から派生していることです。

重要重要

PSCmdlet クラスから派生する Windows PowerShell コマンドレットと、SPCmdlet クラスから派生する SharePoint コマンドレットの違いは、非常に重要です。SharePoint Foundation に付属し、SharePoint 管理シェル で公開されるすべての SharePoint コマンドレットは、SPCmdlet クラスから派生します。ユーザーが SharePoint の独自の展開をサポートするために作成するすべてのカスタム コマンドレットも、SharePoint コマンドレットである必要があります。

次に示すのは SPCmdlet 基本クラスのシグネチャです。SPCmdlet が PSCmdlet クラスから派生していることに注意してください。

public abstract class SPCmdlet : PSCmdlet

Get、Set、New、Remove などの変数演算子コマンドレットを使用するときは、PSCmdlet クラスから派生したものではなく、特定の SPCmdlet クラスの実装を使用する必要があることに注意してください。これは、SharePoint Foundation で Windows PowerShell コマンドレットを使用するためのスクリプト モデルと一致しています。

永続オブジェクトを処理するコマンドレットの場合:

非永続オブジェクトを処理するコマンドレットの場合:

アクション コマンドレットの場合:

関連項目

概念

SharePoint 管理シェル用コマンドレットの作成に関する重要な概念

SharePoint Foundation コマンドレットの開発ガイドライン