3

DirectoryEntryオブジェクトを使用してリモートWindows7マシンに接続しようとしています。これが私のコードです

DirectoryEntry obDirEntry = new DirectoryEntry("WinNT://hostName", "hostName\\testUser", "password123", AuthenticationTypes.Secure);               
            try
            {
                if (obDirEntry.Properties.Count > 0)
                {                        
                   //ok
                }
            }
            catch (Exception excp)
            {}

リモートWindowsServer2003マシンまたはローカルWindows7マシンに接続できる場合、エラーは発生しませんでした。しかし、リモートのWindows 7マシンに接続しようとすると、行で例外が発生しますif (obDirEntry.Properties.Count > 0)

 Exception :System.IO.FileNotFoundException: The network path was not found.

 at System.DirectoryServices.Interop.UnsafeNativeMethods.IAds.GetInfo()
 at System.DirectoryServices.DirectoryEntry.RefreshCache()
 at System.DirectoryServices.DirectoryEntry.FillCache(String propertyName)
 at System.DirectoryServices.PropertyCollection.get_Count()

そのリモートウィンドウに7m/cでpingを実行できます。ファイアウォールとUACもオフになっています。問題は、各リモートWindows7マシンでこの問題が発生していることです。ホスト名ではなくURLにIPアドレスを入れようとしましたが、その場合、ローカルマシンでも例外を超えます。nslookupコマンドは、そのリモートm /chostNameを解決できます。これの理由は何でしょうか?これに対して可能な解決策は何ですか?前もって感謝します !!

4

2 に答える 2

2

この方法で Windows 7 (&8) システムに接続できるようにするには、リモート レジストリに適切にアクセスする必要があります。

リモート レジストリに正常に接続する方法については、こちらのガイドを参照してください。ファイルとプリンターの共有の有効化、リモート レジストリ サービスの有効化、リモート レジストリに接続している特定のユーザーのHKLM\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg.

これらすべてのタスクがリモート システムで実行されると、 を使用してリモート システムに接続できるようになりますWinRT://remoteHost。私が持っていたいくつかのシステムでテストしたところ、動作しました。

システムがドメインにバインドされたシステムであり、接続に使用されているアカウントがドメイン管理者アカウントである場合、これはおそらくすべて自動的に機能します。

于 2012-12-19T19:06:54.580 に答える