• ベストアンサー

Windows、UNIXのユーザー一覧取得

WindowsやUnixのサーバーデスクトップへログオンせずに、ユーザー一覧を取得したいのですが、やり方を教えて下さい。 もちろん、administratorやrootのID、パスワードは知っているという前提です。 net userコマンドやetc/passwdの参照では、どうしてもデスクトップからログオンしなくてはならず、操作ミスなどでサーバーになんらかの影響を与える可能性があるため、直接ログオンせずに取得したいです。 ログオン中のユーザー一覧ではなく、全てのユーザー一覧です。

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

  • ベストアンサー
  • maesen
  • ベストアンサー率81% (646/790)
回答No.2

>WindowsやUnixのサーバーデスクトップへログオンせずに コンソールログオンではなく リモートデスクトップ、telnet、sshなどの自由にコマンド入力が出来る状態でもなく 他のPC等からバッチ処理のようにして情報を取得したいと想定しますが合っていますでしょうか。 厳密にはログオンすることになりますが、 本当に全くログオンしないとなると専用のエージェントやらWebアプリ(CGIなどを含む)のようなものを作成する必要が出てくると思います。 いろいろとあると思いますが、標準的なコマンド行うとしたら、 WindowsではWMI、Unixだとrshでしょうか。 wmic /NODE:"ターゲットホスト名" /USER:権限のあるユーザー名 /PASSWORD:パスワード USERACCOUNT LIST BRIEF rsh ターゲットホスト名 cat /etc/passwd 詳しいことはヘルプ等を参照してください。

komagun_nsr400r
質問者

お礼

レス遅くすみません。 >コンソールログオンではなく >リモートデスクトップ、telnet、sshなどの自由にコマンド入力が出来る状態でもなく >他のPC等からバッチ処理のようにして情報を取得したいと想定しますが合っていますでしょうか。 ご認識の通りです。 教えて頂いた方法で実現できそうです。 たいへん、ありがとうございました。 ちなみに、Unixの方は端末がWindows7なのでSUAを導入・設定。 事情によりrshは利用できないので、シェルを組んで内部的にtelnetさせる事で妥協しました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

Unixの場合、適切な権限を持つユーザーが $ ls /home 等すると、ホームディレクトリを持つユーザー(実質的にすべてのユーザー)の一覧が取得できます。 ですので、予めroot権限を持つユーザーでApacheの類を走らせておいて、簡単なCGIスクリプトを外部から参照できるようにしておく事で行けるでしょう。 Windowsの場合はこれを応用して、例えばcygwin上でApacheを動かし、上の/homeを/cygdrive/c/Usersに直し、余計な出力を省けば同じことが出来るかと思われます。 どちらにせよ、この方法では、情報取得時にはログオンは必要ありませんが、初期化時に誰かがログインしている状態を必ず1度は持たなければなりません。

komagun_nsr400r
質問者

お礼

ありがとうございます。 ターゲットとするサーバーの設定を変更する事ができないので 残念ながら、ご提示頂いた方法を適用するのは難しいですが参考になりました。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A