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

Windowsのコンピューター名等を取得するプログラム

お世話になります。 IPアドレスのみがわかっているリモートのWindowsマシン(対象はWin98以上、できればWin95も)の情報を取得する方法を探しています。 ●取得したい情報 ・コンピュータ名 ・Windowsの種類(98や2000、XP) ・Windowsにログインしているユーザー名 これらの情報を取得するためにはどの言語(C,VB,VBScript,JScript他なんでも可)でどんな手順(触りの部分でもかまいません)を使えば実現できるでしょうか? コマンドを実行して出力の内容を整形するというようなことでもOKです。その場合どんなコマンドを使えばよいか示して頂ければと思います。 例えばコンピューター名だったら”nbtstat- A IPアドレス”の結果から取得するなど。 ※リモートのWindowsには何も追加インストールをしない仕組みが良いです。

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

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

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

  • ベストアンサー
  • 回答No.1
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)

ネットブラウザ http://www.tooljp.com/nbrowser.html のようなツールを使うのが簡単でいいと思います。 ただし >Windowsにログインしているユーザー名 は取れません。 また WMIを使って http://okweb.jp/kotaeru.php3?qid=1356544 みたいな感じでコマンドから、 コンピュータ名とかOSの種類、ユーザー名が取れると思います。 参考: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/anch_wmi.asp また、 VBScriptからWMIを使ってコンソールと同様の問い合わせができたと思います。 例 Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate,(RemoteShutdown)}").ExecQuery("select * from Win32_OperatingSystem where Primary=true") for each OpSys in OpSysSet WScript.Echo OpSys.CSName'コンピュータ名 WScript.Echo OpSys.Caption'OSの種類 Next

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

質問者からのお礼

回答ありがとうございます。 WMIも考えたのですが社内(他県の営業所等)に95・98も残っており他に手段がないか考えておりました。予算や古いシステムへの対応の関係上未だにXPへの移行が進まないのが現状です。

関連するQ&A

  • IPアドレスからコンピュータ名を取得したい

    Windows7のPCがあります。このIPアドレスからコンピュータ名を取得したいのですが、 うまく取得できません。 ヒントがあったらよろしくお願いします 試した事 (1)ping -a IPアドレス→応答はありますが、コンピュータ名は表示されない (2)nsloopkup IPアドレス→Can't find Host not foundと表示される (3)nbtstat -A IPアドレス→Host not foundと表示される

  • ipアドレスからmacのコンピュータ名を調べる方法

    ipアドレスからネットワーク上の macのコンピュータ名を調べる方法を探しています。 使うツールはターミナル(mac)やコマンドプロンプト(windows)を 想定しています。 --- windowsの場合、 【ipアドレスから(winの)コンピュータ名を調べる方法】は nbtstat -A 192.168.1.5 などだと思います。 またアクティブディレクトリ環境などの場合 nslookupコマンドで調べることが出来ると思います。 ただ、macのコンピュータ名を調べる場合は どんなコマンドがあるのでしょうか? nslookupでは調べられませんでした。 Finderの左ペインにネットワーク上のコンピュータ名は 表示されますが、ipアドレスが分からないので突き合わせが 出来ません。 *想定としては同一ネットワークアドレス環境で考えています。 宜しくお願いします

    • ベストアンサー
    • Mac
  • リモートコンピュータのPC名を取得したいのですが・・・・。

    すみません。どなたかご存知でしたら教えてください。 私はVBの初心者です。VB2005を使用しています。 IPアドレスを指定し、そのPCのコンピュータ名を取得したいと考えています。色々調べたところ、APIを呼び出さなければいけないところまではわかったのですが、その先がなかなか判明しません。 Myクラスを使うとローカルPC名は簡単に取得できるのですが、 リモートとなると、なかなかどのサイトにも乗っていません。 リモートPCはメールサーバや、WEBサーバではなく、ただのクライアントなので、DNS引きの取得方法では取得できないようです。 すみませんが、困っています。 よろしくお願いいたします。

その他の回答 (1)

  • 回答No.2
  • notnot
  • ベストアンサー率47% (4578/9595)

#1の方がお書きのように、WMIを使えばかなりのことは出来るはずですが、WMIはWin95やWin98には標準装備されていないので、MicroSoftのサイトからダウンロードしてインストールが必要です。 リモートPCに何も追加インストールしないでは、コンピュータ名やホスト名程度しかわからないと思います。 nbtstat -A アドレス ping -a アドレス

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

質問者からのお礼

回答ありがとうございます。 Win95・98を対象にするとリモートPCに追加インストールなしでは厳しいようですね。

