DCSIMG
Exchange - Shay Levy

Shay Levy

If you repeat it, PowerShell it!

News


btn_donate_LG

View Shay Levy's profile on LinkedIn Follow Shay Levy at Twitter Shay Levy's Facebook profile Subscribe to my FriendFeed


site statistics




Browse by Tags

All Tags » Exchange (RSS)
What is my Exchange server version
I’ve been asking myself the same question lately. Unfortunately the information is not always available in the product’s title or in Add/Remove programs. The only piece of available information is the product build version (either in About dialog or in the EMS using Get-ExchangeServer), now you need look it up in your favorite search engine and try to find its SP or cumulative patches level. What a pain, why?! To save the frustration and confusion I’ve put together a quick and dirty function, give...
Exchange - Removing Illegal Alias Characters using PowerShell
var addthis_config = {"data_track_clickback":true}; If you're in a mixed-mode environment with both Exchange 2003 and Exchange 2007/2010 you may have noticed this message when using the Get-* cmdlets in the Exchange Management Shell: WARNING: The object domin.com/Users/UserName has been corrupted, and it's in an inconsistent state. The following validation errors happened: WARNING: Property expression "xx xxx" isn't valid. Valid values are: Strings formed with characters...
Cmdlets and Parameters - Differences between Exchange 2007 and 2010
Exchange 2010 adds a lot of new commands to the Exchange Management Shell (EMS). In addition to the new commands, some commands were removed and some cmdlet parameters have changed. To find all the changes between the two versions of Exchange I put together a script that produces a collection of custom objects. By querying these objects you can find if a command or its parameters are new or removed. The changes are recorded in an XML file (compare.xml) which you can use to filter a specific command...
How to Discover Unused Mailboxes
In Exchange 2007, and later, we can use the Get-MailboxFolderStatistics cmdlet to retrieve information about the folders in a specified mailbox, including the number and size of items in the folder, the folder name and ID, and other information. If we add the IncludeOldestAndNewestItems switch parameter, Get-MailboxFolderStatistics will also return the dates of the oldest and newest items in each folder. Using that information we can determine the last time a message was sent from a mailbox. Using...
Mailbox Users Storage limit
My morning task today includes the following: get all mailboxes (Exchange 2003) larger than X megs where the associated user mailbox storage limits are overriding the settings of the Mailbox store. Storage limit information for user accounts is available in Active Directory Users and Computers on the user ‘Exchange General’ tab (click on ‘Storage Limits’ at the bottom). The ‘Storage Limits’ dialog box specifies the mailbox storage limits for warning or prohibiting a mailbox-enabled user from sending...
Exchange 2007 SP2
Exchange 2007 SP2 was released yesterday (version 08.02.0176.002).  Below is some information regarding this release.  Exchange 2007 SP2 Download Microsoft Exchange Server 2007 Service Pack 2 (SP2) has been designed specifically to help meet the challenges of any business and the needs of all the different groups with a stake in the messaging system. Exchange Server 2007 SP2 is a mission-critical communications tool that enables employees to be more productive and access their information...
Exchange White Space
A common posting on PowerShell newsgroups and forums from Exchange administrators is how to parse event id 1221 from the Exchange server application log file. A typical event message would look like: Event Type: Information Event Source: MSExchangeIS Mailbox Store Event Category: General Event ID: 1221 Date: 10/01/2009 Time: 13:27:31 User: N/A Computer: SERVER Description: The database "First Storage Group\Mailbox Store (SERVER)" has 7.2 megabytes of free space after online defragmentation...
List of Exchange 2003 Administrators
The following script lists all the groups or users that have been delegated as exchange admins at the organizational level. There are three types of administrative roles: Exchange Full Administrator Exchange Administrator Exchange View Only Administrator   $cnc = ( Get-QADObject ( Get-QADRootDSE ).ConfigurationNamingContext).DN $DN = " CN=Microsoft Exchange,CN=Services,$cnc " Get-QADPermission $DN -Inherited -SchemaDefault | ` Where-Object { $_ .Rights.value__ -match ' 983551|131220...
Upcoming Webcast: Exchange 2010 Management Tools (Level 300)
Exchange 2010 includes new capabilities that make the operation of your Exchange environment more efficient.  Learn how we’ve made the Exchange Management Console more powerful, extended the reach of PowerShell , and made it easier to delegate management tasks. You can register HERE .     Presenter: Evan Dodds , US-Exchange Shared PM, Microsoft Corporation. Start Date: Monday, June 08, 2009 1:00 PM Pacific Time (US & Canada)
How to trick SCVMM prerequisites checking
The other day I was trying to install SCVMM Administrator Console on my machine. One of the software requirements for VMM is Windows PowerShell v1. I got this error in the prerequisites dialog: Doe's this mean we can't have SCVMM installed side by side with newer versions of PowerShell? Apparently not. I had the same issue before when I tried to install Exchange 2007 admin tools while having PowerShell CTP 2 installed. Checking under the hood, using regmon , revealed that the installation...
Exchange Server 2007 24 Part Webcast Series
Thanks to Harold Wong , Senior Technology Specialist at Microsoft, the whole series is now available for download as WMV files, Cheers Harold!!
Get your Exchange organization name
In Exchange 2007: PS > Get-OrganizationConfig | select name Name ---- First Organization In Exchange 2003: function Get-ExchangeOrgName{ $domain = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain() $ddn = $domain.GetDirectoryEntry().distinguishedName $config = [ADSI]"LDAP://CN=Microsoft Exchange,CN=Services,CN=Configuration,$ddn" $orgName = $config.psbase.children | where {$_.objectClass -eq 'msExchOrganizationContainer'} $orgName.name } PS > Get-ExchangeOrgName...