WMI查询以获取vc ++中的VisualSVN服务器用户访问权限

时间:2013-10-01 06:44:19

标签: visual-c++ wmi vc6 visualsvn-server wmi-query

如何在VC ++中使用WMI查询获取VisualSVN服务器用户访问权限。

我正在编写一个vc ++应用程序来获取&使用WMI查询设置VisualSVN Server的用户访问权限。

我们可以使用

获取Associatedobject并获取存储库名称和路径
 VARIANT vtProp;
 hres = pclsObj->Get(L"AssociatedObject", 0, &vtProp, 0, 0);
 wcout <<L"Values : " << vtProp.bstrVal << endl;

但是没有获取Permission对象值,该权限包含集合对象。

 hres = pclsObj->Get(L"Permissions", 0, &vtProp, 0, 0);  
 SAFEARRAY *pSafeArray = vtProp.parray; 
 LONG uBound = -1, lBound = 0;
 SafeArrayGetUBound(pSafeArray,1,&uBound);
 SafeArrayGetLBound(pSafeArray,1,&lBound);
 int nCount = uBound - lBound + 1;
 for(int i = 0; i<nCount; ++i)
 {
     wcout << ((BSTR*)(pSafeArray->pvData))[i] << endl;
 }

但是没有获得对象值。如何从SafeArray中获取未知对象值。

谢谢..

1 个答案:

答案 0 :(得分:0)

使用WMI是在版本3.4之前获取或管理VisualSVN Server中的Subversion访问规则的选项之一。从VisualSVN Server 3.4开始,服务器附带了为此类任务开发的一些PowerShell cmdlet。例如,要获取所有用户和存储库的所有访问规则,请运行PowerShell cmdlet Get-SvnAccessRule

有关其他VisualSVN Server PowerShell cmdlet和用法示例的信息,请阅读文章KB88: VisualSVN Server PowerShell Cmdlet Reference