visualsvn server可以用wmi介面管理(windows management instrumentation)。 visualsvn server安裝的計算機中,位於%visualsvn_server%\wmi下的mof檔案描述了該介面。可以用c#**控制管理visualsvn server。
我機器visualsvn安裝在d盤,mof檔案存在位置:d:\program files\visualsvn server\wmi\visualsvnserver.mof
下面一些**供參考:
using system.management;
using system.management.instrumentation;
並新增 system.management,system.management.instrumentation這兩個元件的引用。
1)建立subversion 使用者 'user1',密碼為'secret'
managementclass userclass = newmanagementclass("root\\visualsvn","visualsvn_user",null);
// obtain in-parameters for the method
managementbaseobject inparams =
userclass.getmethodparameters("create");
// add the input parameters.
inparams["name"] = "user1";
inparams["password"] = "secret";
// execute the method and obtain the return values.
managementbaseobject outparams =
userclass.invokemethod("create", inparams, null);
2)建立新的repository 'repo1'
managementclass repoclass = newmanagementclass("root\\visualsvn","visualsvn_repository",null);
// obtain in-parameters for the method
managementbaseobject inparams =
repoclass.getmethodparameters("create");
// add the input parameters.
inparams["name"] = "repo1";
// execute the method and obtain the return values.
managementbaseobject outparams =
repoclass.invokemethod("create", inparams, null);
3)設定sid s-1-5-32-545 ('builtin\users') windows使用者組對'test' repository的讀/寫許可權. fyi: accesslevel 值在mof有描述: "0 - 無許可權, 1 - 唯讀, 2 - 讀/寫".
managementclass userclass = newmanagementclass("root\\visualsvn","visualsvn_windowsaccount",null);
managementclass authzclass = newmanagementclass("root\\visualsvn","visualsvn_securitydescriptor",null);
managementclass permclass = newmanagementclass("root\\visualsvn","visualsvn_permissionentry",null);
managementobject userobject = userclass.createinstance();
userobject.setpropertyvalue("sid","s-1-5-32-545");
managementobject permobject = permclass.createinstance();
permobject.setpropertyvalue("account", userobject);
permobject.setpropertyvalue("accesslevel", 2);
managementobject repo = newmanagementobject("visualsvn_repository.name='test'");
managementbaseobject inparams =
authzclass.getmethodparameters("setsecurity");
inparams["object"] = repo;
inparams["permissions"] = newobject ;
managementbaseobject outparams =
authzclass.invokemethod("setsecurity", inparams, null);
譯 C 控制管理VisualSVN Server
visualsvn server可以用wmi介面管理 windows management instrumentation visualsvn server安裝的計算機中,位於 visualsvn server wmi下的mof檔案描述了該介面。可以用c 控制管理visualsvn server。我...
譯 C 控制管理VisualSVN Server
visualsvn server可以用wmi介面管理 windows management instrumentation visualsvn server安裝的計算機中,位於 visualsvn server wmi下的mof檔案描述了該介面。可以用c 控制管理visualsvn server。我...
利用visualsvn 管理 linux svn庫
用過visualsvn的朋友一定知道,visualsvn的圖形管理做得比較好。主要visualsvn可以將svn庫的目錄結構讀出來這點是很爽的,後來將svn轉移到linux平台,發現許可權控制變成了一件很痛苦的事情。現在給大家介紹一下我的處理方法。在linux下安裝虛擬機器virtualbox 在v...