代码之家  ›  专栏  ›  技术社区  ›  DeMarco

使用EWS管理的API 2.2获取用户帐户别名列表

  •  0
  • DeMarco  · 技术社区  · 7 年前

    我很难理解在使用时如何在PowerShell中获得一些基本的属性 EWS managed API 他们的文档中几乎没有关于使用Powershell完成大多数任务的内容。

    Microsoft.Exchange.WebServices.Data. AlternateId

    $Email = 'user@example.com'
    $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()
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Glen Scales    7 年前

    解析名称 https://msdn.microsoft.com/en-us/library/office/dn645423(v=exchg.150).aspx

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

    https://graph.windows.net/youorg.com/me/proxyAddresses 将返回帐户的所有代理地址