• ベストアンサー
  • 困ってます

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

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

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数444
  • ありがとう数2

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

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

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • ユーザの一覧

    VineLinuxをインストールする時にroot以外にユーザを作成しました。 /etc/passwordの下の方に、それらユーザ名の一覧を見つけることはできましたが、そのユーザの一覧を見るコマンドを教えてください。

  • vbsによるユーザ情報の取得について

    windows2003のマシンで全ユーザ情報を取得したいです。 具体的にはnet user "ユーザ名" コマンドを実行したいのですが 対象マシンが複数あり、ユーザもたくさんいるのであまり手間をかけることなくbatかvbsで実行したいのですが 構文を教えていただけないでしょうか c:\net user \\xxxx のユーザー アカウント ------------------------------------------------------------------------------- Administrator ASPNET HelpAssistant SUPPORT_388945a0 Guest コマンドは正常に終了しました。

  • CentOSでユーザー追加は必要ですか?

    いつも教えて頂きありがとうございます。 標記の件。 先ほどの質問と同じく http://centos.server-manual.com/centos5_setup.html に沿って初期設定を行っています。 ユーザー追加とありますが、これはサーバを構築しようと 思っているのは私だけです。 だからユーザー追加しなくてもいいのでは・・・? と思っています。 それとも、今ユーザーが0人だから1人にするために この作業が必要なのでしょうか? それとも、ユーザーとは数年後に完成したサーバにアクセス する方々のことを指しているのでしょうか? よく「hoge」という固有名詞?が出てきます。 この「hoge」は何の意味なのでしょうか? manコマンドで解かるかも知れません。 下記の説明があります。        記 ユーザー追加 [root@centos ~]# mkdir /etc/skel/public_html [root@centos ~]# useradd hoge [root@centos ~]# passwd hoge Changing password for user hoge. New UNIX password:hoge12345 ←パスワード入力 Retype new UNIX password:hoge12345 ←パスワード再入力 passwd: all authentication tokens updated successfully. [root@centos ~]# chmod 701 /home/hoge この説明をご覧になって私の状況の場合、 この作業は必要なのでしょうか? 度々申し訳ございません。 ご回答の程、宜しくお願い申し上げます。

