Thursday, February 16, 2017

Get mailbox statistics with size filter

If you are looking for a script to filter mailbox size greater than specified size ,this script will help.Most of the cases when you want to enable archive for a list of users who is getting near to the quouta limit,you can use this script to pull the data.Hence  i have added a line to filter the archive is not enabled.
This script will prompt you for options like filter based on country or region,which you can customize or you make a selection of all.
Output file path and size filter also you can specify while executing it.

Download the script here

Monday, April 29, 2013

Read Exchange 2010 IIS Logs using Logparser

Whenever you get a call to fetch details from log it is very difficult.First of all it will be very huge .
It may not open in normal notepad or textpad applications.These occassions Logparser is very usefull.It helped me alot.
Here the requirement for to fetech details from IIS logs of exchnage 2010 CAS server which includes user and source of the user logged in.Find the below command which may help you.

LogParser.exe "select cs-username as userid, cs(user-agent) as devicetype, c-ip as client, time as time from <LogPath> where cs-uri-stem like '%owa/%' and cs-username is not null group by time, userid, devicetype, client" -rtp:-1 > c:\filename.csv

If you have any other suggession feel free to comment here.

Wednesday, November 21, 2012

Exchange 2010 How To Videos

To download a video, right-click "WMV" or "MP4" and then click "Save target as".

Exchange 2010 Technical Series

Exchange Technical Series (Information Protection and Control)
Duration: 30:27; MP4
Exchange Technical Series (Outlook)
Duration: 31:45; MP4
Exchange Technical Series (Outlook Web App)
Duration: 32:57; MP4
Exchange Technical Series (Archiving and Discovery)
Duration: 29:52; MP4
Exchange Technical Series (Mailbox Resiliency)
Duration: 23:18; MP4
Exchange Technical Series (Mobility)
Duration: 18:09; MP4
Exchange Technical Series (Unified Messaging)
Duration: 18:40; MP4


Build Exchange 2010 CAS Arrays
Duration: 10:04; WMVMP4
Create and configure certificates with Exchange 2010
Duration: 13:26; WMVMP4
Configure Mailbox Plan Attribute Flow
Duration: 3:31; WMVMP4
Securely publish Exchange2010 using ISA Server 2006 SP1
Duration: 18:10; WMVMP4
Use the command line to install/change/uninstall Exchange Server 2010
Duration: 7:44; WMVMP4


Get Started with DAG's in Exchange 2010
Duration: 12:51; WMVMP4
Get Started With Unified Messaging in Exchange 2010
Duration: 11:28; WMVMP4
Configure DAG to make my databases geographically redundant
Duration: 12:34; WMVMP4
Get Started With Message Retention in Exchange 2010
Duration: 11:49; WMVMP4
Get Started With Remote Management
Duration: 11:45; WMVMP4
Get Started with Role Based Acccess Control in Exchange 2010
Duration: 7:19; WMVMP4
Getting Started With Archiving in Exchange 2010
Duration: 5:31; WMVMP4
Getting Started with Message Discovery
Duration: 4:47; WMVMP4
Introduction to Exchange 2010
Duration: 17:11; WMVMP4
Use RBAC to change administrative functionality
Duration: 5:24; WMVMP4
Size Exchange 2010
Duration: 25:18; WMVMP4
Use Exchange 2010 Performance Counters
Duration: 13:26; WMVMP4


Coexisting Exchange 2010 with Exchange 2007
Duration: 9:04; WMVMP4
Transitioning From Exchange 2007 to Exchange 2010 Part 1
Duration: 5:16; WMVMP4
Transitioning From Exchange 2007 to Exchange 2010 Part 2
Duration: 8:28; WMVMP4
Transitioning From Exchange 2007 to Exchange 2010 Part 3
Duration: 4:56; WMVMP4

Tuesday, November 13, 2012

Exchange 2010 Reciepient Types and AD attributes required for enabling

Recipient type
Dynamic distribution group
A distribution group that uses recipient filters and conditions to derive its membership at the time messages are sent.
Equipment mailbox
A resource mailbox that's assigned to a resource that’s not location-specific, such as a portable computer, projector, microphone, or a company car. Equipment mailboxes can be included as resources in meeting requests, providing a simple and efficient way of using resources for your users.
Linked mailbox
A mailbox that's assigned to an individual user in a separate, trusted forest.
Mail contact
A mail-enabled Active Directory contact that contains information about people or organizations that exist outside the Exchange organization. Each mail contact has an external email address. All messages sent to the mail contact are routed to this external email address.
Mail forest contact
A mail contact that represents a recipient object from another forest. Mail forest contacts are typically created by Microsoft Identity Integration Server (MIIS) synchronization.
Mail forest contacts are read-only recipient objects that are updated only through MIIS or similar custom synchronization. You can't use the EAC or the Shell to remove or modify a mail forest contact.
Mail user
A mail-enabled Active Directory user that represents a user outside the Exchange organization. Each mail user has an external email address. All messages sent to the mail user are routed to this external email address.
A mail user is similar to a mail contact, except that a mail user has Active Directory logon credentials and can access resources.
Mail-enabled non-universal group
A mail-enabled Active Directory global or local group object. Mail-enabled non-universal groups were discontinued in Exchange Server 2007 and can exist only if they were migrated from Exchange 2003 or earlier versions of Exchange. You can't use Exchange Server 2013 to create non-universal distribution groups.
Mail-enabled public folder
An Exchange public folder that's configured to receive messages.
Distribution groups
A distribution group is a mail-enabled Active Directory distribution group object that can be used only to distribute messages to a group of recipients.
Mail-enabled security group
A mail-enabled security group is an Active Directory universal security group object that can be used to assign access permissions to resources in Active Directory and can also be used to distribute messages.
Microsoft Exchange recipient
A special recipient object that provides a unified and well-known message sender that differentiates system-generated messages from other messages. It replaces the System Administrator sender used for system-generated messages in earlier versions of Exchange.
Room mailbox
A resource mailbox that's assigned to a meeting location, such as a conference room, auditorium, or training room. Room mailboxes can be included as resources in meeting requests, providing a simple and efficient way of organizing meetings for your users.
Shared mailbox
A mailbox that's not primarily associated with a single user and is generally configured to allow access for multiple users.
Site mailbox
A mailbox comprised of an Exchange mailbox to store email messages and a SharePoint site to store documents. Users can access both email messages and documents using the same client interface. For more information, see Site Mailboxes.
User mailbox
A mailbox that's assigned to an individual user in your Exchange organization. It typically contains messages, calendar items, contacts, tasks, documents, and other important business data.
Office 365 mailbox
In hybrid deployments, an Office 365 mailbox consists of a mail user that exists in Active Directory on-premises and an associated cloud mailbox that exists in Exchange Online.
Linked user
A linked user is a user whose mailbox resides in a different forest than the forest in which the user resides.

