Как использовать командлет Exchange 2010 в командном файле - PullRequest
2 голосов
/ 25 ноября 2011

Я могу правильно запустить Get-ActiveSyncDeviceAccessRule в командной консоли Exchange. (ссылка: http://technet.microsoft.com/en-us/library/dd776124.aspx)

Затем я написал командный файл, как показано ниже, но получил CommandNotFoundException. Я хотел бы знать, как я могу использовать этот командлет с cmd.exe? Кто-нибудь может мне помочь? Спасибо.

(Примечание редактора: следующие три строки были перенесены для форматирования. Первоначально 1 строка)

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
  Get-ActiveSyncDeviceAccessRule >C:\ActiveSyncDeviceAccessRule_output.txt
  2>C:\standardError.txt
echo %errorlevel% >C:\exitCode.txt

И я получаю ошибку в standardError.txt, как показано ниже:

The term 'Get-ActiveSyncDeviceAccessRule' is not recognized as the name of a
cmdlet, function, script file, or operable program. Check the spelling of the 
name, or if a path was included, verify that the path is correct and try again.
At line:1 char:31
+ Get-ActiveSyncDeviceAccessRule <<<< 
    + CategoryInfo          : ObjectNotFound: (Get-ActiveSyncDeviceAccessRule: 
   String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

1 Ответ

1 голос
/ 29 января 2015

(Ответ от ОП в редактировании вопроса. Преобразован в сообщество Вики Ответ. См. Вопрос без ответов, но проблема решена в комментариях (или расширена в чате) )

ОП написал:

Я решил свою проблему. Я пропустил какую-то команду для подключения к серверу Exchange. И командлет Get-ActiveSyncDeviceAccessRule принадлежит Exchange Server 2010 SP1. Команду target можно найти в окне свойств командной консоли Exchange.

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command ". 
'C:\Program    Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1';
Connect-ExchangeServer -auto"

Я обновил свой командный файл, как показано ниже. И это работает.

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command ". 
'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; 
Connect-ExchangeServer -auto;Get-ActiveSyncDeviceAccessRule" 
>C:\ActiveSyncDeviceAccessRule_output.txt 2>C:\standardError.txt
echo %errorlevel% >C:\exitCode.txt
...