It adds a nice Database Whitespace report added, and more importantly autoupdate capabilities – so from now on getting new patches and features becomes way easier.
Archive for the 'Exchange 2007' Category
Oz is doing a great series on managing Exchange 2007 with PowerShell and PowerGUI. Within last week he has posted quite a few really useful scripts which should be in every Exchange administrator’s toolbox – check them out:
- PS Sent Mail Script
- EDB SIZE FOR EACH DATABASE PS with PowerGUI
- Get-ExchangeServer Mailbox Count
- Get-ExchangeServer PS with PowerGUI
- Get-ExchangeServer | Get-MailboxDatabase
- PowerGUI mailbox Count per mail Store
- POWER GUI PowerShell
And Oz still keeps doing this almost every single day! So please go to the blog and subscribe to the updates! :)
Just saw that Evan Dodds is on the Exchange track agenda with his Microsoft Windows PowerShell Scripting for Microsoft Exchange Server session.
Evan’s session are must-attend if you are managing Exchange and are interested in PowerShell. He is extremely knowledgeable (no surprise here – he is one of the key guys designing Exchange PowerShell implementation ;)) and just a great speaker.
This is in addition to a few other PowerShell sessions at TEC which I reported earlier.
Registration and more details can obviously be found at the conference web site.
Looks like agenda for DEC 2009 (March 22-25) is almost settled by now – and it does have a few PowerShell sessions in there: Darren Mar-Elia (who gave the PowerShell world GPO management!) and Brian Desmond (another well-known AD MVP) are both going to present various tips and tricks on AD management with PowerShell.
I love DEC (DEC 2007 was one of the first conferences where AD cmdlets were first demoed by Richard in his PowerShell talk). If you are in AD/Identity Management world this is the conference to attend. The content is very deep and the peers you meet are very knowledgeable. Just check out the speaker line-up and the agenda so far.
This year they are also adding a whole new subconference on Exchange and messaging – hence the name change from DEC to TEC – which means more agenda conflicts if you are into both. ;) Rob Allen is giving a PowerShell talk over there.
For those of us preferring Berlin to Vegas – there’s TEC Europe in September (obviously next September).
The early bird discounts seem to still apply. Register now and see you at the event!
I have always wondered how much is PowerShell adopted across various administrative tasks. Now I finally found the stats.
Windows Server and Active Directory are far ahead, with Windows Desktop being a runner-up, Exchange on distant 3rd and everything else far behind.
My take on the data:
- Server and AD management tasks are far ahead of everything else. Too bad the survey didn’t distinguish between the two.
- It is a bit surprising the desktops took number 2. My guess is that respondents just meant using PowerShell on their desktop for their personal needs. Despite existing 3rd-party solutions I doubt PowerShell v1 can be used that widely for mass desktop management. I think we will need to wait for v2 and remoting to see this taking off.
- Not surprisingly almost a 3rd of respondents are not using PowerShell for admin tasks at all. After all, there is some learning curve involved here and PowerShell is not yet available for any platform.
- Almost a quarter of PowerShell users employ it for Exchange 2007. A very good result! After all, Exchange 2007 was released not that long ago, and has just got its SP1.
- In general, it looks like platforms with no cmdlets available don’t really get PowerShell fans. .NET can be used to manage SQL and SharePoint – but look how much behind are they! Exchange 2003 can actually be managed with PowerShell, but there are no native cmdlets built-in – and as result PowerShell use is just 1.5%. Compare that to 23.4% Exchange 2007 got!
- I wonder why Operations Manager is relatively low. Less adopted than Exchange 2007? OpsMgr admins less willing to script? OpsMgr tasks not really requiring scripting and command-line use?
The survey was carried out by Quest Software and took place in the very end of December 2007 and early January 2008. It was promoted at PowerGUI.org, this blog, myITForum.com and a few other PowerShell blogs. About 200 people responded. The exact question was: “Select the systems you are currently managing with Windows PowerShell“.
I am presenting at the Office Communications Server 2007 launch in Moscow today. The topic is: Unified Reporting and Management for your Unified Communications – so there will definitely be plenty of PowerShell in the Exchange part of the talk.
By the way, Jeff Raikes is coming to personally do the keynote. This guy must be traveling a lot…
It looks like there are more and more
ForEach-related topics coming out of blogosphere. This time I came across this post by Matthew Byrd on Exchange PowerShell behavior. In the post he compares two versions of Exchange 2007 one-liners: one with
ForEach-Object and the other with direct pipelining. He then notices that the one with
ForEach-Object is much faster:
The reason for this is simple and is tied into how PowerShell executes commands that are pipelined together. PowerShell executes the commands in a linear manner. So it will execute completely the first command in then pass the whole output to the next command in the pipeline. That means that if you have 30,000 mailboxes in your org and you run the shorter command you must enumerate all 30,000 mailbox objects before you pass it down the pipeline.
I am not sure this is PowerShell behavior really. Please correct me if I am wrong but I was under impression that if the left-hand cmdlet is using
WriteObject(object, true) this cmdlet sends objects into the pipeline one at a time, and if the right-hand side processes the objects in
ProcessRecord method, then all processing should be happening asynchronously and not after the first cmdlet is fully done.
So apparently something is not working “as designed” and either Exchange cmdlets are not using the interfaces right, or PowerShell v1 is not working “as advertised” (and using some undocumented “secret hooks” internally to make
foreach-object, and other built-in cmdlets work with pipeline correctly – one object at a time).
Which actually does not change the outcome I guess: with Exchange 2007
ForEach-Object can be much more efficient than direct pipelining. Check your script performance – PowerShell gives you tons of ways to do the same thing and, as Matthew reports, some ways can be better than others!
But still, if you know whose issue this is please leave a comment. Maybe we need to post another CR to Microsoft Connect here…
Henrik Walther has just published his part 2 on managing Exchange 2007 with PowerGUI at MSExchange.org:
In part 2 he goes through managing public folders, setting permissions, provisioning mailboxes from csv files, reporting, as well as extending the tool.
(Too bad these were written before we extended the pack to cover all the functionality missing in the native Exchange Management Console.)
Henrik’s posts are good step-by-step tutorials with lots of screenshots and easy to follow. Highly recommended!