Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell VisualSVN服务器:如何通过脚本创建svn用户_Powershell_Svn_Visualsvn Server - Fatal编程技术网

Powershell VisualSVN服务器:如何通过脚本创建svn用户

Powershell VisualSVN服务器:如何通过脚本创建svn用户,powershell,svn,visualsvn-server,Powershell,Svn,Visualsvn Server,我拥有由VisualSVN服务器管理的svn存储库。用户通过登录名和密码进行身份验证(VisualSVN服务器标准版不支持Active Directory单点登录) 我知道如何通过VisualSVN服务器GUI创建svn用户,但我需要可以执行相同操作的脚本。我可以为此使用powershell cmdlet吗?如果没有,那么我应该更改哪个VisualSVN服务器配置文件来添加新的svn用户?要创建用户,您必须有权访问VisualSVN服务器MMC管理单元。我不知道你是否可以在远程PC上安装它-文档

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


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

要创建用户,您必须有权访问VisualSVN服务器MMC管理单元。我不知道你是否可以在远程PC上安装它-文档中没有明确说明


一旦您拥有该访问权限,请参阅第8页,我只看到VisualSVN通过active directory或LDAP对用户进行身份验证。但我不明白为什么不能通过本地计算机指向VisualSVN进行身份验证。在这种情况下,您实际上不会通过VisualSVN执行此操作,而是通过该机器的操作系统执行此操作。在Linux机器上,您需要添加一个用户,然后将该用户添加到svn组。在Windows上,您可能只需要添加用户

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


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

多亏了
C:\Program Files\VisualSVN Server\WMI\VisualSVNServer.mof
我可以编写自己的cmdlet Add-svuser.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-svuser.ps1-svnHost svn.com-user first-pass first

您现在可以使用PowerShell cmdlet管理用户和组帐户。看见