У меня есть две строки команды power-shell в коде ниже. Команда 1 включает почтовый ящик, а команда 2 отключает активную синхронизацию.Команда C# и powershell multiple
PSCommand psCmd = new PSCommand();
command2 ="Enable-Mailbox -Identity \""+ ExchangeIdentity
+"\" -Database \""+ExchangeDBName+ "\" -DomainController \""
+ExchangeDC+"\" -primarysmtpaddress \""+ExchangePrimarySMTPAddress +"\"";
command1 = "Set-CASMailbox -Identity \"" +ExchangePrimarySMTPAddress
+"\" -ActiveSyncEnabled "+ActiveSync_Status;
allcommand = command2 + " |" + command1;
runspace.Open();
powershell.AddScript(allcommand);
powershell.Runspace = runspace;
ICollection<PSObject> iobj = powershell.Invoke();
Когда я пытаюсь запустить команду 1 только в сценарии добавления, почтовый ящик создается успешно. Когда я совмещаю его со вторым, создается только один почтовый ящик, но активная синхронизация не отключается (если я передаю значение как значение false).
Как я могу обрабатывать две команды в одной строке?
Вы можете использовать AddStatement() для запуска команд в один вызов. См. Ответ @ JasonShirks ниже. –