2016-04-11 12 views
4

Ich arbeite an einem Projekt, bei dem wir Verzögerung der Assemblys verzögern. Ich muss das Tool für starke Namen einige Male während des Builds verwenden, um die starke Namensüberprüfung zu deaktivieren und dann die Assemblys vollständig zu signieren, bevor sie gepackt werden. Ich versuchte, ein Powershell-Schritt zu verwenden Überprüfung auszuschalten, aber es kam mit diesem Fehler:Run Powershell oder Eingabeaufforderung als Administrator während Builds von Visual Studio Team Services

Script:

$testprojs = gci Project.*.dll -r 
$testprojs | % { 
      sn -Vr $_ 
      write-output $("Turned off sn verification for " + $_.Name) 
} 

Fehler:

Failed to open registry key -- Administrator permissions are needed to use 
the selected options. Use an administrator command prompt to complete these tasks. 

Also habe ich ein Skript, das laufen würde der erste, aber der erhöhte Parameter hinzugefügt. Dies machte keinen Unterschied.

Ich habe auch versucht, eine Eingabeaufforderung Schritt statt Powershell. Dies führte ebenfalls zum gleichen Fehler.

Wenn ich versuchte, das gleiche Skript rdp'd auf dem Build-Agent-Maschine selbst auszuführen, funktioniert es wie vorgesehen. Nur wenn es als Schritt im Build ausgeführt wird, funktioniert es nicht.

Irgendwelche Ideen?

Antwort

2

Nach Ihrer Beschreibung:

When I tried running this same script rdp'd to the build agent machine itself, it works as intended.

Ich nehme an, Sie Ihren eigenen Build-Agenten für Build verwenden. Dann kann dies verursacht werden, weil der Erstellungsagent nicht mit einem Administratorkonto ausgeführt wird. Bitte aktualisieren Sie Ihren Build-Agent, um ihn mit einem Administratorkonto auszuführen, und versuchen Sie es erneut.

Run the agent Run as a service

If you deployed the agent to run as a Windows service, then the agent running status can be controlled from the Services snap-in. Run services.msc and look for "VSO Agent()". If you need to change the logon account, don't do it from the services snap-in. Instead, From an elevated Command Prompt, run: C:\Agent\Agent\VsoAgent.exe /ChangeWindowsServiceAccount Run interactively

Otherwise if you installed the agent to run interactively, the agent can be started by launching Agent\VsoAgent.exe.

für weitere Details zu diesem Link finden: Run the agent

+0

Das war es! Ja, es ist unser eigener Build-Agent. Ich hatte nicht erkannt, dass das Konto, unter dem der Dienst ausgeführt wurde, keine administrativen Berechtigungen hatte. Prost –