Polecenia Exchange PowerShell przez C #

Używam C # do wysyłania poleceń PowerShell współdziałających z Exchange. Mam metodę zwanąinitconnection który ustawia moje połączenie z Exchange.

Mam inną metodę, którą dzwonię po kliknięciu przycisku, który wyśle ​​polecenie do PowerShell po nawiązaniu połączenia. Nie mogę jednak kontynuować utworzonego połączenia. Gdy próbuję uruchomić polecenie, mówi, że polecenie nie zostało znalezione. Więcej niż prawdopodobne, ponieważ nie ma cmdletów wymiany.

<code>Runspace runspace = System.Management.Automation.Runspaces.RunspaceFactory.CreateRunspace();

runspace.Open();

Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.AddScript("Set-ExecutionPolicy Unrestricted -Scope process -Force;$password = ConvertTo-SecureString -AsPlainText -Force " + password + ";$mycred = new-object -typename System.Management.Automation.PSCredential -argumentlist " + username + ",$password;$LiveCred = Get-Credential -Credential $mycred; $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic –AllowRedirection; Import-PSSession $Session");
// pipeline.Commands.Add("Out-String");

pipeline.Invoke();
mpeAdd.Hide();
</code>

Jest to metoda łączenia, która tworzy połączenie.

<code>protected void Get_Mailboxes(object sender, EventArgs e) {

    PowerShell powershell = PowerShell.Create();
    PSCommand command = new PSCommand();
    command = new PSCommand();
    command.AddCommand("Get-Mailbox");

    powershell.Commands = command;
    powershell.Runspace = runspace; //Also it says runsapce doesn't exist in this context.
    Collection<PSObject> commandResults = powershell.Invoke();

    StringBuilder sb = new StringBuilder();

    ArrayList boxesarray = new ArrayList();

    foreach (PSObject ps in commandResults)
    {
        boxesarray.Add(ps.Properties["Alias"].Value.ToString());
    }

    boxes.DataSource = boxesarray;
    boxes.DataBind();
}
</code>

To jest moja metoda, którą dzwonię, gdy klikam przycisk po utworzeniu połączenia, ale nie działa.

questionAnswers(2)

yourAnswerToTheQuestion