Я пытаюсь экспортировать правило транспорта программно.C# программно экспортировать правило транспорта - обмен 2010
Мой код работает для простых команд, таких как get-exchangeserver и get-TransportRule, но если я попытаюсь дать команду импортировать правила в какой-то файл, он даст ошибку, чтобы данная команда не была распознана как командлет, скрипт.
Мой код, как показано ниже (я попытался дать как проверку подлинности Windows или проверку подлинности пользователя, который является обменом администратора):
WSManConnectionInfo connectionInfo = new WSManConnectionInfo(serverUri, SHELL_URI, creds);
try
{
using (Runspace rs = RunspaceFactory.CreateRunspace(connectionInfo))
{
PowerShell psh = PowerShell.Create();
psh.Runspace = rs;
rs.Open();
psh.AddCommand("$file = Export-TransportRuleCollection -ExportLegacyRules" +"Set-Content -Path " + @"C:\LegacyRules3.xml" + "-Value file.FileData -Encoding Byte");
psh.Invoke();
Я использую C# и Exchange Server 2010, версия PowerShell 1.0. Удаленная ОС - Winodws 7.
Любая идея, какую коррекцию я должен делать?
Привет, Спасибо за ответ, если вы видите мой код, который я уже с помощью командлета, но не в состоянии заставить его работать через кодирование, хотел бы знать, как я могу разделить команду, чтобы сделать это работать через код C#. С уважением, Amit – user2281729
Вы уверены, что учетные данные, которые вы используете, принадлежат группам RBAC Exchange, которые имеют необходимые разрешения для этого? Если они не Exchange, они не передадут им этот командлет для использования в сеансе. – mjolinor
Похоже, вы подключаетесь к сеансу ретрансляции Exchange для этого. Это ограниченный, неязычный сеанс, который не имеет доступа к файловой системе на сервере Exchange. Обычно для использования этих сеансов вы создаете локальный сеанс, затем подключаетесь и импортируете функции удаленного сеанса в этот локальный сеанс (неявный удаленный доступ). – mjolinor