[Active Directory] Active Directory プロバイダ

PowerShell では Active Directory プロバイダを使用することができます。

では「プロバイダとは何か?」ですが、操作するデータストア(ファイルシステムやレジストリなど、環境変数など)に対して「同じコマンドで取り扱えるようにする仕組みを提供する機能」のことをいいます。

このプロバイダにより、New-Item や Copy-Item、Remove-Item といったコマンドレットを、様々なデータストア環境において同じように扱うことができます。

例えば New-Item コマンドレットであれば

  • ファイルシステムではファイルを作成する
  • レジストリではレジストリとキーを作成する
  • Active Directory ではユーザーを作成する

といったように「~を作成する」という共通動作を行います。これにより、システム別にコマンドレットを分けて覚える必要がなくなります。

さて、本題のActive Directory プロバイダについて見てみましょう。

まずは前回の記事を参考にActive Directoryモジュールを読み込んでおきましょう。

次に、下記のように入力します。

cd AD:

これで、PowerShell は下図に示すように、「PS AD:」という表示に切り替わります。

これは カレントのプロバイダが Acitve Directory に切り替わったことを意味します。

試しに

dir

と入力すると、現在の Active Directory のオブジェクト一覧が表示されます。

ここでもう1つ操作を行ってみましょう。

上図の DistinguishedName列 にある文字列を cd コマンド(Set-Locationコマンドレット)に渡すと、指定したActive Directoryのドライブへと移動することができます。

下記は DC=corp, DC=contso, DC=com へ移動した後、dir コマンドによりオブジェクト一覧を表示した例です。

今回は、Active Directory のプロバイダについて説明しました。

次回からは、Active Directory専用のコマンドレットについて取り上げていきたいと思います。

[Active Directory] Active Directory モジュールを使用する

前回の記事では Windows Server 2008 R2 で PowerShell を使用する方法を紹介しました。

今回は、PowerShell で Active Directory専用のモジュールを使用する方法を紹介します。

まず、PowerShell コンソールを起動して、次のコマンドを実行します。

Import-Module ActiveDirectory

以上で Active Directory専用のコマンドレットを使用することが可能になります。

では、どのようなコマンドレットがあるかを確認してみましょう。

Get-Command -Module ActiveDirectory

全部で76個のコマンドレットが表示されます。

これで PowerShell から Active Directory を操作することが可能になりました。

ただし、Import-Module コマンドは実行したコンソールでのみ有効ですので、いつでも使用できるようにしたいような場合はプロファイルで Import-Module コマンドレットを実行するような工夫をしておくことをおすすめします。

*プロファイルとは、PowerShell 起動直前に実行される専用のスクリプトです。

プロファイルの場所は

$profile

で確認することができます。

もしも、プロファイルが存在しない場合は、

New-Item -path $profile -type file -force

と入力することで空のプロファイルを作成することができます。

次に下記のように入力して、プロファイルをメモ帳で開き、Import-Moduleコマンドを記述します。

notepad $profile

これで、次回 PowerShell 起動時より自動的に ActiveDirectory モジュールが組み込まれるようになります。

次は、Acitive Directory プロバイダについて説明する予定です。