Archive for category Exchange

Windows 8 / PowerShell 3.0 / Microsoft Exchange 2010


This is based on the developer’s preview of Windows 8. I will use the tag “Windows 8 Developer Build” for all of these posts. So, I’m playing with Windows 8 and PowerShell version 3, like nearly everyone else on the planet, and decided to install the Exchange Management Tools. The first thing to do is […]

Leave a comment

Retrieve all Exchange mailboxes by OU with PowerShell


A question came up on powershellcommunity.org: ”Hi guys, I’ve been blindsided by the General Manager and need to get a list of all our Mailboxes, as well as the smtp addresses attached to them. I need these to be pumped out per OU (we have a lot) so that I can do costings per OU. […]

10 Comments

PowerShell rename a mailbox folder using Exchange Web Services API


A question came up on the Exchange Server Forum on powershellcommunity.org: ‘Is it possible to use PowerShell with a COM access to connect to a remote outlook mailbox and change the name of a folder, especially a custom folder not a system folder like inbox,sent items,contact…etc? I have a project where I need to change […]

11 Comments

PowerShell EWS Managed API Get Calendar Booked Time


As part of our Full-Cost Maturity Model (FMM), my management chain took the number of employees and created a SWAG of our billable time – they then took these billable hours, and in my case divided them by the number of mailboxes in our organization. – That’s how much it costs for 1 Exchange Administrator […]

2 Comments

Exchange 2007 / 2010 Database Reporting Script


In a previous post (https://unlockpowershell.wordpress.com/2010/01/27/exchange-2007-mailbox-database-reporting-script/) I provided a script that we use to report on Our Exchange 2007 mailbox servers. That post garnered a lot of comments because it didn’t work with mount points. We now have a mix of Exchange 2007 and 2010, and I have updated my script – We also now use […]

27 Comments

Exchange 2010 Find Database White Space


In Exchange 2007 and earlier, after online defragmentation occurred, you could find your database whitespace by examining the application logs and viewing event ID 1221. This is a pain to do, but luckily for us, Shay Levy posted an excellent article with a PowerShell function for Exchange 2007: http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2009/08/13/exchange-white-space.aspx That works great for 2007, but […]

Leave a comment

PowerShell Get Exchange 2007 Database used space


Aaron on http://powershellcommunity.org asked “I need to get a nice simple list of DB sizes based on how big the mailboxes are, not how big the .edb file is. All of my DB’s are on 100gb disks. A particular EDB might be 90 gigs, but the database could have 40 gigs of whitespace in it. […]

3 Comments

Exchange 2007 Mailbox Database Reporting Script


We use the following script to report on Exchange 2007 Mailbox Database usage. I will be modifying it for 2010 soon – watch this space 🙂   001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 […]

67 Comments

PowerShell Get-Mailbox display SMTP addresses


A question was posed recently where a user wanted to see a list of all his mailboxes, with their server, primary SMTP address, and any additional SMTP addresses associated with the mailbox. The user specifically wanted ONLY SMTP addresses. With the help of a scriptblock, I was able to solve this on one line: 001 […]

98 Comments

PowerShell Dealing with Active Directory Latency


Consider the following: 001 002 003 004 005 006 007 New-DistributionGroup -Name "karls test group" ` -SamAccountName "karlstestgroup" ` -DisplayName "Karls Test" ` -Type "Security" ` -OrganizationalUnit "contoso.com/Test/EmailTest" Add-DistributionGroupMember ` -Identity "karlstestgroup" -Member "karlmitschke@contoso.com" If you have latency in your Active Directory, you most likely will get an error on the “Add-DistributionGroupMember” command: Add-DistributionGroupMember : The operation could not be performed because ‘karlstestgroup’ could not be found. Note that […]

Leave a comment