こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

<AD>グループメンバー 一覧 コマンド

Windows Server 2003 のActive Directoryを使用して、ユーザ管理をしています。
グループに所属しているメンバを調べるのに以下のコマンドを使用しています。
dsquery group -name グループ名 | dsget group -members | dsget user -display -samid

このコマンドの出力結果の1行1行の先頭にグループ名を追加表示させて、
以下のような出力イメージしたいと思います。
グループ名 ユーザID ユーザ氏名

そして、このコマンドではグループのメンバにグループがいると
途中で停止してしまいます。
この場合はどのように対応すれば宜しいでしょうか?

すみませんが、お願いします。

投稿日時 - 2011-04-09 23:52:28

QNo.6657154

すぐに回答ほしいです

質問者が選んだベストアンサー

NO1です。

前半で書いた、2番目が、1番目から渡される値ですが、「「=」でないといけない」としましたが、正確には

GroupDN: 必須です。表示するグループ オブジェクトの識別名を指定します。


の事です。後半でその事を記載したが、後でよむと、ちょっと誤解が生じるのであらためて追加しておきます。「=」といったのは、1の出力結果と、2が受け取る値(GroupDN)が=でないと、ない物がわたされたので、何も表示されません。

なので、

しぼりこみ

と言うことになります。

投稿日時 - 2011-04-10 03:56:16

お礼

回答ありがとうございます。

1番目のdsqueryで指定したグループ名のGroupDNを出力、
2番目のdsgetでそのGroupDNの全ユーザのUserDNを出力、(この時点でグループに参加しているグループは、UserDNがないからエラー。)
3番目dsgetでそのUserDNの表示名、SAMアカウント名を出力(表示)しているのですのね。

そうなると、この出力結果を元に更に加工が
必要になるのですね。

csvdeとかでも希望する出力結果を
得られるのでしょうか?

投稿日時 - 2011-04-10 16:26:01

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

毎年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個づつ分解して、デバックしてください。

それがもっとも近道です。

投稿日時 - 2011-04-10 03:48:42