【问题标题】:VisualSVN Server: how to create svn user via scriptVisualSVN 服务器:如何通过脚本创建 svn 用户
【发布时间】:2017-06-16 22:31:10
【问题描述】:

我有一个由 VisualSVN 服务器管理的 svn 存储库。用户通过登录名和密码进行身份验证(VisualSVN 服务器标准版不支持 Active Directory 单点登录)。

我知道如何通过 VisualSVN 服务器 GUI 创建 svn 用户,但我需要可以执行相同操作的脚本。我可以为此目的使用 powershell cmdlet 吗?如果没有,那么我应该更改什么 VisualSVN 服务器配置文件来添加新的 svn 用户?

【问题讨论】:

    标签: powershell svn visualsvn-server


    【解决方案1】:

    我只见过 VisualSVN 通过活动目录或 LDAP 对用户进行身份验证。但我不明白为什么你不能指向 VisualSVN 通过本地机器进行身份验证。在这种情况下,您实际上不会通过 VisualSVN 执行此操作,而是通过该机器的操作系统执行此操作。在 Linux 机器上,您将添加一个用户,然后将该用户添加到 svn 组。在 Windows 上,您可能只需要添加用户。

    然后在 VisualSVN 命令窗口中,右键单击“存储库”(顶级工件)并选择“属性”,然后单击“添加”。确保“对象类型”选择了“用户”,从“位置”中选择您的机器,然后输入用户名。默认情况下,所有存储库都将继承此权限,使该人可以访问所有内容。

    要进一步自动化,请在您的计算机上创建一个用户组,授予对该组的访问权限,然后只需添加一个用户,并在您的脚本中将该用户分配给该组。然后你只需要给组权限,你永远不需要接触 VisualSVN。

    【讨论】:

      【解决方案2】:

      要创建用户,您必须有权访问 VisualSVN Server MMC 管理单元。我不知道您是否可以将其安装在远程 PC 上 - 文档并没有准确说明。

      获得访问权限后,请参阅第 8 页 of the manual

      【讨论】:

        【解决方案3】:

        感谢
        VisualSVN_User类 C:\Program Files\VisualSVN Server\WMI\VisualSVNServer.mof
        我可以编写自己的 cmdlet Add-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

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-18
        • 2018-05-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多