2017-05-24 2 views
1

J'utilise TFS IIdentityManagementService2 dans powershell pour obtenir les détails de l'utilisateur d'un objet utilisateur (champ Assigned To/Created By). Je suis capable d'obtenir un nom d'utilisateur unique comme domaine \ nom d'utilisateur. Comment puis-je obtenir l'identifiant d'email de l'utilisateur maintenant?Comment récupérer un e-mail d'utilisateur à partir d'un nom d'utilisateur dans PowerShell for TFS?

+0

connexes https://stackoverflow.com/questions/39155773/get-email-and-display-name-from-alias-in -visual-studio-team-services –

Répondre

0

Vous pouvez utiliser la méthode GetProperty sur votre objet TeamFoundationIdentity avec le "Courrier" clé:

user.GetProperty("Mail") 

Un exemple de code pour votre référence:

private static readonly Func<TeamFoundationIdentity, string> _emailSelector = 
      identity => 
      { 
       object value; 
       if (identity.TryGetProperty("ConfirmedNotificationAddress", out value) && !string.IsNullOrWhiteSpace((string)value)) 
       { 
        return (string) value; 
       } 

       return (string) identity.GetProperty("Mail"); 
      }; 

Vous pouvez également prendre un regard sur les articles connexes ci-dessous:

+0

Parfait. Cela a servi mon but. Merci Patrick-MSFT. :) Cependant, je n'ai pas utilisé le paramètre null dans GetProperty. Quel est le but de cela? – dia

+0

@dia Désolé mon erreur, c'est une autre méthode [Méthode GetAttribute] (https://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.framework.server.teamfoundationidentity.getattribute (v = vs.110). aspx) qui devrait aussi fonctionner, il y a une valeur par défaut dans cette méthode. J'ai mélangé les deux. Avoir édité la réponse. –