2017-06-14 107 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。

相关问题