2017-06-14 77 views
1

私はVisualSVNサーバーによって管理されるsvnリポジトリを持っています。ユーザーはログインとパスワードで認証されます(VisualSVN Server Standard EditionはActive Directoryシングルサインオンをサポートしていません)。VisualSVNサーバー:スクリプトを使用してsvnユーザーを作成する方法

私はVisualSVNサーバーGUIを介してsvnユーザーを作成する方法を知っていますが、私は同じことをすることができるスクリプトが必要です。この目的のためにpowershellコマンドレットを使用できますか?そうでない場合は、VisualSVNサーバーの設定ファイルを変更して、新しいsvnユーザーを追加する必要がありますか?

答えて

0

ありがとう:\プログラムファイル\ VisualSVN Serverの\ WMI \ VisualSVNServer.mof
Iアドイン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を使用して実際にこの作業を行うわけではありません。そのマシンのOSを通じて実行します。 Linuxマシンでは、ユーザーを追加して、そのユーザーをsvnグループに追加します。 Windowsでは、おそらくユーザーを追加するだけです。

VisualSVNコマンドウィンドウで、「リポジトリ」(最上位レベルの成果物)を右クリックして「プロパティ」を選択し、「追加」をクリックします。 「オブジェクトタイプ」に「ユーザー」が選択されていることを確認し、「場所」からマシンを選択し、ユーザー名を入力します。すべてのリポジトリは、デフォルトでこのアクセス権を継承し、そのアクセス権をすべてのリポジトリに与えます。

さらに自動化するには、マシンにユーザーグループを作成し、そのグループへのアクセスを許可してからユーザーを追加し、そのユーザーをスクリプトのグループに割り当てます。その後、グループの権限を与えるだけで、VisualSVNに触れる必要はありません。
CからVisualSVN_Userクラスへ

関連する問題