通过交换机从用户删除SIP地址

本文关键字:删除 SIP 地址 用户 交换机 | 更新日期: 2023-09-27 18:12:51

我试图通过我的c#应用程序从用户帐户中仅删除SIP地址。我可以使用以下命令通过exchange管理shell成功地删除它。

Set-Mailbox "identity" -EmailAddresses @{Remove="sip: firstname.lastname@domain.com"}

在我的c#应用程序中,我有以下内容,但我不确定如何在那里获得"@{Remove="sip:firstname.lastname@domain.com"}"。

string termUserEmail = txtboxTermFirstName + "." + txtboxTermLastName + "@domain.com";
PSCommand command1 = new PSCommand();
command1.AddCommand("Set-Mailbox");
command1.AddParameter("Identity", termUserEmail);
var sipAddress = new Hashtable();
sipAddress.Add("remove", termUserEmail);
command1.AddParameter("EmailAddresses", sipAddress);

所以,我不确定如何让这个东西正确地执行命令。我确实看过c# -通过Powershell Runspace删除交换电子邮件地址,这让我到目前为止。

通过交换机从用户删除SIP地址

费了好大劲才把这事办好。我错误地认为我需要双引号。当我发出ps命令时,它为我加上了引号,我不知道。所以基本上这是一个简单的修复。

//删除sip地址

        string idTermEmail = "sip:" + txtTermFirstName.Text + "." + txtTermLastName.Text + "@domain.com";

        PSCommand command3 = new PSCommand();
        command3.AddCommand("Set-Mailbox");
        command3.AddParameter("Identity", username);
        var sipAddress = new Hashtable();            
        sipAddress.Add("remove", idTermEmail);
        command3.AddParameter("EmailAddresses", sipAddress);
        powershell.Commands = command3;
        powershell.Invoke();
谢谢你,夫人,一切都好了。我希望其他人能从中受益;)