Как сделать почтовые контакты в Microsoft Exchange? - PullRequest
0 голосов
/ 25 сентября 2019

Я ищу альтернативный способ создания почтовых контактов в Microsoft Exchange с использованием C #, обычно с использованием API EWS для Microsoft Exchange 2016 вместо использования команды Powershell New-MailContact.Я знаю, что очень похожий вопрос по SO, но он был опубликован в 2012 году, так что, надеюсь, что-то новое появилось между ними.

Если это не так, то в любом случаесоздать контакт в Active Directory, который будет отражен как почтовый контакт в Exchange?

1 Ответ

0 голосов
/ 26 сентября 2019

Скорее всего, вам понадобится Exchange Management Shell .Код будет выглядеть примерно так:

using System;
using System.Security;
using System.Management.Automation;
using System.Management.Automation.Runspaces;

public bool CreateMailContact(string firstName, string lastName, string alias, string email)
    {
      string fullName = firstName + " " + lastName;
      string address = "SMTP:" + ExternalEmail;

      RunspaceConfiguration runspacesConfig = RunspaceConfiguration.Create();

      PSSnapInException snapInException = null;
      PSSnapInInfo info = runspaceConfig.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.SnapIn", out snapInException);
      Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfig);
      runspace.Open();
      Pipeline pipeline = runspace.CreatePipeline();

      Command createCommand = new Command("New-MailContact");
      createCommand.Parameters.Add("ExternalEmailAddress", address);
      createCommand.Parameters.Add("Name", name);
      createCommand.Parameters.Add("Alias", alias);
      createCommand.Parameters.Add("FirstName", firstName);
      createCommand.Parameters.Add("LastName", lastName);
      pipeline.Commands.Add(createCommand);
      try
      {
        pipeline.Invoke();
      }
      catch (Exception ex)
      {
        Console.WriteLine("An error occurred.")
      }
      finally
      {
        runspace.Dispose();
        return true;
      }
      return false;
    }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...