2013-04-03 10 views
5

Znalazłem przewodniki wyjaśniające, jak uruchamiać skrypty PowerShell na serwerze Exchange, ale wszystkie przewodniki wymagają, aby komputer był połączony z domeną, a większość z nich wydaje się używać obejść, a nie najlepszych praktyk.Czy istnieje ostateczny przewodnik do programowego tworzenia Exchange Mailboxes zdalnie?

Czy istnieje sposób zdalnego połączenia z serwerem Exchange za pomocą C# .NET lub VB.NET?

Zasadniczo chcę połączyć się z moim serwerem Exchange za pomocą poświadczeń administratora (dostarczę je, zaszyfrować, w programie) i utworzę skrzynkę pocztową przy użyciu skryptsa PowerShell. To wszystko.

Chciałbym uruchomić aplikację jako aplikację konsolową, a po potwierdzeniu funkcjonalności mogę ją zaimplementować do aplikacji formularzy internetowych lub MVC.

Każda rada jest bardzo doceniana!

+2

Pracowałem z usługami Exchange EWS, ale niestety dotyczy to wyłącznie danych i zarządzania istniejącymi skrzynkami pocztowymi bez tworzenia nowych. Znalazłem to, choć nie wiedziałem, czy to pomoże, ponieważ nie jest moją mocną stroną. http://codingchris.com/2012/02/15/creating-exchange-2010-mailboxes-in-c/ – Chris

Odpowiedz

6

Ostatnio miałem do czynienia z podobnym problemem, poniższy kod pomógł mi wykonać funkcję z bezpiecznym połączeniem ze zdalnym serwerem Exchange.

Runspace remoteRunspace = null; 
PSCredential psc = null; 
// If user name is not passed used the credentials of the current farm account 
if (!string.IsNullOrWhiteSpace(username)) 
{ 
    if (!string.IsNullOrWhiteSpace(domain)) 
     username = domain + "\\" + username; 
    SecureString secpassword = new SecureString(); 
    if (!string.IsNullOrEmpty(password)) 
    { 
     foreach (char c in password) 
     { 
      secpassword.AppendChar(c); 
     } 
    } 
    psc = new PSCredential(username, secpassword); 
} 

WSManConnectionInfo rri = new WSManConnectionInfo(new Uri(RemotePowerShellUrl), PowerShellSchema, psc); 
if (psc != null) 
    rri.AuthenticationMechanism = AuthenticationMechanism.Credssp; 
remoteRunspace = RunspaceFactory.CreateRunspace(rri); 
remoteRunspace.Open(); 

Pipeline pipeline = remoteRunspace.CreatePipeline(); 
Command cmdSharePointPowershell = new Command(Commands.AddPSSnapin.CommandName); 
cmdSharePointPowershell.Parameters.Add(Commands.AddPSSnapin.Name, MicrosoftSharePointPowerShellSnapIn); 
pipeline.Commands.Add(cmdSharePointPowershell); 
pipeline.Invoke(); 

Oczywiście, że będzie jakiś zwykły konfiguracja członkostwa grupy użytkowników, dodatek serwer zdalny bezpieczny/niezabezpieczony zdalnego połączenia i tak dalej. Pomocne może być artykuł this.

+0

Dziękuję, to bardzo mi pomogło. Teraz mogę zdalnie łączyć się i tworzyć użytkowników za pomocą aplikacji konsolowej. Wkrótce opublikuję kod. – TimeBomb006

+0

@ TimeBomb006 - miło mi pomóc :) – MuhammadHani

Powiązane problemy