関連するQ&A

  • Windows nbtstatでのコンピュータ管理

    現在ネットワーク上に共有無しの6台のコンピュータがありOSは5台がWindows XP 1台がWindows 2000です。 ここで1台のコンピュータを使用して現在何台のコンピュータが立ち上がっているのかを調べるためにnbtstatを使用し情報を収集しようとし、nbtstat -a IPアドレス としました。 すると、他のコンピュータは立ち上がっているのにも関わらずhost not found と表示されました。このネットワークの他に共有ネットワークがあり、3台のコンピュータがあるのですがここではnbtstatでのエラーはでません。この状況を解決するにはどのような方法をとったら良いのでしょうか? pingは全台数が通ります。

  • クライアントのホスト名取得方法

    自社内のクライアントコンピュータのホスト名を取得するコマンドまたはプログラミング(VB)を教えてください。よく巷にあるツールを使うとIPアドレスから生死確認、ホスト名取得がありますがあれがどのようにやっているのかわかりません。生死確認はpingだと思うのですが、ホスト名をどのようにして取得しているかを知りたいです。自社の出勤管理にコンピュータ名(ホスト名)の一覧を取得したいと考えています。対象コンピュータはWindowsで、管理コンピュータもWindowsです。よろしくお願いします。

  • コンピュータ名の取得及びログオンIDの取得

    アクセスVBAで自分のコンピュータ名を取得したいのですが、解かる方教えてください。 また、VBで、WINDOWSログオンIDを取得する方法を教えてください。

  • Windowsネットワークについての疑問

    Windows2000が急にファイルサーバーにアクセスできなくなりました。 ファイルサーバーはWindowsStorageServer2012R2です。 アクセスできないのはこの1台だけで、アクセス出来るパソコンはWindows7です。 \\(NASのコンピューター名)でも\\(NASのIPアドレス)でもアクセス出来ませんでしたが、lmhostsファイルに ”NASのIPアドレス NASのコンピューター名 #PRE” と書いて保存し、コマンドで"nbtstat -R"するとアクセスできるようになりました。 これで解決するのであれば\\(NASのIPアドレス)でもアクセスできるのではと思うのですが、仕組みとして腑に落ちません。ご教示ただけると助かります。

  • 接続されているコンピュータ名取得(MFC)

    CSocketクラスを使用して、 簡易チャットを作成しました。 IPアドレスコントロールに、 対象コンピュータのIPアドレスを打ち込んで チャットをしています。 対象コンピュータのIPアドレスの打ち込みを 省略して、接続されているコンピュータとチャットをしたいのですが、どうすればいいでしょうか? コンピュータ名一覧を取得できる関数はありますか? 使用OS:Windows 開発環境:Visual C++.NET MFC です。 よろしくお願いします。

  • 他のコンピュータのプロセスを取得

    VB2005Expressにて開発しています。 他のコンピュータで実行中のプロセスを取得したいと思っています。 Dim ps As System.Diagnostics.Process() = _ System.Diagnostics.Process.GetProcesses("プロセス名","192.168.XXX.XXX") で指定したコンピュータからプロセスは取得することは出来ました。 ただ、特定のコンピュータだけ「リモート コンピュータに接続できませんでした。」というエラーが出てしまいます。 プログラムの実行環境のID、パスワードと特定のコンピュータの IDとパスワードが異なっているのが原因だと思っています。 GetProcessesにIDとパスワードを設定してプロセスを取得することは 可能なのでしょうか。 ご存知の方がいらっしゃいましたらご教授下さい。 よろしくお願いします。

  • Windows→UNIX間におけるrcpについて

    Windows Server 2008(SUAインストール済み)からrcpを実行し、 UNIXサーバからファイルをコピーしてくる処理を行おうとしています。 しかしながら、以下のコマンドを試してみても、 上記の処理を実現することができません。 わかる方いましたら教えてください。 (1)rcp <リモート先ホスト名>.<リモート先ユーザ名>:/export/home/<リモート先ユーザ名>/<テストファイル名> C:\temp\<テストファイル名>  上記コマンドを実行すると以下のメッセージが返ってきます。(エラーレベルは0)  sh: /usr/bin/rsh<リモート先ホスト名>.<リモート先ユーザ名>: not found (2)rcp <リモート先ユーザ名>@<リモート先ホスト名>:/export/home/<リモート先ユーザ名>/<テストファイル名> C:\temp\<テストファイル名>  上記コマンドを実行してもメッセージなし。(エラーレベルは0) サーバ間の疎通については、 ホストネーム指定によるpingで応答がありました。 また、rhostsファイルの設定については、 Windows→UNIX間でrshができることを確認していますので、問題はないと判断しています。 よろしくお願いいたします。

  • [C#]リモートコンピューターを選択するダイアログ

    C#でコンピュータのプロセスを監視するプログラムを作っています。 Process.GetProcessesByName メソッドによるプロセスの取得は、リモートコンピューターでも可能なようなのですが、以下1・2の実現方法が分かりません。 1.ユーザーが(ダイアログか何かで)リモートコンピューターを選択する 2.選択されたリモートコンピューターの名前かIPアドレスを取得する 3.プロセスを取得する。Process [] ipByName = Process.GetProcessesByName("notepad", "169.0.0.0"); コンピューターを選択して取得するようなダイアログは.NETに用意されていないようですが、この場合どのようにすればよいでしょうか? よろしくお願いします。

  • JAVAでWindowsのアカウント名を取得する

    こんにちは。 現在Java+tomcat+Flex+SQL ServerでWebアプリを開発しています。 Webアプリを開いたときにWindowsのログインユーザー名を取得し、そのユーザー名がSQL Server内のユーザー情報テーブルに存在するかでアプリへのログイン制御を行いたいのですが、JavaでWindowsのログインユーザー名を取得することは可能でしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • IPアドレスからコンピュータ情報を取得したい

    社内LANの管理をしております。 最近自分勝手にPCを持ち込み.IPアドレスを適当に設定して 社内LANへ繋ぐ人がいます。 この未登録IPアドレスが分かったときに、そのコンピュータの情報を 取得するソフトがあれば教えて下さい。 できればフリーのものがいいのですすが。