我有由VisualSVN服務器管理的svn存儲庫。用戶通過登錄和密碼進行身份驗證(VisualSVN服務器標準版不支持Active Directory單一登錄)。VisualSVN服務器:如何通過腳本創建svn用戶
我知道如何通過VisualSVN服務器GUI來創建svn用戶,但我需要的腳本可以做到這一點。我可以爲此使用PowerShell cmdlet嗎?如果沒有,那麼我應該更改什麼VisualSVN服務器配置文件來添加新的svn用戶?
我有由VisualSVN服務器管理的svn存儲庫。用戶通過登錄和密碼進行身份驗證(VisualSVN服務器標準版不支持Active Directory單一登錄)。VisualSVN服務器:如何通過腳本創建svn用戶
我知道如何通過VisualSVN服務器GUI來創建svn用戶,但我需要的腳本可以做到這一點。我可以爲此使用PowerShell cmdlet嗎?如果沒有,那麼我應該更改什麼VisualSVN服務器配置文件來添加新的svn用戶?
由於VisualSVN_User從
Ç類:\ Program Files文件\ VisualSVN服務器\ WMI \ VisualSVNServer.mof
我可以寫我自己的cmdlet的附加SvnUser.ps1
[CmdletBinding()]
param(
[Parameter(Mandatory=$True)]
[string] $svnHost,
[Parameter(Mandatory=$True)]
[string] $user,
[Parameter(Mandatory=$True)]
[string] $password
)
$userObj = Get-CimInstance -ComputerName $svnHost `
-Namespace root\VisualSVN -Class VisualSVN_User | ? {$_.Name -eq $user}
if($userObj -ne $null) {
Invoke-CimMethod -InputObject $userObj `
-MethodName "SetPassword" -Arguments @{Password=$password}
}
else {
Invoke-CimMethod `
-ComputerName $svnHost -Namespace root\VisualSVN -Class VisualSVN_User `
-MethodName Create -Arguments @{Name=$user; Password=$password}
}
使用 示例PS C:\> .\Add-SvnUser.ps1 -svnHost svn.com -user first -pass first
要創建用戶,您必須有權訪問VisualSVN服務器MMC管理單元。我不知道你是否可以將它安裝在遠程PC上 - 文檔沒有完全說明。
一旦你的訪問,請參閱第8頁of the manual
我只看到的VisualSVN通過活動目錄或LDAP驗證用戶身份。但我不明白爲什麼你不能指出VisualSVN通過本地機器進行身份驗證。在這種情況下,你不會通過VisualSVN來實現這一點,你可以通過該機器的操作系統來完成。在Linux機器上,您需要添加一個用戶,然後將該用戶添加到svn組。在Windows上,你可能只需要添加用戶。
然後在VisualSVN命令窗口中,右鍵單擊「存儲庫」(頂級工件)並選擇「屬性」,然後單擊「添加」。確保「對象類型」已選擇「用戶」,從「位置」選擇您的機器,然後輸入用戶名。默認情況下,所有存儲庫都會繼承此權限,以便該人員可以訪問所有內容。
若要進一步自動化,請在您的計算機上創建用戶組,然後授予對該組的訪問權限,然後添加用戶並將用戶分配到您的腳本中的組。然後你只需要賦予組權限,你永遠不需要觸摸VisualSVN。