その他の回答 (1)

  • 回答No.1

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • Linuxでユーザ権限の確認コマンド

    初歩的な質問です。 宜しくお願いします。 vipwコマンドで、 /etc/passwdのファイル編集画面を起動しました。 ユーザ一覧が表示されているのですが、 どのユーザにroot権限が割り振られているのか確認する術はございますでしょうか。

  • プリンタ一覧の取得

    お世話になります。 ネットワーク上の他クライアントのプリンタ一覧を取得する方法を探しています。 環境はWin2000です。 クライアントAから、クライアントBにログオンしているユーザー2のプリンタ一覧を取得する方法はあるのでしょうか。 strComputer ="クライアントB" Set objWMIService = GetObject( "winmgmts://" & strComputer & "/root/cimv2" ) Set PrtSet = objWMIService.ExecQuery("Select * From Win32_Printer") For Each Prt In PrtSet MsgBox Prt.Caption Next 上記、クライアントAにログオンしているユーザー1で実行したところクライアントBのユーザー1プロファイルのプリンタ一覧を取得してしまい、ユーザー2のプリンタ一覧を取得してくれません。 なにか情報、方法ありましたらご教授ください。 よろしくお願いします。

  • どうすればいいの!?

    以前、administratorでログオンしていたのですが、友人が、administratorのログオン方法教えてといいたので、powerpointでログオン方法を入力していて、本当に合ってるかなと心配でcmdをつかって方法でついnet user administrator /active yesと入力したらコマンドが終了しましたと出たのでがーんとなってしまいました。またほかのユーザーは制限付きユーザーです。vistaなのでcmdでも使えないしどうすればいいのですか??

  • administrator権限のユーザーをDOSコマンドを使用して登録したい.

    administrator権限のユーザーをDOSコマンドを使用して登録したいと考えています. net userコマンドを使用すれば,user権限のユーザーを登録することはできましたが,administrator権限のユーザーを追加することはできませんでした. 何か方法はあるのでしょうか?宜しくご教授ください. OS:Windows2000+S.P.3

  • ユーザマネージャーの一覧を出したい

    こんにちわ。あつしといいます。 過去の質問でWinNT4.0のドメインコントローラーの ユーザマネージャーからnet userコマンドを使って、 ユーザ一覧を出す方法がありましたが 同時にユーザ名だけでなく、フルネーム・説明・登録されているグループを 一緒に出す方法はあるのでしょうか? よろしくお願いします。 過去の質問 http://oshiete1.goo.ne.jp/kotaeru.php3?q=342280

  • Linuxでユーザ権限の確認コマンド

    初歩的な質問です。 宜しくお願いします。 vipwコマンドで、 /etc/passwdのファイル編集画面を起動しました。 ユーザ一覧が表示されているのですが、 どのユーザにsudo権限が割り振られているのか確認する術はございますでしょうか。 ※rootの確認ではありません。 ※sudoユーザが複数いるものとして、どのユーザがsudo権限を持っているか確認したいと思っております。 宜しくお願い致します。

  • 新しいユーザを作成するには?

    ドメインに登録されているユーザーをローカル端末に追加するには、どうすればいいでしょうか?GUI以外で良い方法はないでしょうか? 【環境】Windows Vista SP1 ドメイン参加 現在、Net Userコマンドで出来ないか調査をしているのですが、ローカルユーザは追加・削除ともできますが、ドメインユーザを追加・削除するのがうまくいきません。(どうも、ドメインサーバに対してユーザを追加・削除の処理を実施しようとしているみたいで、アクセス拒否やユーザが存在しないとかでエラーになります。) また、Net Userでユーザ一覧を参照すると、ローカルユーザしか出てきません。ドメインユーザは1ユーザ追加済み。Net User /Domain にするとアクセス拒否されます。 コマンドでは、ドメインユーザをローカル端末に新規作成できないのでしょうか? 宜しくお願いします。

  • ユーザーアカウントの一覧をエクセルにしたい。

    コマンドプロンプトか、VBAを使用してユーザーアカウントの一覧をエクセルに出力する方法を探しています。 試した方法 コマンド net user >c:ファイル名.xls を使用するとエクセルファイルにはなりますが、ユーザーアカウントが1行に3つずつ表示されています。 1つのセルにつき1つのアカウントを表示させたいのですが、他の方法か、これに付け足す良い方法はないでしょうか。 よろしくお願いします!

  • VBScriptで、ローカルに存在するユーザをサーバに送る方法

    ---前提条件------- まず、下記の方法にて確認できる情報を、仮に【情報A】とします。 【情報A】 「マイコンピュータ右クリック ⇒ 管理 ⇒ (コンピュータの管理画面より)ローカル ユーザとグループ ⇒ ユーザ」 で確認できる、その時点でPCに存在するローカルのユーザアカウントの情報 ---ここまで------- 管理用ADサーバとクライアント約500台が存在するドメイン環境で、クライアントのログオン時にVBScript(いわゆるログオンスクリプト)を用いて、「端末名(ホスト名)+【情報A】」の形でにテキストファイル等のログ(下記の【ログの例】参照)として管理用ADサーバに送信します。 そしてサーバ側では、全クライアントに存在する全ユーザアカウントを端末別で一覧にて確認する。 このようなことは可能でしょうか?またどのようにすればよいでしょう? ※今回サーバに送信したい情報Aですが、有効になっているユーザアカウントだけでも、全てのアカウントでもOKです。 【ログの例】 ------------- PC001 Administrator Guest user01 user02 user03 PC002 Administrator Guest user01 PC003 Administrator Guest user03 user04 PC004 ・ ・ ・ -------------

  • UNIXのユーザに規制をかけたい

    OSはUNIXを使ってtelnetを使い、一般ユーザでサーバにログインして、あるプログラムを起動しているのですが、これを複数の人に使ってもらおうと思ったときに、プログラムを起動する前に、万が一rmやcpなどのコマンドをされると削除やコピーなどセキュリティ上よろしくないので、このようなコマンドを管理者権限でユーザに規制をかけたいのですが可能でしょうか? また、特定ユーザのログイン時にそのプログラムを強制的に起動させることは出来るのでしょうか? できるなら、前者のほうが良いのですが、よろしくお願いします。