- ベストアンサー
<AD>グループメンバー一覧コマンドの使い方
- Windows Server 2003のActive Directoryを使用して、ユーザ管理をしています。以下のコマンドを使用することで、グループに所属しているメンバを調べることができます。
- コマンドの出力結果にグループ名を追加表示させることで、グループ名、ユーザID、ユーザ氏名の一覧を取得することができます。
- しかし、このコマンドはグループ内にさらにグループが含まれている場合に途中で停止してしまいます。この場合はどのように対処すれば良いでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
NO1です。 前半で書いた、2番目が、1番目から渡される値ですが、「「=」でないといけない」としましたが、正確には GroupDN: 必須です。表示するグループ オブジェクトの識別名を指定します。 の事です。後半でその事を記載したが、後でよむと、ちょっと誤解が生じるのであらためて追加しておきます。「=」といったのは、1の出力結果と、2が受け取る値(GroupDN)が=でないと、ない物がわたされたので、何も表示されません。 なので、 しぼりこみ と言うことになります。
その他の回答 (1)
- 0909union
- ベストアンサー率39% (325/818)
毎年4月になると、似たような質問が出ます。 専門学生さんかな? それとも新人クン(企業の) どこかのテキストじゃないのかな、と思っています。 ”|”この意味わかっています?? これは、データーを絞り込んでいく時に、次のコマンド標準入力に渡します。 ここが肝心です。 しぼりこみです。 と言うことは、どうしたらいいのでしょうね。それは、分解する事です。 もともと、元の式には変です。 dsquery group -name グループ名 で出力すると何がでますか? dsget group -members はどういう意味かわかっていますか? この -membersに「dsquery group -name グループ名」の結果が1行づつわたされます。と言うことは、 「dsquery group -name グループ名」=「dsget group -members」 の結果がないと、何もないので出力しません。逆に言うと「「dsget group -members」で出るリストに、「dsquery group -name グループ名」の結果が含まれいる必要があります。ここまでは確認しましたか? さらに、3つめの、「dsget user -display -samid」の「-samid」の値に、前の2つのAND(最小公倍数)の結果が1行ずつわたされ、同じくANDの結果がでます。 そのような絞込みを3回もして、結果出ませんといってもなあ。出るときもあるし、でないときもあるとしか、そちらの情報しならいのだから、だれにもわかりません。 http://technet.microsoft.com/ja-jp/library/cc755876(WS.10).aspx http://technet.microsoft.com/ja-jp/library/cc755655(WS.10).aspx でただしくオプションを見てください。なんかちがっている。やり方としては、それぞれのコマンドを実行し、それをエクセルの表にして、3列に共通する物があれば出力されます。 UserDN: 必須です。表示するユーザー オブジェクトの識別名を指定します 3番目が2番目からわたされるのは、UserDNであることが、求められています。そのように、1+2番目の結果がひょうじされていますか? そのようにして確認していってください。1番から、2番へもそのようにかくにんしてください。 ちゃんと”|”の意味をわかってつかおうね。サンプルでわからないのなら、一個ずつわからないものをしらべないとだめ。そして、1個づつ分解して、デバックしてください。 それがもっとも近道です。
お礼
回答ありがとうございます。 1番目のdsqueryで指定したグループ名のGroupDNを出力、 2番目のdsgetでそのGroupDNの全ユーザのUserDNを出力、(この時点でグループに参加しているグループは、UserDNがないからエラー。) 3番目dsgetでそのUserDNの表示名、SAMアカウント名を出力(表示)しているのですのね。 そうなると、この出力結果を元に更に加工が 必要になるのですね。 csvdeとかでも希望する出力結果を 得られるのでしょうか?