C# 使用powershell重置邮箱密码时找不到密码参数

C# 使用powershell重置邮箱密码时找不到密码参数,c#,powershell,C#,Powershell,我正在使用powershell命令重置现有邮箱的密码,但是,出现一条错误消息说“找不到与参数名称“password”匹配的参数”。这很奇怪,因为根据MSDN,“password”是一个参数。我错过什么了吗? 我的代码: 从文档中: 此参数适用于基于云的服务中的对象。它不适用于内部部署。 此参数可用于多租户部署。它不适用于内部部署。有关多租户部署的更多信息,请参阅多租户支持 Password参数重置与基于云的邮箱关联的用户帐户的密码。来自文档: 此参数适用于基于云的服务中的对象。它不适用于内部部署

我正在使用powershell命令重置现有邮箱的密码,但是,出现一条错误消息说“找不到与参数名称“password”匹配的参数”。这很奇怪,因为根据MSDN,“password”是一个参数。我错过什么了吗? 我的代码:

从文档中:

此参数适用于基于云的服务中的对象。它不适用于内部部署。

此参数可用于多租户部署。它不适用于内部部署。有关多租户部署的更多信息,请参阅多租户支持

Password参数重置与基于云的邮箱关联的用户帐户的密码。

来自文档:

此参数适用于基于云的服务中的对象。它不适用于内部部署。

此参数可用于多租户部署。它不适用于内部部署。有关多租户部署的更多信息,请参阅多租户支持


Password参数重置与基于云的邮箱关联的用户帐户的密码。

如果您使用的是本地Exchange,则设置密码是AD帐户管理功能。根据您的域级别,您可以使用ADSI、RSAT工具中的AD模块或Quest AD cmdlet

如果您使用的是内部Exchange,则设置密码是一项广告帐户管理功能。根据您的域级别,您可以使用ADSI、RSAT工具中的AD模块或Quest AD cmdlet

那么如何重置密码?那么如何重置密码?
using (Runspace remoteRunspace = RunspaceFactory.CreateRunspace(connectionInfo))
    {
        try
        {
            remoteRunspace.Open();

            PowerShell ps = PowerShell.Create();
            ps.Runspace = remoteRunspace;
            ps.AddCommand("Set-Mailbox");
            string PrincipalName = userId + emailDomain;
            ps.AddParameter("Identity", identity);
            ps.AddParameter("UserPrincipalName", PrincipalName);
            ps.AddParameter("Name", name);
            ps.AddParameter("DisplayName", name);
            ps.AddParameter("Password", emailPwd);//emailPwd is defined as securestring and set value previously, so it cannot be the exception reason
            ps.Invoke();
            return true;
        }
        catch (Exception ex)
        {
            throw ex;
            return false;
        }
        finally
        {
            remoteRunspace.Close();
        }