VS2008 C#で作っています。社内PCのOSバージョンやコンピュータ名を取得しようと、次のようなコードを含むツールを使用していました。ipAddressには「192.168.100.200」のように、IPアドレスが流れてきます。
lang
1public string GetOsVersion(string ipAddress) 2{ 3 try 4 { 5 using (var reg = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, ipAddress)) 6 using (var key = reg.OpenSubKey(@"Software\Microsoft\Windows NT\CurrentVersion\")) 7 { return string.Format(key.GetValue("ProductName").ToString()); } 8 } 9 catch 10 { return "不明"; } 11}
今までこれで問題なく使えていましたが、ある時からこの機能が使えなくなっていたことに気付きました。たまにしか使わないため、どの時点でこうなったのかわかりませんが、1つめのusingのところでcatchが入り、すべての端末が不明となって出てきてしまいます。
この「RegistryKey.OpenRemoteBaseKey」が使えなくなった理由は何が考えられるでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/09/11 03:45
2014/09/11 04:44
2014/09/11 04:45
2014/09/15 03:19
2014/09/15 04:22
2014/09/15 05:57