Posso desktop remoto in un dato computer ed eseguire svn, senza fornire informazioni di autenticazione, e funziona; la mia autenticazione AD mi consente di accedere al repository che voglio.PowerShell, svn e autenticazione
Posso usare Powershell per connettermi alla macchina ed eseguire anche comandi svn. Tuttavia, quando lo faccio, ottengo "accesso vietato". [Environment]::UserName
viene visualizzato con il nome utente che mi aspettavo (il mio nome utente AD) quando viene eseguito dallo script che viene eseguito da remoto.
Cosa mi manca per far funzionare questo?
Alcuni codice:
$Session = New-PSSession -ComputerName $computerName;
if (-Not ($Session)) {
Write-Host "Did not create session!";
Return;
}
Invoke-Command -Session $Session -FilePath 'switchAllRepositories.ps1' -ArgumentList $branchName;
Remove-PSSession $Session;
e in switchAllRepositories, ho un parametro:
Param(
[string]$branchURL
)
una serie di chiamate come:
If(Test-Path "C:\webfiles\repositoryname") {
Write-Host "Switching repositoryname"
SwitchRepo "repositoryname" ($branchURL) "C:\webfiles\repositoryname";
}
che richiedono:
Function SwitchRepo ($repoName, $branchPath, $workingCopy)
{
$to = ("https://[url]/svn/" + $repoName + $branchPath);
Write-Host "to $to";
#debug
$user = [Environment]::UserName
Write-Host "as $user";
$exe = "C:\Program Files\TortoiseSVN\bin\svn.exe";
&$exe switch "$to" "$WorkingCopy" --username [redacted] --password [redacted] --no-auth-cache --non-interactive --trust-server-cert
if ($process.ExitCode -ne 0) {
#$wshell = New-Object -ComObject Wscript.Shell
#$wshell.Popup("Error switching " + $repoName,0,"Done",0x1)
Write-Host "Error detected!"
}
}
L'errore esatto è:
svn: E175013: Impossibile connettersi a un repository all'URL '[tagliato]' + CategoryInfo: NotSpecified: (SVN: E175013: U ... facilita/20150620' : String) [], RemoteException + FullyQualifiedErrorId: NativeCommandError svn: E175013: l'accesso a '[snipped]' vietato
dipende da come ci si connette. –
@ MathiasR.Jessen Che cosa hai bisogno di sapere? Sto creando una sessione remota e invocando uno script utilizzando la sessione. – Yamikuronue
Mostra la parte di 'switchAllRepositories.ps1' dove accetta i parametri (quando lo chiami con 'Invoke-Command' stai inviando un nome di ramo come argomento), dovrebbe essere un blocco param in cima alla ps1, penso. – briantist