1

我正在尝试以编程方式导出传输规则。

我的代码适用于 get-exchangeserver 和 get-TransportRule 等简单命令,但如果我尝试将命令导入规则赋予某个文件,则会给出错误,即给定命令无法识别为 cmdlet、脚本。

我的代码如下(我尝试同时提供 Windows 身份验证或交换管理员用户身份验证):

WSManConnectionInfo connectionInfo = new WSManConnectionInfo(serverUri, SHELL_URI, creds);
try
{
    using (Runspace rs = RunspaceFactory.CreateRunspace(connectionInfo))
    {
        PowerShell psh = PowerShell.Create();
        psh.Runspace = rs;
        rs.Open();
        psh.AddCommand("$file = Export-TransportRuleCollection -ExportLegacyRules" +"Set-Content -Path " + @"C:\LegacyRules3.xml" + "-Value file.FileData -Encoding Byte");
        psh.Invoke();

我正在使用 C# 和 Exchange Server 2010,PowerShell 版本是 1.0。远程操作系统是 Winodws 7。

知道我应该做什么更正吗?

4

1 回答 1

0

从 Export-TransportRuleCollection 的文档中:

在 Exchange 2010 中,您必须将规则集合导出到变量,然后使用 Set-Content cmdlet 将数据写入 XML 文件。有关详细信息,请参阅设置内容。

http://technet.microsoft.com/en-us/library/bb124410(v=exchg.141).aspx

于 2013-04-15T10:31:47.753 回答