Wednesday, November 7, 2012

Delete Exchange IIS Logs script

Most of the time disk space issue is getting because of logs generated by IIS or transaction logs. If you take care this proactively you can reduce such kind of incidents like transport service stoped.This made me to think about automate the deleting old log files. So here i created Scheduled tasks in exchange servers to delete old logs which are older than 30 days or whichever you want.

In the scheduled task action you just need to mention start program commands like below.


forfiles.exe /P C:\inetpub\logs\logfiles /S /M u_ex*.log /D -30 /C "cmd /c del @file"


Above command will delete iis logs older than 30days from inetpub log files folder. Same way you can create the command for deleting the transaction logs by changing the log path and filename.

If you have N number of servers in your organization it is difficult to create scheduled task manually with these settings. So you can create the scheduled task in one server and export it as XML file. Then run the below command from PowerShell with appropriate server name. It will create scheduled tasks remotely on all servers.


schtasks.exe /create /s Exch1/xml d:\dumps\Delete-OLDLogs.xml /tn Delete-OLDLogs


Here Delete-OLDLogs.xml is the exported XML file

Exch1 is the server name.

Tuesday, November 6, 2012

Add Remote IPS in a Load balanced Recieve Connector

Here i am posting this because this issue i faced in real time environment.We wanted to have a load balanced recieve conector for application mail relay.So multiple servers recieve connector in Exchange 2010 will be load balanced and provided one common name and Loadbalancer VIP assigned to all these Recieve connector.
The major challange is we are giving permission on ip based.So whenever request comes we need to add those ips in all our Exchange 2010 Hubtransport which meant for this relay.Another challenge is if you add the ips using powershell it will remove old ips and mentioned ip only will be available in remoteips tab.After Long research i found below solution.

If you want to add multiple ips then you can put those ips in a file and run below script which will take the ips from file and add it to your recieve connector.

$RecvConn = Get-ReceiveConnector "exch1\relay-connector1"
Get-Content .\newips.txt | foreach {$RecvConn.RemoteIPRanges += "$_"}
Set-ReceiveConnector "exch1\relay-connector1" -RemoteIPRanges $RecvConn.RemoteIPRanges
Set-ReceiveConnector "exch2\relay-connector1" -RemoteIPRanges $RecvConn.RemoteIPRanges

like wise if you have more than 2 servers
Here newips.txt is the file wher you want to insert ip addresses.Then save above script as .ps1 and run from exchange management shell.

Another way of adding ip addresses is it will pompt for ip and you need to provide ip address when prompting it.

$RecvConn = Get-ReceiveConnector "exch1\relay-connector1"
$IP = read-host "Enter IP"
$RecvConn.RemoteIPRanges += $IP
Set-ReceiveConnector "exch1\relay-connector1" -RemoteIPRanges $RecvConn.RemoteIPRanges
Set-ReceiveConnector "exch2\relay-connector1" -RemoteIPRanges $RecvConn.RemoteIPRanges

In the above examples i have given only 2 servers.If you have more servers you can add below lines by changing the server name.

Set-ReceiveConnector "exch3\relay-connector1" -RemoteIPRanges $RecvConn.RemoteIPRanges

Exchange 2010 CAS server Disaster Recovery

If your CAS fails due to an irreparable hardware problem; follow these steps to repair it:
  1. Reset the client access server’s computer account within the Active Directory Users and Computers console. Do not delete the account.
  2. Install Windows on the new server and then install the same OS version as the failed server.
  3. Rename the server to match the name the CAS used and join the server to your domain.
  4. Depending on the version of Exchange Server and service pack you were running, insert the corresponding installation media into the server and run the following command:
Setup /m:RecoverServer /installwindowscomponents
  1. After the command runs, Setup will install the Exchange binaries and use the information stored in Active Directory to rebuild your CAS.
Note: This technique can also be used to rebuild any other Exchange Server roles, except for the edge transport server.
These steps work well to rebuild a failed client access server; however, there is a major caveat. This method only works if the server is running a standard configuration, which is unlikely since many organizations personalize their Outlook Web Access interface.
Using these steps will rebuild the CAS to a functional state, but any OWA customizations will be lost. This happens because Setup copies the Exchange binaries from the installation media, not your customized files.
This i have tested and working solution for CAS server Role.