PowerShell是一个瓶颈吗?

时间:2009-08-11 21:26:00

标签: .net asp.net powershell exchange-server

我正在开发一个需要与Exchange交互的.net应用程序,专门创建Exchange对象。它是一个基于Web的应用程序,但将在Exchange服务器上作为服务运行后端。

我正在尝试决定与Exchange交互的最佳方式。我最初的想法是使用powershell,使用某种服务排队系统进行操作,但是我担心这会使应用程序变慢,因为一些PowerShell操作可能需要一些时间。我是否会更好地使用HMC来做这件事,或者这基本上是HMC分解的呢?

据我所知,没有任何其他与Exchange交互的选项,Exchange Web服务不允许您创建更高级别的对象。我非常高兴使用PowerShell,只要它不会成为一个大瓶颈,任何其他建议或模式,使这更容易将非常感激。

1 个答案:

答案 0 :(得分:4)

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。