1

他のスレッドでこれについて質問し、リモート レジストリにアクセスするためのリンクを取得しました。しかし、私が今直面している問題は、レジストリに値を追加できないことです。次のコードを使用してレジストリの既存のエントリにいくつかの値を追加しようとしましたが、リモートレジストリでは何もしませんでした:

RegistryKey rk;
rk = RegistryKey.OpenRemoteBaseKey(
RegistryHive.CurrentUser, ReadServerName());
regkey = rk.OpenSubKey(LeafRegistry.LeafRoot + "\\sim\\NewView\\");
regkey.SetValue("runsystem", SIMserver);

アップデート

RegistryHive.LocalMachine はここで動作します。開いてすべての操作を実行できますが、なぜ RegistryHive.CurrentUser を使用するのでしょうか。私が言っているのは、上記のコードで「rk」の値を取得しますが、null になる regkey の値を取得できないということです。CurrentUser OpenSubKey が機能していないと思います。

アップデート

詳細に分析したところ、この特定のキーを除いて、他のすべてのキーにアクセスできることがわかりました。この特定のキーで何が起こっているのだろうと思っています。右クリック後にも許可を確認しましたが、表示されませんでしたか?

4

2 に答える 2

0

これは機能しません。プログラムがリモートマシンにアクセスしているユーザーアカウントがリモートマシンにログインしていないとします。Windowsは何をすべきですか?実際、内部で呼び出されるののドキュメントはRegConnectRegistry、許容される引数としてOpenRemoteBaseKeyリストされていません。HKEY_CURRENT_USER

于 2012-12-03T12:18:17.533 に答える
0

ネットワークを介してリモートマシンのレジストリ値を変更しようとする場合、ほとんどの場合、アクセス許可が必要になることはほぼ間違いありません。また、多くの場合、レジストリ値を修正できる場合でも、グループポリシーを介して更新し、元に戻すことができます。

レジストリの特定の部分で編集が制限されている可能性があります。

あなたが管理者の特権を持っていないなら、私はあなたが動けなくなると思います。

于 2012-12-03T12:14:46.933 に答える