PowerShell Logo

125 results found for the Exchange Category in about 0.023 seconds
ActiveSync enable-disable and reporting script
This script enables and disables Exchange ActiveSync for all mailboxes in a company based on membership in specific DLs.  The script also enables/disables POP3 based on group membership and disables IMAP for all users (which we don't use).  Lastly, it pulls for the approved users

Add an SMTP Address


analyse last access times
This script was written to assist in identifying stale accounts within the exchange enviroment. it was origionaly written for exchange 2007 but will also work in exchange 2010. with a quick tweek or 2 you can use this in an automated process weekly and have it send the results to

Assign Exchange UM Personal Operator
Assign a personal operator to specific mailboxes. Different operator extensions are ok since you specify it in the command.

Assign Exchange UM pin to multiple mailboxes
This is good for assigning a specific UM pin to multiple mailboxes such as group mailboxes, etc.

Automated mailbox move
this script moves mailboxes listed in a CSV file and then e-mails the results. you can set this to run as a schedualed task durring off peak hours to assist in keeping your mailbox databases well balanced within your exchange enviroment. Be carefull running this in a production e

BlackBerry PIN Sync to AD.
This PowerShell script automates the synchronization of BlackBerry PINs into AD in the CustomAttribute7 field, and sends a detailed HTML email report of actions taken at the end. We run it nightly as a scheduled task.

Bulk Import Users PST Files into Mailboxes
Exchange Powershell Script for bulk importing users PST to their Exchange Server 2010 mailbox. Useful with Migration to Exchange Server 2010 from other platforms

Bump up user quota
This script was written to assist in identifying what admin users within the exchange enviroment were updateing account quotas and setting them well above internal policy limits. we deployed this script with a profile.ps1 that would map the location of authorized scripts and star

Capacity Planning Report for Exchange 2007
This script generates a Capacity Planning report for Exchange 2007 into a CSV file

Change Public Folder Rights (Recursive)
The Purpose of this Script, is to change already set AccessRights within the Public-Folder Structure.Using this Script, you have the ability to change the Access Rights for any or every single user.You can specify the given AccessRight, as well as the new Right. (i.e. You want to

Check SCR Status and Email result
This script will check the SCR status is healthy, and if not send an email notifying an admin. This is great for a scheduled task.

Configure the Mailbox Database Maintenance Period


Configure the Maximum Send and Receive Size Limits




This script will convert the OAB virtual directory to an IIS web application.

Count E-mails in Mailboxes and Group by Month
This script goes through every single e-mail in a mailbox (or group of mailboxes) and produces a report with the number of e-mails and their size that were "created" in a specific month.

Count the Number of Mailboxes in a Database


Create a Mailbox Database


Create a Mailbox for All the Users in an OU


Create a new implicit remoting session on a remote Exchange 2010 server
 This function creates an implicit remoting session to a remote Exchange     Server. It has been tested on Exchange 2010. The Exchange commands are    brought into the local PowerShell environment. This works in both the    Windows PowerShell console as well as the Windows PowerS

Create new mailbox with plain text password


Database Size and User Count
For each Exchange database, get its current size (in GB and MB) as well as the numbers of mailboxes on it

Delete Outlook Folders Bottom-Up
This EWS script deletes all folders and subfolders from a specific top folder, one by one but starting from the last one (using a bottom-up approach)

Determine Whether Exchange Mailboxes are Mounted


Disable a Mailbox


Disable Outlook Web Access for a Mailbox


Display SMTP Queue Information


Drop user quota
This script was written to assist in identifying what admin users within the exchange enviroment were updateing account quotas and setting them well above internal policy limits. we deployed this script with a profile.ps1 that would map the location of authorized scripts and star

Enable a Mailbox


Enable All Mailboxes in a Specified OU


Enable Circular Logic on a Storage Group


Enable Unified Messaging - Assign UM policy and extension
You can place this in a .ps1 file and run via bat or copy into Exchange powershell. Multiple lines are accepted. So you can enable hundreds of people at once.

Exchange 2007 Disk Space Information Along with User-count, CI file size
This script will help you to find the disk space on every Mapped LUN, Number of users on every database, whitespace on database, Size of CI files.

Exchange 2007 Documentation Script


Exchange 2007 Largest Mailboxes Bar Chart Report
Exchange 2007 Largest Mailboxes Bar Chart Report

Exchange 2007 Mailbox Redistribution Script.
This PowerShell script automates the redistribution of mailboxes in an Exchange 2007 enviornment in a VERY fast manner. It increases the speed by spawning defined multiple move-mailbox processes to help speed up the process, and generates a detailed report at the end.

Exchange 2007 Message Size Limits Summary
Exchange 2007 Message Size Limits Summary

Exchange 2007/2010 Email stats
Produces email stats from Exchange 2007 or 2010 Message Tracking Logs

Exchange 2010 Show Database HTML (DAG/archive)


Exchange 2010 SP1 move Archive
This script allows you to move the archive Mailbox for a user or all the Users to a database

Exchange Database Defrag tool


Exchange Mailbox Billing Report Generator.
This PowerShell script automates the creation of monthly mailbox usage billing reports based on two pre-created Excel spreadsheet templates. The two templates are to create individual customer billing sheets, and a master spreadsheet for internal use.

Exchange Server 2010 Helper Functions
I am not going to go into detail about those functions; instead,I will refer you to the Hey Scripting Guy! articles I wrote (the articles appear on January 23, 2012 and January 24, 2012). I uploaded thetwo functions, the New-ExchangeSession and Get-ExCommandfunction, earlier. In

Exchange Server 2010 Services Monitor - HTML Report
Script monitors a given set of Exchange Services and if any of the services go down, it will send an email to a email address, For detail: http://www.myexchangeworld.com/2010/07/powershell-script-to-monitor-exchange-server-2010-services-email-report/

Exchange Stats
This was my firs ever script written in powershell for microsoft exchange 2007. this script is still running  twice daily in my production enviroment. it runs in 2 parts as schedualed tasks part 1 runs on 1 of my CAS servers in my enviroment and part 2 runs on my edge servers 10

Exchange Stats 2.0
This is a work in progress to update my first ever script written in powershell for microsoft exchange 2007. this script is still a work in progress so do not attempt to use this in a production enviroment.This updated version removes the need for 2 seperate scripts to complete

Export Mailbox and User Information


Export Mailbox Information to a CSV File


Export Mailbox to .PST
This simple script will prompt for a target mailbox, get the current user, apply the required permissions to the target mailbox and export the mailbox to a PST file.

Export Old E-mails and Create a Report
Export old e-mails from a series of mailboxes and create a report

Force Upgrade mailboxes
I wrote this little 2 liner after realizeing that we were haveing issues with OWA accounts. at the time we were in a domain with exchange 2003 and 2007 coexisting. Our Client support Admins would create new mailboxes on exchange 2003 mailbox server and then move them to an exchan

Get a Big-Mailboxes Report for Exchange Server 2007
Delivers a big-mailboxes report for Exchange Server 2007. The following script is very useful for almost every Exchange Administrator. It exports to a .csv file some important inf

Get mailbox sizes
Get mailbox sizes for users, by servers, mail stores, sizes converted to MB and GB

Get OWA Actives Sessions
Get actives sessions for OWA connected users

Get Some Statistics from Mailboxes
Get some statistics for each mailbox like Display Name, Last Logon Time, Database, Mailbox Size (MB), Total Sent Items, Sent Items Size (MB), Total Deleted Items, Deleted Items Size (MB) and E-mail Address

Script to retrieve all ActiveSync-devices registered within the Exchange-organization (Exchange 2007 and Exchange 2010).

gets a count of mailboxes in a category based on prohibit send quota

Get-MailboxItem is using EWS to retrieve items from a specified exchange mailbox
Returns items form an exchange mailbox folder.As the default settings it means downloading Mail items from Inbox , but Calendar items, Tasks, Notes, Contacts can be retrieved also.Can be used as replacement of the xp_readmail SQL stored procedure. (xp_readmail does not work on 64

Script to retrieve number of users per mailbox database within the Exchange-organization.

get-PublicFolderReplicaItemCounts.ps1 example
This script queries all the replicas of a public folder (or PF tree) and provides an item count for each replica found. Will work for replicas homed on Microsoft Exchange Server 2003/2007/2010. Please note appropriate permissions are required for a successful scan.

Getting the IP Address associated to Recieve Connectors in Exchange 2010
Just recently, I had the need to get all ip addresses associated to my receive connectors within Exchange 2010. As organizations grow, the numbers of permitted realys within Exchange can become quite large and noting them all down can be a pain.After doing a little bit of playing

GUI Interface for Exchange 2003 to Exchange 2010 Cross Forest Move Mailbox
This tool provides GUI Interface for Exchange 2003 to Exchange 2010 Cross Forest Move Mailboxusing Power shell Script.

Hide users from GAL
quick one line powershell command to hide users from the GAL

Identify Huge Mailboxs
This script is a quickey. I run it as a schedualed task to identify mailboxes in my enviroment that are larger than 500MB in size and e-mail the results to an orgbox weekly for review. you could add more functions to this script to mov the box or change the size restrictions on t

Import Calendar Permission from CSV
Import Calendar Permission from CSV via EWS Managed API

Increase Mailbox Quota
Increase user's mailbox quota by a certain value, like 150MB at a time.

Script to use when migrating mailboxes to Microsoft Exchange Server 2010 Cross-Forest.

Large Scale Mailbox Migration Part 1 of 4
These scripts were used to migrate 150,000 Exchange 2003 mailboxes to Exchange 2007 servers.

Large Scale Mailbox Migration Part 2 of 4


Large Scale Mailbox Migration Part 3 of 4
These scripts were used to migrate 150,000 Exchange 2003 mailboxes to Exchange 2007 servers.

Large Scale Mailbox Migration Part 4 of 4
These scripts were used to migrate 150,000 Exchange 2003 mailboxes to Exchange 2007 servers.

List All Events With Event Code 1018


List Exchange-Specific Commands


List mailbox and their item acount, total size on the mailbox server
List all mailboxs and their item acount, total size on the mailbox server.

List the Mailboxes in a Database


List Users with Active Sync Enabled


Locate Database With the Fewest Mailboxes
Finds the Microsoft Exchange 2007 database with the fewest mailboxes, then uses information retrieved from a text file to enable mailboxes in that database. Thanks to Nick Smith (

Mailbox Login Stats
Interrogate every mailbox to establish how many have been accessed in the last 7, 30 days or never.

microsoft exchange 2010

Modify the Send Storage Quota Property for All the Users in a Group


Monitor and alert CCR storage group copy failures
In our Exchange 2007 CCR environment we wanted a way to monitor the storage group copy status on each of our storage groups. We already have monitoring in place to confirm the storage groups are online and working, but it's quite possible for them to be online and working on the

Monitor Databases in DAG


Move a Mailbox


Move a Mailbox to a New Database


Move Exchange Mailboxes


Move Mailboxes From Exchange 2003 to Exchange 2007


Create SendConnector, Set MaxMessagesPerConnection Exchange 2007 SP2

Output Exchange 2007 Retry/Ready Messages
Here’s a quick and dirty Exchange 2007 command-let that will output all the outgoing emails that are not being delivered. It Checks the message status (NOT “Active) and the message retry count (GT 0) and outputs the results.

Parse ExBPA XML File
Parse XML data from EXBPA.

Powershell - Check Exchange 2010 Queue and mail alert on queue threshold


Powershell Script for Exchange 2010 - Automatic Failover, Failback and Recovery
Powershell Script for Exchange 2010 - Automatic Failover, Failback and Recovery scripts for databases, database copies and DNS

Prevent NDRs Storms
Analyze the Transport Logs for possible NDR storms and stop them by creating a new transport rule

Purging Mailboxes Exchange Server 2003


Rebrand Outlook Web App Logon Page
This script modifies the CAS OWA logon.aspx file by replacing existing text with new text. It then finds the latest/newest sub-version of Exchange 2010, and copies customized graphics and CSS file into sub-version OWA folder. This is intended to be run after each Exchange update.

Remote Get-ExCommand function
When using implicit remoting to manage an Exchange 2010 server, the Get-ExCommand function is not available. This function duplicates its capability to permit one to discover Exchange commands while in a remote session. Use the New-ExchangeSession function discussed in Hey Script



Repairs symbolic links that are necessary for content indexing to search databases.

Report Available Database Space


Report Exchange Client Access Licenses (CALs)
Estimates the number of Exchange Server 2007 Client Access Licenses (CALs) and the type of CAL required

Report Exchange Client Access Licenses (CALs)
Estimates the number of Exchange Server 2007 Client Access Licenses (CALs) and the type of CAL required given the operating characteristics of your organization's Exchange environment

Report Exchange Server 2007 Client Access Licenses (CALs)
PowerShell script to Report Exchange Server 2007 Client Access Licenses (CALs)

Report Exchange Server 2010 Client Access Licenses (CALs)
PowerShell script to Report Exchange Server 2010 Client Access Licenses (CALs).

Report Exchange Server 2010 SP1 Client Access Licenses (CALs)
Estimates the number of Exchange Server 2010 SP1 Client Access Licenses (CALs) and the type of CAL required given the operating characteristics of your organization's Exchange environment.

Retrieve a Specified Database


Retry All Queues With 100 or Messages in Them


Return the Smallest Mailbox Database
Locates the smallest mailbox database (in terms of size) for automatic provisioning process. The script retrieves a collection of mailbox databases, finds the size of each databas

Save Mailbox Information to a Text File


Script - Export Users Completo


Script to configure static ports on Exchange Server 2010
There is nothing new about this. If you have been reading about Exchange Server 2010 or have it deployed with hardware load balancer, chances are, you have read how to configure static ports on Exchange Server 2010 on TechNet Social wiki for Exchange 2010. Chances are that you ha

Script to create a NLB-cluster for Exchange Server 2010


Script to Create Bulk Mail Enabled User's from csv file


Select Optimal DAG Databases for New Mailboxes.
This script assists with marking 3 DAG databases as enabled for auto-provisioning, and marks the rest as disabled for auto-provisioning, based upon the number of active mailboxes in each database. The script is run as an automated task every 4 hours to rotate the databases.

Set Employee Type (AD Object Values)
this is an interesting little 1.85KB script I put together to identify users by useing employee type. we needed to quicly update the entire domain of 2200+ users. it connects to AD without the need of the new AD moduales then sets the employee type for the user based on the value

Script to set calendar-permission for mailboxes in Exchange Server 2010.

Setting Mailbox Quota based on custom attribute
This is a powershell command which can be used to set the mailbox quota for large number of mailboxes only keeping the factor of custom attributes

Spread Exchange mailboxes alphabetically across databases
Script to spread mailboxes in Exchange Server 2010 alphabetically across databases.

To determine if proxy email is null for MailBoxUser
This script will get all the MailBox user on Outlook Live and determine the identity and display name of the MailboxUser having their proxy email missing.

Total Emails Sent and Received Per Day and Size
This script counts the number of e-mails and their size that are sent and received in your Exchange environment per day.

Total Emails Sent and Received Per Hour
This script counts the number of e-mails that are sent and received in your Exchange environment every day and separated by hour.

Total Emails Sent and Received Per Week and Size
This script counts the number of e-mails that are sent and received in your Exchange environment per week, including their total size in MB.

Total Emails Sent and Received Per Week including Size, Internal and External
The purpose of this script is to count the number of e-mails that are sent and received in your Exchange environment per week, including their size in MB. It will count the total number as well as the total depending if they are internal or external e-mails.

Tracking Exchange 2007 logs
If you are looking for specific messages and have many different Exchange 2007 servers, this script can help you !

Validating Primary SMTP Address
This command performs a check against all mailbox users Primary SMTP Address and verify it is a valid SMTP address. The command returns a list of mailbox users with invalid Primary SMTP Address.

Verify Public Folder Migration Between Exchange 2000 and Exchange 2007
Verifies public folder migration between Exchange 2000 and Exchange 2007.