• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Java でイントラのネットワーク名)

Javaでイントラのネットワーク名を取得する方法

このQ&Aのポイント
  • Javaでイントラのネットワーク名を取得する方法を教えてください。
  • VBSのobjWshNetwork.UserNameと同様に、JavaでUserNameを取得する方法を知りたいです。
  • 自分で試した方法として、InetAddress.getLocalHost()を使用してhostnameを取得する方法を考えましたが、ネットワーク名を取得することはできません。

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

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

import com.sun.security.auth.module.*; class UserName { public static void main(String args[]){ NTSystem nts = new NTSystem(); System.out.println(nts.getName());//カレントユーザー } }

iwaiwaiwa
質問者

お礼

ありがとうございます!できました。 これだと、Windowsしかできないのでしょうか? イントラはWindowsなので問題はないのですが、 LinuxやUnix、Macだと他の方法をとらなければなりませんか?

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

その他の回答 (1)

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

#1>LinuxやUnix、Macだと他の方法をとらなければなりませんか? そうですね。 UNIX の場合 NTSystem() を UnixSystem() にして getUsername() を使うことになるのかなと思います。 Mac もUNIX ベースのヤツは同じでいけると思います。 それ以前のヤツはユーザー管理みたいなのはしてましたっけ? 現在Mac を使っていないのでわかりません。

iwaiwaiwa
質問者

お礼

ありがとうございました。 今の所、必要なのはWindowsだけですので、ご回答頂いたもので 十分に対応できます。助かりました。

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

関連するQ&A

  • username以外でログイン名を知る方法

    質問の仕方が良くなかったので、質問タイトル並びに質問内容を変更します(古い方の質問は24時間経過後に削除します)。 http://oshiete1.goo.ne.jp/qa4323599.html VBSにて Set WshShell = Wscript.CreateObject("WScript.Shell") UserName = WshShell.ExpandEnvironmentStrings("%USERNAME%") とする事でログイン名を取得出来る事は分かったのですが、プログラムの実行をATコマンドで行った場合、USERNAMEがSYSTEMに変更されてしまうようで困っています。 プログラムの実行をATコマンドで行った場合でも問題なくログイン名を取得出来る方法か、もしくは一日100回平日繰り返しのタスク実行をUSERNAMEを変更せずに実行出来る方法があれば教えて頂けませんでしょうか?

  • Javaのネットワークに関して

    一つのサーバから複数のクライアントにメッセージを送るようにしなさい。いくつのクライアントと接続するか は入力により動的に決めるようにすること。複数のクライアントとの通信にはそのソケットを配列やコンテナを使って実装すればよい。サ ーバを「No23ex04Server」としクライアントを「No23ex04Client」とすること。 とあります。 以下のコードでクライアント側のプログラムは一切変えなくてよいそうなので、サーバー側のプログラムを以下のようにしたのですが、acceptが呼ばれている時点で、ループが止まってしまうので、入力待機状態になりません。スレッドを使わなくてもできるそうなのですが、私にはさっぱりです。 public class No23ex04Client { /** * @param args */ public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ String cIpAddress = null; String hostName = null; String sIpAddress = null; int portNo = 65535; try { cIpAddress = InetAddress.getLocalHost().getHostAddress(); hostName = InetAddress.getLocalHost().getHostName(); } catch (UnknownHostException e) { } System.out.println("Client IP Address : " + cIpAddress); System.out.println("Host Name : " + hostName); Scanner scn = new Scanner(System.in); System.out.print("Server IP Address? : "); sIpAddress = scn.next(); System.out.print("Server Port Number? : "); portNo = scn.nextInt(); System.out.println("■Start■"); try { Socket sc = new Socket(sIpAddress, portNo); BufferedReader br = new BufferedReader(new InputStreamReader(sc.getInputStream())); while (true) { System.out.print("From Server Message : "); String fromServerMessage = br.readLine(); System.out.println(fromServerMessage); if (fromServerMessage.contains("さようなら")) break; } sc.close(); } catch (IOException e) { e.printStackTrace(); } System.out.println("■Shutdown■"); } } public class No23ex04Server { /** * @param args */ public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ String ipAddress = null; String hostName = null; int portNo = 65535; try { ipAddress = InetAddress.getLocalHost().getHostAddress(); hostName = InetAddress.getLocalHost().getHostName(); } catch (UnknownHostException e){ } System.out.println("IP Address : " + ipAddress); System.out.println("Host Name : " + hostName); Scanner scn = new Scanner(System.in); System.out.print("Port Number? : "); portNo = scn.nextInt(); System.out.print("Socket Number? : "); int num = scn.nextInt(); System.out.println("■Start■"); try { ServerSocket ssc = new ServerSocket(portNo); System.out.println("Serverが起動(Port Number : " + ssc.getLocalPort() + ")"); Socket[] sc = new Socket[num]; BufferedWriter[] bw = new BufferedWriter[num]; for (int i = 0; i < num; i++) { sc[i] = ssc.accept(); System.out.println("接続" + i + " : " + sc[i].getRemoteSocketAddress()); bw[i] = new BufferedWriter(new OutputStreamWriter(sc[i].getOutputStream())); } while (true) { System.out.print("To Client Message : "); String toClientMessage = scn.next(); for (BufferedWriter b : bw) { b.write(toClientMessage); b.newLine(); b.flush(); } if (toClientMessage.contains("さようなら")) break; } for (Socket s : sc) s.close(); } catch (IOException e) { e.printStackTrace(); } System.out.println("■Shutdown■"); } }

    • ベストアンサー
    • Java
  • javaでドメイン名を取得したい

    お世話になります。 javaでネットワークプログラムを書いているのですがドメイン名はどのようにしたら取得できるのでしょうか? URLからホスト名の文字列を取得した後、ドメイン部分を取り出したいのですが、URLのホスト名は必ずしもホスト名ではなく、IPアドレスだったり、ドメイン名だったりします。(このサイトもホスト名ではなくドメイン名になっていますよね) IPアドレスは無視するとして、ホスト名またはドメイン名が指定された時にドメイン名を取得したいのです。 例)www.yahoo.co.jp → yahoo.co.jp okwave.jp → okwave.jp 何か良いAPIが無いものかと探してみましたが見つけられませんでした。 トップレベル、セカンドレベルドメインのリストを取得できるならそこからドメイン名を導き出すことができるのでリストの取得方法でも構いません。 よろしくお願いします。

    • ベストアンサー
    • Java
  • CreateObjectとはどういう意味なのでしょ

    CreateObjectとはどういう意味なのでしょうか? よく、IEを立ち上げたい時に Set ObjIE = CreateObject("InternetExplorer.application") を使ってましたが、 Debug.Print CreateObject("Wscript.NetWork").ComputerName でコンピューター名を取得できる事を知りました。 CreateObjectは、オブジェクトやインスタンスを作成するものだと思っていたのですが、 CreateObject("Wscript.NetWork").ComputerNameは、 オブジェクトやインスタンスを作成してないですよね? なので混乱しています。 あと、CreateObjectは関数なのでしょうか?メソッドなのでしょうか?

  • VBScript による疎通確認

    今、以下のVBScriptを使い2台のPCサーバへ成功の監査としてログイン・ログオフ記録をアプリケーションログに書き込んでいます。しかし、このVBScriptでは、2台のPCサーバの生死を判断することは出来ず、ダウンしているPCサーバだろうがアクセスします。そのため、ログイン・ログオフする度にエラーポップが出てしまいます。 そこで、このVBScriptに疎通確認し判断したのち、生きているPCサーバへのみアクセスするようにしたいのですがどのようにコードを組めば良いのか解りません。ご教授お願いします。 ログインスクリプト Const AUDIT_SUCCESS = 8 Set objShell = WScript.CreateObject("WScript.Shell") Set objNetwork = WScript.CreateObject("WScript.Network") strMsg = objNetwork.UserName + " logon " objShell.LogEvent AUDIT_SUCCESS, strMsg, "\\マシン名1" objShell.LogEvent AUDIT_SUCCESS, strMsg, "\\マシン名2" ログオフスクリプト Const AUDIT_SUCCESS = 8 Set objShell = WScript.CreateObject("WScript.Shell") Set objNetwork = WScript.CreateObject("WScript.Network") strMsg = objNetwork.UserName + " logoff " objShell.LogEvent AUDIT_SUCCESS, strMsg, "\\マシン名1" objShell.LogEvent AUDIT_SUCCESS, strMsg, "\\マシン名2"

  • VBSでルートフォルダ名を取得したい

    (I)ドライブにUSBメモリーがあってルートフォルダ名がABCだとします。 VBSでルートフォルダ名を取得したくてコード書いてみたんですがMsgBoxには空欄しかでません。なにが間違っているのか教えて頂けないでしょうか? dim objFSO dim objDrive Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objDrive = objFSO.GetDrive("I") MsgBox objDrive.RootFolder.name

  • クライアントのIPとマシン名を取得したい

    JSP/サーブレットで開発をしております。 ログイン者のIPアドレスとマシン名を取得したいと思っているのですがどのようにすればよいでしょうか? getHostName()で取得できると聞いたのですが、サーバーマシンのマシン名しか取得できませんでした。 どうか教えてください。

  • VBSでネットワークインターフェース名を取得したい。

    VBSでネットワークインターフェース名を取得したい。 こんにちわ!いつもお世話になっております。 さっそく質問なのですが、VBSを利用してネットワークインターフェース名を 取得する方法を教えてください。環境は、Windows7です。 Netshのコマンドを利用して、動的にDHCPまたはDGWの設定を変更したいと考えて おります。そのため、Netshのコマンドに必要なネットワークインターフェース名を 取得できないかと考えております。 下記のようなスクリプトを作成したのですが、下記のスクリプトでは文字数の変化に 対応ができないのと、余計な文字(:)を取得してしまいます。 検証用のWindows7で下記を実行すると、「ローカル エリア接続:」となりました。 ---------------------------------------------------------------------- If Err.Number = 0 Then Do Until objExec.StdOut.AtEndOfStream strLine = objExec.StdOut.ReadLine If InStr(strLine, "イーサネット アダプター") <> 0 Then iColon = Instr(strLine, ":") objEthernet = Mid(strLine, iColon - 11) End If Loop End If ---------------------------------------------------------------------- どんなネットワークインターフェース名でも、取得できるようにするにはどうしたら 良いでしょうか。 ご教授いただけると、大変助かります。よろしくお願い致します。

  • FileSystemObjectでのパス名の取得

    お世話になります。 VBScriptでフォルダ内のファイルコピーのスクリプトを作っているのですが、FileSystemObjectを使用してネットワーク共有してある日本語のフォルダ名(Getfolder)を取得すると文字化けして取得できません。 Dim fso,fo set fso = CreateObject("Scripting.FileSystemObject") set fo = fso.getfolder(フォルダパス) WScript.Echo fo.path <---フォルダのパスを表示 なにか解決する方法はありますでしょうか? ちなみに、ローカルドライブの日本語フォルダは正常に取得できました。

  • Java での グローバルIP取得

    Java を利用してグローバルIPの取得方法を探しています。 以下のサイトを参考にいたしました。 http://stackoverflow.com/questions/2939218/getting-the-external-ip-address-in-java 文中中ほどの以下のソースを試したのですが「checkip.amazonaws.com」と通信を行うせいか、ワンテンポページ表示に時間がかかります。 JavaでのグローバルIP取得するには他に良い方法はあるのでしょうか? それとも、whatismyipのようなサイトと通信を行わないとできないのでしょうか? よろしくお願い致します。 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; public class IpChecker { public static String getIp() throws Exception { URL whatismyip = new URL("http://checkip.amazonaws.com"); BufferedReader in = null; try { in = new BufferedReader(new InputStreamReader( whatismyip.openStream())); String ip = in.readLine(); return ip; } finally { if (in != null) { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } } } }