0

J'ai du mal à comprendre comment obtenir des propriétés de base dans PowerShell en utilisant le EWS managed API leur documentation n'a rien à voir avec l'utilisation de Powershell pour accomplir la plupart des tâches .Utiliser EWS Managed API 2.2 pour obtenir une liste d'alias du compte de l'utilisateur

Ce que je veux vraiment voir, c'est tous les alias dans le compte de l'utilisateur. Mais je ne comprends pas comment certains domaines spécifiques qui y sont énumérés par exemple Microsoft.Exchange.WebServices.Data.AlternateId

$Email = '[email protected]' 
$Pass = 'example4321' 
#path for the Exchange WebServices DLL 
$EWSPath = "C:\path\Microsoft.Exchange.WebServices.dll" 
#Connecting with EWS/Exchange 
[Reflection.Assembly]::LoadFile($EWSPath) | Out-Null 
$service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2013_SP1) 
$service.Credentials = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials($Email,$Pass) 
$service.Url = new-object Uri("https://outlook.office365.com/EWS/Exchange.asmx"); 
$service.traceenabled = "true" 

#Defining the Root folder 

$RootFolderId = new-object Microsoft.Exchange.WebServices.Data.FolderId([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Inbox,$email) 
$RootFolder = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($Service,$RootFolderId) 
# ################ 
# Here I want to list all the user's aliases. 
################## 
$Mailbox = $RootFolder.getMailbox() 

Répondre

1

ResolveName https://msdn.microsoft.com/en-us/library/office/dn645423(v=exchg.150).aspx est probablement le plus proche, vous arriverez à quelque chose qui va faire dans SAP par exemple si vous résolvez le nom puis retour les informations de contact du répertoire. Cependant, il ne retourne les 3 premières adresses dans les EmailAddresses collection.eg

$ncCol = $service.ResolveName("[email protected]", [Microsoft.Exchange.WebServices.Data.ResolveNameSearchLocation]::DirectoryOnly, $true); 
if($ncCol.Count -gt 0){ 
    #Write-output ("Found " + $ncCol[0].Contact) 
} 

Si vous utilisez Office365 alors ce genre de chose est le mieux adapté à l'API graphique qui renverra toutes les informations que vous cherchez par exemple https://graph.windows.net/youorg.com/me/proxyAddresses retournera toutes les adresses proxy d'un compte