是否有以编程方式远程创建Exchange邮箱的权威指南?

本文关键字:Exchange 编程 方式远 程创建 创建 是否 | 更新日期: 2023-09-27 18:07:10

我找到了解释如何在Exchange Server上运行PowerShell脚本的指南,但所有指南都要求机器是域连接的,而且大多数指南似乎都使用了变通方法,而不是最佳实践。

是否有一种方法可以使用c#远程连接到Exchange Server。NET还是VB.NET?

本质上,我想使用管理员凭证连接到我的Exchange Server(我将在程序中加密提供它们),并使用PowerShell scriptlet创建一个邮箱。

我想启动应用程序作为一个控制台应用程序,一旦我确认功能,我可以实现它到一个web表单应用程序或MVC。

任何建议都是非常感谢的!

是否有以编程方式远程创建Exchange邮箱的权威指南?

我最近不得不处理一个类似的问题,下面的代码帮助我通过安全连接到远程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();

当然你会配置一些常用的用户组成员,服务器允许远程安全/不安全的远程连接等等。这篇文章可能会有帮助。