私の会社は現在Windows7に移行しており、このシステムで実行するようにソフトウェアをアップグレードしています。しかし、リモート接続でレジストリキーをチェックするソフトウェアがあります。そして今、楽しいもの、非常に簡単な方法:
/// <summary>
/// Contoler cle registre
/// </summary>
/// <param name="posteClient">Poste client</param>
/// <returns>Microsoft.Win32.RegistryKey</returns>
protected RegistryKey Initialiser(string cle, string posteClient)
{
RegistryKey regKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, posteClient);
regKey = regKey.OpenSubKey(cle, RegistryKeyPermissionCheck.ReadWriteSubTree, System.Security.AccessControl.RegistryRights.FullControl);
return regKey;
}
Windows 7では動作しません(XP SP3では問題ありません)私はWindows 7(リモートマシン)およびWindows XP(ソフトウェアの起動元のローカルマシン)のネットワーク管理者です。
最初の問題は、リモートマシンのDNS名を指定すると、「ネットワークパスが見つかりません」というエラーがスローされ、DNS名はよく知られています=>nslookupによってチェックされます。代わりにIPを使用すれば、問題はありません。
OpenSubKeyに到達すると、FullControlパラメーターを使用してメソッドを起動した場合でも、「アクセスが拒否されました」という別のエラーが発生します。
では、どうすればWindows 7のリモートレジストリキーに接続できますか(そして明らかにWindows XPで実行されます)。
正確には、ソフトウェアはWindows XPで実行され、Windows7を実行しているリモートマシンに接続しようとするとアクセスが拒否されます。リモートマシンがWindowsXPの場合、問題はありません。
助けてくれてありがとう。