1

次のスクリプトを使用してレジストリ キーを変更するとします。

RegistryKey myKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Company\\SomeFolder", true);

if(myKey != null)
{
   myKey.SetValue("NameXYZ", "1", RegistryValueKind.String);
   myKey.Close();
}

権限がないため、値は変更されません。レジストリ キーの値を変更する方法の 1 つは、たとえば管理者権限で VS を実行してからスクリプトを実行することです。しかし、C# スクリプト (.csx) に昇格した権限を設定し、通常の権限で VS などからこのスクリプトを実行する方法はありますか?

4

2 に答える 2

-1

System.Security.Permissions を属性として調べることができます (ファイル アクセスの例を以下に示します)。

 [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
    public void load_From_Compressed_File()
    {
    }

System.Security.Permissions に関する MSDN具体的には、registrypermission 属性をチェックアウトする必要があります。

https://msdn.microsoft.com/en-us/library/system.security.permissions.registrypermissionattribute(v=vs.110).aspx

于 2016-09-11T15:51:16.730 に答える