我有由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。