Является ли PowerShell узким местом - PullRequest
2 голосов
/ 12 августа 2009

Я работаю над приложением .net, которое должно взаимодействовать с Exchange, в частности, над созданием объектов Exchange. Это веб-приложение, но его сервер будет работать в качестве службы на сервере Exchange.

Я пытаюсь выбрать лучший способ взаимодействия с Exchange. Вначале я думал о том, чтобы использовать powershell с какой-то системой обслуживания для операций, однако я обеспокоен тем, что это может замедлить работу приложения, поскольку некоторые операции powershell могут занять некоторое время. Буду ли я лучше использовать HMC для этого или это, по сути, то, что HMC ломает в любом случае?

Насколько я могу судить, никаких других вариантов взаимодействия с Exchange нет, веб-службы Exchange не позволяют создавать объекты более высокого уровня. Я очень рад, что использую PowerShell, пока он не станет большим узким местом, любые альтернативные предложения или шаблоны, которые облегчат эту задачу, будут высоко оценены.

1 Ответ

4 голосов
/ 12 августа 2009

PowerShell может быть узким местом, если вы используете неправильную идиому. Сравните эти три примера кода

$ii=0;  0..10000 | % { $ii++ }; $ii
for ($ii=0;$ii -lt 10001;$ii++) { $sum+=$ii } ; $sum
0..10000 | measure-object -Sum

Используя Measure-Command для получения времени выполнения, первое занимает 350 мс, второе 74 и третье 28 мс.

Как правило, передача многих объектов в PowerShell - не самый быстрый способ что-либо сделать, но если ваш сценарий в основном предназначен для вызовов AD и COM, как в случае с Exchange, ограничивающим фактором вряд ли будет PowerShell.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...