細かい設定が可能なパスワードポリシーが割り当てられたユーザーを一覧表示

部屋の大掃除をしていたら、古い洋楽のアルバムがいろいろ出てきました。
そのときに気が付いたのですが、昔の洋楽って「邦題」が別途ついていたのですね。
たとえば、Roxetteというバンドの曲「It must have been in love」だったら、「愛のぬくもり」みたいな感じで、
それって、だいぶ印象が違ってしまうのでは?と思うような邦題をたくさん見つけることができました。
なかでも、自分としてはスゴイと思ったのが、Micheal Jacksonの「Beat it」で、邦題はなんと「今夜はビート・イット」!
だったら、オリジナルの名前のままで言いんじゃない?という感じですよね。

私の中で、もうひとつオリジナルの名前で言いんじゃないと思わせるのが、「細かい設定が可能なパスワードポリシー

オリジナルの名前は「Fine-Grained Password Policy」と言うので、みんなFGPPと略したりしています。
「細かい設定が可能なパスワードポリシー」と呼ぶのはちょっと大変なので、ここからはFGPPで行きます。

すっかり前置きが長くなりましたが、今日はFGPPが割り当てられたユーザーを一覧表示する方法ってないの?
というご質問をお受けしたので、これについて考えてみたいと思います。

FGPPは、パスワード設定オブジェクト(PSO)と呼ばれるオブジェクトをActive Directory内に作成すると、
オブジェクトで指定したユーザーまたはグループにパスワード設定が適用される、というものです。
@ITの記事などで設定方法については確認することができます。

■@IT 第6回 強化されたActive Directoryサービス(前篇) – (複数のパスワード・ポリシーの項参照)
http://www.atmarkit.co.jp/fwin2k/winsv2008/06ad_01/06ad_01_02.html

@ITの記事でも紹介されていますが、PSOでパスワード設定を適用するユーザーまたはグループには、
そのユーザーまたはグループのmsDS-PSOApplied属性にPSOが適用されることが記録されます。
ただし、msDS-PSOApplied属性はPSOで設定された内容を丸写しししているだけで、
実際に、ユーザーに適用されるパスワード設定とは限りません。
そのため、実際に適用されるパスワード設定が格納されたmsDS-ResultantPSO属性を参照して
もらえれば、FGPPが割り当てられたユーザーを一覧するのに良いのではないでしょうか。

以上を踏まえて、PowerShellからFGPPが割り当てられたユーザーを一覧する方法を書いてみました。


Import-Module ActiveDirectory
Get-ADObject –Properties msDS-ResultantPSO –Filter {objectType –eq “user”} | Format-Table name,
msDS-ResultantPSO

この2行をPowerShellから実行すると、ユーザーの一覧と共に、それぞれのユーザーに割り当てられているPSOが確認できます。
この2行の実行結果は下のとおり。

FGPP 
■図 実行結果 見にくくてすみません

参考までに、msDS-ResultantPSO属性は読み取り専用属性なので、直接値を埋め込んで
設定を書き換えるようなことはできません。
また、msDS-PSOApplied属性は、PSOオブジェクトのPSOAppliedTo属性の後方リンクになっているため、
こちらも直接msDS-PSOApplied属性を書き換えることはできません。
ということなので、PSOの設定は正規の方法で行ってください。

PS
洋楽の邦題ですが、調べてみると「今夜は~」というタイトル、結構多いですよ。
Fire Incの「Tonight Is What It Means To Be Young」という名曲も「今夜は青春」って邦題がついています。
今夜は青春って…