2017-06-14 359 views
1

我有由VisualSVN服務器管理的svn存儲庫。用戶通過登錄和密碼進行身份驗證(VisualSVN服務器標準版不支持Active Directory單一登錄)。VisualSVN服務器:如何通過腳本創建svn用戶

我知道如何通過VisualSVN服務器GUI來創建svn用戶,但我需要的腳本可以做到這一點。我可以爲此使用PowerShell cmdlet嗎?如果沒有,那麼我應該更改什麼VisualSVN服務器配置文件來添加新的svn用戶?

回答

0

由於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

0

要創建用戶,您必須有權訪問VisualSVN服務器MMC管理單元。我不知道你是否可以將它安裝在遠程PC上 - 文檔沒有完全說明。

一旦你的訪問,請參閱第8頁of the manual

1

我只看到的VisualSVN通過活動目錄或LDAP驗證用戶身份。但我不明白爲什麼你不能指出VisualSVN通過本地機器進行身份驗證。在這種情況下,你不會通過VisualSVN來實現這一點,你可以通過該機器的操作系統來完成。在Linux機器上,您需要添加一個用戶,然後將該用戶添加到svn組。在Windows上,你可能只需要添加用戶。

然後在VisualSVN命令窗口中,右鍵單擊「存儲庫」(頂級工件)並選擇「屬性」,然後單擊「添加」。確保「對象類型」已選擇「用戶」,從「位置」選擇您的機器,然後輸入用戶名。默認情況下,所有存儲庫都會繼承此權限,以便該人員可以訪問所有內容。

若要進一步自動化,請在您的計算機上創建用戶組,然後授予對該組的訪問權限,然後添加用戶並將用戶分配到您的腳本中的組。然後你只需要賦予組權限,你永遠不需要觸摸VisualSVN。

相關問題