Ejecutar un comando powershell en errores de C # con "No se puede invocar esta función porque el host actual no la implementa"

Tengo una aplicación que uso para ejecutar comandos de Exchange Powershell dentro del código C # como se muestra a continuación. Este es un ejemplo de las líneas relevantes que uso para ejecutar el comando powershell.

            RunspaceConfiguration rsConfig = RunspaceConfiguration.Create();
        PSSnapInException snapInException = null;

        //load Exchange shell
        rsConfig.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.E2010", out snapInException); 
        Runspace runSpace = RunspaceFactory.CreateRunspace(rsConfig);

        //open runspace
        runSpace.Open();

        //setup pipeline
        Pipeline pipeLine = runSpace.CreatePipeline();
        String sScript = "get-mailbox -identity 'rj'";

        //add script to pipeline
        pipeLine.Commands.AddScript(sScript);

        //run the script
        pipeLine.Invoke();
        pipeLine.Dispose();

Este código funciona perfecto en todos los casos hasta ahora. El script que estoy tratando de ejecutar en lugar del anterior es configurar RetentionPolicy para un buzón. El script que estoy tratando de ejecutar se ve así:

Set-Mailbox -Identity 'rj' -RetentionPolicy 'Main Campus Retention Policy'

Cuando ejecuto esto en PowerShell, funciona perfectamente, pero cuando trato de ejecutarlo usando el código siguiente, aparece el error "No se puede invocar esta función porque el host actual no la implementa".

A partir de este error, casi parece que el comando que se ejecuta en C # no puede ejecutar el comando RetentionPolicy, pero eso no tiene mucho sentido. Busqué en Google esto y probé todo lo sugerido, pero no tuve suerte.

Si alguien sabe por qué sucede esto, sería muy útil.

Respuestas a la pregunta(1)

Su respuesta a la pregunta