Tuesday, April 22, 2014

Logs location for DAG Troubleshooting Exchange 2010

For troubleshooting DAG issue, Please collect the following logs from the location

(   Need to run on either of the server
(  a)   Please run EXBPA from the “Exchange Management Console” > Tools > EXBPA    
 Send me the reports in the default XML format using Option “Export report”.

How to run EXBPA, pls refer site for reference.


    Need to collect logs from both Nodes
  (a)   Event Viewer > Application and Service Logs > Microsoft-Exchange-Troubleshooters/Operational


  (b)   Event Viewer > Application and Service Logs > MSExchange Management


  (c)   Event Viewer > Application and Service Logs > Microsoft > Exchange > HighAvailability

  (d)   Event Viewer > Application and Service Logs > Microsoft > Exchange > MailboxDatabaseFailureItems


  (e)    Event Viewer > Application and Service Logs > Microsoft > Exchange > Troubleshooters

  (f)   Event Viewer > Application and Service Logs > Microsoft > Exchange > Troubleshooters

    If possible, Please collect and save logs in CSV format and upload to FTP location under “Exchange Logs” Folder.




Exchange 2010, from Exchange Management Shell

Get-MailboxDatabase | fl Name,EdbFilePath,LogFolderPath

and from Windows Explorer
C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\"nameofDatabase"


From the Exchange Command Shell
(Get-WinEvent -LogName Microsoft-Exchange-ManagedAvailability/* | % {[XML]$_.toXml()}).event.userData.eventXml| ?{$_.ActionID -like "*ForceReboot*"} | ft RequesterName

Above command will search for the "Microsoft-Exchange-ManagedAvailability" for a value like "force Reboot"


Increase diagnostic logging for Transport Server
Message tracking log
SMTP send/receive logs



Few Message tracking logs from msexchangeguru.com


Some of the Message Tracking cmdlets I use often:
To find Send Emails:
Get-MessageTrackingLog -resultsize unlimited -Start “06/01/2014 4:30:00 PM” -End “06/04/2014 5:17:00 PM” |where-object {$_.Recipients -like “*@contoso.com” -AND $_.EventId -eq “Send”} | where {$_.recipients -like “*@ contoso.com”} | Select @{Name=’Recipients';Expression={[string]::join(“;”, ($_.Recipients))}}, Sender, EventId, Timestamp, Source, MessageSubject | Export-CSV “C:EmailAddress_Statistics_Send.csv”
Get-MessageTrackingLog -resultsize unlimited -Start “12/02/2014 4:20:00 PM” -End “12/02/2014 07:30:00 PM” |where-object {$_.EventId -eq “Send”} | Select @{Name=’Recipients';Expression={[string]::join(“;”, ($_.Recipients))}}, Sender, EventId, Timestamp, Source, MessageSubject | Export-CSV “C: Dec2_Email_Statistics_Send.csv”
Get-Messagetrackinglog -Resultsize Unlimited | Where {$_.Sender -match “@contoso.com”} -EventID “Send” -Start “12/02/2014 4:20:00 PM” -End “12/02/2014 07:30:00 PM” | Select @{Name=’Recipients';Expression={[string]::join(“;”, ($_.Recipients))}}, Sender, EventId, Timestamp, Source, MessageSubject | Export-CSV “C: Dec2_Email_Statistics.csv”
To find Received Emails:
Get-MessageTrackingLog -resultsize unlimited -Start “12/02/2014 4:20:00 PM” -End “12/02/2014 07:30:00 PM” |where-object {$_.Recipients -like “*@ contoso.com” -AND $_.EventId -eq “RECEIVE”} | where {$_.recipients -like “*@contoso.com”} | Select @{Name=’Recipients';Expression={[string]::join(“;”, ($_.Recipients))}}, Sender, EventId, Timestamp, Source, MessageSubject | Export-CSV “C:EmailAddress_Statistics_Receive.csv”
Get-MessageTrackingLog -resultsize unlimited -Start “12/02/2014 4:20:00 PM” -End “12/02/2014 07:30:00 PM” |where-object {$_.EventId -eq “RECEIVE”} | Select @{Name=’Recipients';Expression={[string]::join(“;”, ($_.Recipients))}}, Sender, EventId, Timestamp, Source, MessageSubject | Export-CSV “C: Dec2_Email_Statistics_Receive.csv”
Get-MessageTrackingLog -resultsize unlimited |where {$_.MessageSubject -like “Win a Lottery”} >> “C:UsersusernameDesktopoutput.txt”
Get-MessageTrackingLog -resultsize unlimited -Start “6/3/2013 12:29:00 PM” -End “6/6/2013 12:39:00 PM” |where {$_.MessageSubject -like “Update your Social Security Number”} >> “C:UsersusernameDesktopoutput.txt”
Get-MessageTrackingLog -Server HUBServerName -resultsize unlimited |where-object {$_.Recipients -like “*@contoso.com” -AND $_.EventId -eq “Send”} | where {$_.recipients -like “*@contoso.com”} | ft EventId,Timestamp,Sender,recipients,MessageSubject,@{label=”size”;Expression={$_.Totalbytes/1mb}} >>c: @contoso_emails.csv
Get-Messagetrackinglog -Server HubServerName -resultsize unlimited -Sender “User@contoso.com” -EventID “SEND” -Start “5/10/2012 12:29:00 PM” -End “6/4/2012 12:39:00 PM” |ft Timestamp, Source, EventID, Recipients, MessageSubject, RecipientStatus, @{label=”size”;Expression={$_.Totalbytes/1mb}}
Get-Messagetrackinglog -Server HubServerName -resultsize unlimited -Start “12/01/2012 12:29:00 PM” -End “12/06/2012 12:39:00 PM” |where {$_.MessageSubject -like “Click Here to be SOX Compliant”} |ft Timestamp, Source, EventID, Recipients, MessageSubject, RecipientStatus, @{label=”size”;Expression={$_.Totalbytes/1mb}}
Domain based search: To find all emails from a specific domain in Exchange server
Get-MessageTrackingLog -Server hub1 -resultsize unlimited -Start “2/24/2013 12:29:00 AM” -End “2/26/2013 12:29:00 PM” |where-object {$_.Sender -match “contoso.com” -AND $_.EventId -eq “Receive”} | ft EventId,Timestamp,Sender,recipients,MessageSubject,@{label=”size”;Expression={$_.Totalbytes/1mb}}
Get-MessageTrackingLog -resultsize unlimited -Start “9/10/2014 12:29:00 PM” -End “9/12/2014 12:39:00 PM” |where {$_.MessageSubject -like “Pay off your Mortgage”} |fl Recipients, MessageSubject, Sender, ReturnPath, EventID
Get-Messagetrackinglog -Recipients:user@contoso.com -EventID “RECEIVE” -Start “05/25/2014 4:30:00 PM” -End “05/30/2014 5:17:00 PM”
Get-Messagetrackinglog -Recipients:user@contoso.com -EventID “RECEIVE” -Start “05/25/2014 4:30:00 PM” -End “05/30/2014 5:17:00 PM” | Select @{Name=’Recipients';Expression={[string]::join(“;”, ($_.Recipients))}}, Sender, EventId, Timestamp, Source, MessageSubject | Export-CSV “C:EmailAddress_Statistics_forUser.csv”

Wednesday, April 16, 2014

how to find the install date of Windows OS

something quick, how to find the install date of Windows OS

Use this command from command prompt

systeminfo | find /i “install date”

SETSPN.EXE

Check the SPN for the server

SETSPN.EXE –i <FQDN of server>
it should be resulted in the below manner
SmtpSvc/fqdn
SmtpSvc/fqdn.domain.

To remove the SPN for the server or URL
Setspn -d <fqdn > 

Tuesday, April 15, 2014

You can't specify the "*" domain as the Target Delivery domain

[PS] C:\Windows\system32>Get-RemoteDomain | Set-RemoteDomain -UseSimpleDisplayName $true
WARNING: The object Default has been corrupted, and it's in an inconsistent state. The following validation errors
happened:
WARNING: You can't specify the "*" domain as the Target Delivery domain.
You can't specify the "*" domain as the Target Delivery domain.
    + CategoryInfo          : NotSpecified: (Default:ADObjectId) [Set-RemoteDomain], DataValidationException

    + FullyQualifiedErrorId : F872968C,Microsoft.Exchange.Management.SystemConfigurationTasks.SetRemoteDomain


In 

Friday, March 28, 2014

Links for Upgrading Outlook Web App to Exchange 2010

Upgrading Outlook Web App to Exchange 2010


http://blogs.technet.com/b/exchange/archive/2009/12/02/3408921.aspx





The Autodiscover Service and Outlook Providers - how does this stuff work?

http://blogs.technet.com/b/exchange/archive/2008/09/26/3406344.aspx


Exchange Gurus

Exchange Gurus Link

TimMcMic
http://blogs.technet.com/b/timmcmic/

Friday, March 14, 2014

Troubleshooting Proxy settings from command prompt on MS Exchange server

Please use FQDN not only domain name in the command.
netsh winhttp set proxy proxy-server="http=<Myproxyserver>:8080;https=<Myproxyserver>:8080" bypass-list= "CASSERVER.DOMAIN.COM"

Please change the relevant field in the above command


We might also need to run this line too:

netsh winhttp set proxy proxy-server="http=172.16.16.100:8080;https=172.16.16.100:8080" bypass-list="172.*;*.mydomain.com;*.local".

and the same can be achieved from Internet Explorer > Tools > Internet Options > Lan settings > Proxy server settings but sometimes it is good to have settings from Command Prompt

Under Proxy server option
Select  'ByPass proxy server for Local Addresses" and then click Advanced add domain in Exceptions "Do not use proxy server for addresses beginning with:" For Example, you can add domain name like this domain.com;domain2.com;domain3.com