J'essaie de copier des fichiers sur un serveur distant, mais le compte que j'utilise mon serveur de construction n'a pas les permissions. Comment puis-je le faire en utilisant des informations d'identification différentes?Comment puis-je copier des fichiers en tant qu'utilisateur différent de msbuild?
Répondre
Essayez d'exécuter la tâche Exec RunAs.exe qui irait à l'xcopy.exe
Il est préférable de créer une extension rapide de la tâche CallTarget qui utilise Impersonator par Uwe Keim, comme ceci:
public class Impersonate : CallTarget
{
public string Domain { get; set; }
[Required]
public string UserName { get; set; }
[Required]
public string Password { get; set; }
public override bool Execute()
{
using (new Impersonator(this.UserName, this.Domain, this.Password))
{
return base.Execute();
}
}
}
Ensuite, appel ressemblera à ceci:
<Target Name="DoSms">
<....>
</Target>
<Target Name="Impersonate">
<Impersonate Targets="DoSms" UserName="username" Password="password" Domain="domain"/>
</Target>
J'ai compilé votre code et j'ai mis un
Oui, je l'ai fait, en fait ce code fonctionne maintenant sur notre serveur de construction Le problème que vous décrivez est causé par MSBuild spécifique: $ (USERNAME) est en fait variable d'environnement, et ils sont chargés dans les propriétés une fois au démarrage du projet.Il affichera toujours le nom d'utilisateur du projet de lancement de l'utilisateur.Si vous voulez le voir fonctionner de cette façon, vous peut créer une tâche primitive qui imprime le nom d'utilisateur du thread actuel et l'appeler. Comme vous avez déjà projeté avec tâche en lien avec le fichier projet, ce ne sera pas un gros problème;) –
Ah ça l'explique. Merci! –
- 1. MSBuild - comment copier des fichiers qui peuvent exister ou non?
- 2. Comment copier des fichiers dans un autre répertoire en utilisant MSBuild?
- 3. Comment copier des fichiers avec Windows Batch?
- 4. Transférer des fichiers en tant que paramètres
- 5. Msbuild copier à plusieurs emplacements en fonction de la liste des paramètres de destination?
- 6. Copier des fichiers avec un chemin d'accès large en C++
- 7. Exécution de tests en tant qu'utilisateur différent dans Visual Studio
- 8. en utilisant Visual Studio pour copier des fichiers?
- 9. Comment copier un objet PHP dans un type d'objet différent
- 10. MSBuild "Impossible de copier le fichier" dans l'environnement CI
- 11. Démarrage d'un processus en tant qu'utilisateur différent dans ASP.NET
- 12. Comment configurer le presse-papiers pour copier des fichiers?
- 13. Comment copier des liens symboliques en Perl?
- 14. MSBuild, propriétés et fichiers importés
- 15. Copier des fichiers dans la bibliothèque de documents dans SharePoint
- 16. Comment exécuter une commande en tant qu'utilisateur différent d'un cronjob racine?
- 17. Comment créer un référentiel commun de fichiers MSBuild .proj?
- 18. Tubes nommés en tant que fichiers
- 19. Copier des fichiers d'un projet à l'autre après la construction
- 20. Copier des fichiers dans des répertoires comme spécifié dans une liste de fichiers avec python
- 21. Comment ajouter des fichiers créés dans une tâche msbuild personnalisée pour des actions de build plus tard?
- 22. MSBuild: Comment remplacer le nom de fichier de sortie pour qu'il soit différent du nom d'assembly?
- 23. Comment puis-je copier des fichiers avec ASP.Net en utilisant Vista et IIS7?
- 24. Copier rapidement des fichiers à partir d'un lecteur réseau mappé
- 25. Copier des fichiers dans le répertoire en fonction de l'entrée utilisateur et en utilisant * pour lister les fichiers
- 26. Comment copier un répertoire de manière récursive et filtrer les noms de fichiers en Perl?
- 27. Comment puis-je séparer les journaux MSBuild des fichiers de projet?
- 28. Ajout des fichiers existants à VS 2008 VS 2008 sans copier les fichiers de projet
- 29. MSBuild: ajouter/copier des dossiers vides via une tâche Zip/Copy
- 30. Programmer des fichiers par lots à copier la nuit
et comment spécifieriez-vous le mot de passe de cet utilisateur dans msbuild? – arconaut
vous avez raison, j'ai oublié RunAs _asks_ pour mot de passe vs acceptant comme un paramètre :( Je suppose que vous pourriez utiliser/savecred mais cela vous obligerait à le faire manuellement la première fois, sur la machine de construction et sous les informations d'identification – zvolkov