views:

23

answers:

1

I get this error with the following code:

System.Management.Automation.CommandNotFoundException: The term new-storagegroup....

RunspaceConfiguration rsConfig = RunspaceConfiguration.Create(); PSSnapInException snapInException = null; PSSnapInInfo info = rsConfig.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.Admin", out snapInException); Runspace myRunSpace = RunspaceFactory.CreateRunspace(rsConfig); myRunSpace.Open();

        //Create pipeline and feed it the script text
        Pipeline pipeline = myRunSpace.CreatePipeline();

        string strScript = "new-storagegroup -Server KINGKONG"
            + " -LogFolderPath c:\\rsg\\logs -Name RecoveryGroup -SystemFolderPath c:\\rsg\\data -Recovery";

        //Create an instance of the Command class by using the name of the cmdlet that you want to run
        Command myCommand = new Command(strScript);

        //Add the command to the Commands collection of the pipeline.
        pipeline.Commands.Add(myCommand);

        Collection<PSObject> results = pipeline.Invoke();
+1  A: 

Use pipeline.Commands.AddScript(strScript) instead. A Command object expects only the Cmdlet, e.g. "New-StorageGroup" alone. You would then use the returned Command object's Parameters collection to add the parameters.

x0n