C# 使用PowerShell命令和参数创建Exchange邮箱时出错

C# 使用PowerShell命令和参数创建Exchange邮箱时出错,c#,.net,powershell,C#,.net,Powershell,以下PowerShell脚本尝试为具有(a)保留策略和(b)存档配额的用户创建Exchange邮箱: PSCommand command = new PSCommand(); command.AddCommand("Enable-Mailbox"); command.AddParameter("Alias", K2.ProcessInstance.DataFields["Account-ADAlias"].Value.ToString()); command.AddParameter("Ide

以下PowerShell脚本尝试为具有(a)保留策略和(b)存档配额的用户创建Exchange邮箱:

PSCommand command = new PSCommand();

command.AddCommand("Enable-Mailbox");
command.AddParameter("Alias", K2.ProcessInstance.DataFields["Account-ADAlias"].Value.ToString());
command.AddParameter("Identity", K2.ProcessInstance.DataFields["Account-ADAlias"].Value.ToString());
command.AddParameter("Database", K2.ProcessInstance.DataFields["Account-MailboxDatabase"].Value.ToString());

command.AddCommand("Enable-Mailbox");
command.AddParameter("Identity", K2.ProcessInstance.DataFields["Account-ADAlias"].Value.ToString());
command.AddParameter("Archive");

command.AddCommand("Set-Mailbox");
command.AddParameter("Identity", K2.ProcessInstance.DataFields["Account-ADAlias"].Value.ToString());
command.AddParameter("Database", K2.ProcessInstance.DataFields["Account-MailboxDatabase"].Value.ToString());
command.AddParameter("ArchiveQuota", "2GB");
command.AddParameter("ArchiveWarningQuota", "1.8GB");
command.AddParameter("RetentionPolicy", "No Archive Delete after 10years");

powershell.Commands = command;
运行脚本时会生成以下错误:

无法使用指定的命名参数解析参数集

注意:以“K2.ProcessInstance.Datafields”开头的变量都已验证为有效


我不知道如何解决这个错误。我已查阅了有关Exchange的PowerShell模块文档。感谢您的指导。

Powershell无法确定您在该特定调用中使用的参数集

使用多个不同的参数集。我认为commandlet接受13个不同的参数集。通过只提供
别名
标识
数据库
,Powershell无法确定使用的是哪个参数集,因此它会举手并给出错误信息。这是因为这三个参数是列表中几乎所有参数集的一部分(我认为
数据库
从一个参数中被省略)

在文章中描述了这个问题(针对不同的用例)

希望这有帮助


A-

错误消息中是否给出了行号或引用了代码段,您可以与我们共享?如果您提供行号,请让我们知道与之匹配的行。此应用程序使用运行此代码的工作流服务器,我正在尝试获取错误日志文件,以便更详细地查看错误