J'ai une application que j'utilise pour exécuter des commandes Exchange Powershell à l'intérieur du code C# comme ci-dessous. Voici un exemple des lignes pertinentes que j'utilise pour exécuter la commande powershell.Exécution d'une commande powershell en C# avec "Impossible d'appeler cette fonction parce que l'hôte actuel ne l'implémente pas"
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();
Ce code fonctionne parfaitement dans tous les cas jusqu'à présent. Le script que j'essaie de lancer à la place de celui ci-dessus consiste à définir RetentionPolicy pour une boîte aux lettres. Le script que je suis en train de courir ressemble à ceci:
Set-Mailbox -Identity « rj » « Politique de rétention du campus principal » -RetentionPolicy
Quand je lance cela dans powershell lui-même il fonctionne parfaitement, mais lorsque je tente de exécutez-le en utilisant le code ci-dessous, je reçois l'erreur, "Impossible d'appeler cette fonction parce que l'hôte actuel ne l'implémente pas." De cette erreur, il semble presque que la commande qui s'exécute en C# ne peut pas exécuter la commande RetentionPolicy mais cela n'a pas beaucoup de sens. J'ai googlé ceci et essayé tout suggéré mais pas de chance.
Si quelqu'un sait pourquoi cela se produit, ce serait très utile.
Vous cloués avec le -Fo rce. Cela a fonctionné parfaitement une fois que j'ai ajouté cela. Merci pour l'aide, qui complète ces exigences. Impressionnant! –
A travaillé comme un charme !!! Merci –
tout échantillon de code source complet? peut être source trop complète pour créer un hôte .. – Kiquenet