我有由VisualSVN服务器管理的svn存储库。用户通过登录和密码进行身份验证(VisualSVN服务器标准版不支持Active单点登录)。
我知道如何通过VisualSVN服务器GUI创建svn用户,但我需要能够这样做的脚本。为此,我可以使用powershell cmdlet吗?如果没有,那么应该更改什么VisualSVN服务器配置文件来添加新的svn用户?
发布于 2017-06-16 12:36:53
感谢VisualSVN_User类
C:\程序文件\VisualSVN Server\WMI\VisualSVNServer.mof
我可以编写自己的cmdletadd-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的示例
发布于 2017-06-15 11:41:50
我只看到VisualSVN通过活动目录或LDAP对用户进行身份验证。但我不明白为什么您不能指向VisualSVN通过本地机器进行身份验证。在这种情况下,您实际上不会通过VisualSVN来完成这个任务,而是通过该机器的操作系统来完成。在Linux机器上,您将添加一个用户,然后将该用户添加到svn组中。在Windows上,您可能只需添加用户即可。
然后在VisualSVN命令窗口中,右键单击“存储库”(顶级工件)并选择"Properties",然后单击"Add“。确保“对象类型”有“用户”选项,从“位置”中选择您的机器,然后输入用户名。默认情况下,所有存储库都将继承此权限,从而使该用户能够访问所有内容。
为了进一步自动化,在您的机器上创建一个用户组,授予对该组的访问权限,然后只添加一个用户,然后将用户分配给脚本中的组。然后,您只需要给组权限,就不需要碰VisualSVN了。
发布于 2017-06-14 19:13:55
若要创建用户,必须访问VisualSVN服务器MMC插件。我不知道你是否可以在远程PC上安装它--文档中并没有这么说。
一旦您有了访问权限,请参阅第8页手册的。
https://stackoverflow.com/questions/44548301
复制相似问题