C# VisualSVN服务器,来自C的控件#

C# VisualSVN服务器,来自C的控件#,c#,wmi,visualsvn-server,C#,Wmi,Visualsvn Server,关于这个职位 我正在尝试管理特定文件夹的用户权限 对于存储库本身的管理,一切正常 但是,当我尝试更改存储库的ManagementBaseObject而不是ManagementObject的“Object”参数时,就会引发异常 我知道在较新版本的服务器中有一种新的方法可以做到这一点(使用path替换引用的对象) 感谢您在VisualSVN_SecurityDescriptor中提供任何帮助参数对象。SetSecurity()方法应引用WMI对象(对象路径),而不是WMI对象本身。请尝试使用Mana

关于这个职位

我正在尝试管理特定文件夹的用户权限

对于存储库本身的管理,一切正常

但是,当我尝试更改存储库的
ManagementBaseObject
而不是
ManagementObject
的“Object”参数时,就会引发异常

我知道在较新版本的服务器中有一种新的方法可以做到这一点(使用path替换引用的对象)


感谢您在VisualSVN_SecurityDescriptor中提供任何帮助

参数
对象
。SetSecurity()方法应引用WMI对象(对象路径),而不是WMI对象本身。请尝试使用ManagementPath.NET类。Visual VN_SecurityDescriptor中的参数<代码>对象。SetSecurity()方法应引用WMI对象(对象路径),而不是WMI对象本身。尝试ManagementPath.NET类应该会有帮助。

异常“没有帮助。告诉我们例外情况是什么。您的意思是这是运行时异常还是编译时错误?请检查更新的答案:“异常”没有帮助。告诉我们例外情况是什么。您的意思是这是运行时异常还是编译时错误?请检查更新的答案:
//ManagementBase object related to the folder is not null and is already retrieved at this step
ManagementClass userClass = new ManagementClass("root\\VisualSVN", "VisualSVN_User", null);
ManagementClass authzClass = new ManagementClass("root\\VisualSVN", "VisualSVN_SecurityDescriptor", null);
ManagementClass permClass = new ManagementClass("root\\VisualSVN", "VisualSVN_PermissionEntry", null);

ManagementObject userObject = VisualSVN_User.instances[str].Mo;
ManagementObject permObject = permClass.CreateInstance();
permObject.SetPropertyValue("Account", userObject);
permObject.SetPropertyValue("AccessLevel", 2);

ManagementBaseObject inParams = authzClass.GetMethodParameters("SetSecurity");

inParams["Object"] = entry; 
inParams["Permissions"] = new object[] { permObject };

ManagementBaseObject outParams = authzClass.InvokeMethod("SetSecurity", inParams, null); //raise exception.