PowerShell

Get file or folder permissions using PowerShell

The Get-Acl cmdlet in PowerShell’s Security module (Microsoft.PowerShell.Security) does a great job of getting file or folder permissions (aka the Access Control List or ACL). But getting useful info from the default output can take some getting used to. Instead, it’d be great to simply be able to see what the Security tab of a […]

More →

Use a PowerShell function to find an email address in Exchange

Exchange admins frequently need to find an Exchange recipient with a specified email address, particularly for generic organizational addresses such as [email protected]. Five and a half ways to find an email address in Microsoft Exchange and Active Directory lists a few ways to do it, including PowerShell. If you do this frequently, you can add […]

More →

Use a PowerShell function to get AutoDiscover XML

If you manage Exchange or support Exchange Online users, you may need to retrieve the AutoDiscover XML response. You can use the Test E-mail AutoConfiguration option in Outlook or the AutoDiscover tests in Microsoft Remote Connectivity Analyzer to retrieve the AutoDiscover response. The good news is you can also use a PowerShell one-liner or function […]

More →

Synchronize your PowerShell Profile with OneDrive

I make frequent changes to my PowerShell profile and like to have the same PowerShell envirnoment on all computers that I use PS from. To accomplish this, I used to copy the PowerShell profile to a folder on OneDrive and copy it back to the WindowsPowerShell folder on other computers – first, manually, and then […]

More →

Windows PowerShell 3 Wins InfoWorld’s 2013 Technology Of The Year Award

Windows PowerShell 3 has won InfoWorld’s 2013 Technology of the Year award. Finally, InfoWorld editors have discovered what IT pros have known for a long time – PowerShell is simply the most powerful yet easy-to-use management tool out there on any platform! The third time is definitely the charm for PowerShell, which provides the engine […]

More →

WMF 3.0, Microsoft Exchange and patch management

Last week Microsoft released Windows Management Framework 3.0, a key management component that includes WinRM 3.0 and Windows PowerShell 3.0. If you’ve been running a version of Exchange 2007 or later, you may already know that these components (PowerShell for Exchange 2007, and both WinRM 2.0 and PowerShell 2.0 for Exchange 2010) are prerequisites for […]

More →

Exchange 2010: Change security groups to distribution groups

Distribution groups are a well-known concept for Exchange admins. Quite simply, a distribution group is an Active Directory group that’s Exchange-enabled and therefore has an email address. Messages sent to the group are delivered to group members, which can be mailbox users, mail users (users with an email address outside the Exchange org), mail contacts, […]

More →

Connect to Office 365 Using a PowerShell Function

When you sign-up for Exchange Online (or Office 365, which includes Exchange Online), an Exchange organization is created for you in Microsoft’s datacenter. One of the really cool things about Exchange Online is that besides its easy-to-use web interface, you also have the ability to manage your cloud-based organization using PowerShell. Shell-savvy administrators can run […]

More →

Auditing Distribution Group Membership Changes

Exchange 2010 includes Administrator Audit Logging functionality to log all administrator actions. Because all administrator actions, including those taken using the EMC and the new web-based ECP consoles must fire off a Shell command under the hood, admin audit logging records cmdlets that can make changes (the ones that use the New and Set verbs, […]

More →

Using Get-Hotfix to get a list of installed hotfixes

Exchange Server 2010 Service Pack 1 requires a number of hotfixes to be installed. These are listed in Exchange 2010 Prerequisites in Exchange 2010 documentation and in the Exchange 2010 SP1 FAQ and Known Issues post on the Exchange team blog. While preparing a server for SP1, I erroneously kept trying to install the hotfixes […]

More →