Во всяком случае, я работаю над некоторыми сценариями Powershell для работы, и я застрял на чем-то, что, как мне казалось, будет довольно простым. По сути, есть некоторые задачи, которые мне нужно выполнить на нашем сервере Exchange, которые было бы здорово написать в сценарии. Я потратил время на написание скрипта, который подключал бы меня к нашему серверу (в том же домене) и запускал invoke-command для нескольких тестовых команд. Как только я запущу тестовые команды, я смогу приступить к написанию основной части сценария.
Однако на данный момент я застрял, просто получая get-mailbox для возврата любой информации, что на самом деле просто я пытаюсь проверить, что все работает. См. три строки тестового кода здесь:
$mainSession = New-PSSession -ComputerName TheServerName
invoke-command -session $mainSession -ScriptBlock {add-pssnapin Microsoft.Exchange.Management.Powershell.Admin}
invoke-command -session $mainSession -ScriptBlock {get-mailbox}
Я получаю исключение «psremotingtransportexception» с ошибкой «Job_Failure». Что бы это могло быть? Я знаю, что команды оснастки и get-mailbox
работают, когда я на самом деле вхожу на сервер через удаленный рабочий стол и проверяю их. Предполагая, что я смогу заставить get-mailbox
функционировать, я действительно смогу выполнять более сложные задачи, которые хочу поместить в сценарий. Сервер Exchange, к которому я подключаюсь, довольно старый (2007?), так что дело не в том, что я использую неправильную оснастку. Я пропустил некоторые учетные данные? Прямо сейчас он не запрашивает меня ни о чем, но я попытался добавить флаг -credential, и это тоже не помогло.
Я новичок в Powershell, поэтому любая помощь приветствуется. Вот точная ошибка, извиняюсь за дерьмовое форматирование:
Processing data for a remote command failed with the following error message: The WSMan provider host process did not return a proper response. A provider in the host process may have behaved improperly. For more information, see the about_Remote_Troubleshooting Help topic. + CategoryInfo : OperationStopped: (System.Manageme...pressionSyncJob:PSInvokeExpressionSyncJob) [], PSRemotingTransportException + FullyQualifiedErrorId : JobFailure
Я должен упомянуть, что я уже пытался увеличить размер оболочки в МБ с помощью set-item wsman:\localhost\shell\MaxMemoryPerShellMB 1024 -force
. Насколько я понимаю, это как-то связано с флагом -credential
, но до сих пор мне это не удалось.