Exchnage 2010 Health Check Script Required

Team,
Can Some body Please share the script for below and looking for output to be in HTML.
Exchange Server 2010 Environment.
Exchange Server version, Roles,service pack and rollup level
Usage patterns of the mailboxes (Top 100 Mailbox)
Number of mailboxes per Database
List of mailbox servers hosting copies and number of copies
Number of mailboxes per Exchange Server
 Regards
Srinivasa K
Srinivasa K

Hello Andy
Thanks for your reply , Forgot to mention that I have already checked below report, the problem is the below script will run on whole Exchnage Environment , In our organization we have many domains and we have access only to few of them. It will be good
if I get any other script Individully to check the status, I dont want all the status in single report.
Hope You will be able to help me on this.
http://www.stevieg.org/2011/06/exchange-environment-report/
Regards
Srinivasa K
Srinivasa K

Similar Messages

  • DPM 2007/2010 Health Check Tools

    Hi there,
    I've had a look through the existing forum threads, but am unable to find an answer to my query.
    I am looking to find a range of DPM health check tools, or Powershell Scripts, that would help me perform a Health Check on a 2007 environment, with a view to an eventual upgrade path to 2010/2012
    I am hoping to avoid analysing each event ID and every backup operation in order to make a report to management.
    Many thanks in advance
    Rory

    Hi,
    This is the only DPM Health Check script available. Here is the link:
    https://gallery.technet.microsoft.com/DPM-Health-Check-9628e68f
    My Blog | www.buchatech.com | www.systemcenterportal.com
    If you found this post helpful, please give it a "Helpful" vote. If it answered your question, remember to mark it as an "Answer". This posting is provided "AS IS" with no warranties and confers no rights! Always test ANY suggestion
    in a test environment before implementing!

  • Health check script suggestions...

    I used the health check script from metalink and it gave me few suggestion regarding my replication environment. One of them is ...
    + SUGGESTION: One or more propagation processes contain rule sets.
    + If a Propagation process will unconditionally forward all incoming
    + messages to its destination queue, and no rule-based transformations are
    + performed by the Propagation process, you should consider removing
    + the rule set for the Propagation process via dbms_propagation_adm.alter_propagation.
    + This will improve Propagation performance.
    What is get from this is since i have same rule defined in propagation also as the one in capture, So suggestion from orcale is remove the propagation rule and let everything propagted through...anyhow since i want everything a capture process captures to be replicated on destenation.. so i removed the propagation rule. ..
    But now the replication has stoped performing after that.....
    can any one suggest me if my undersanding for above healthcheck suggestion is wrong then wht does it mean?
    Kapil

    Did you remove both the rule AND the rule set, or did you remove only the rule?
    If it was a positive rule set and you removed only the rule, you left an empty rule set as a positive rule set for the propagation. This will cause it to discard all messages.
    An empty positive rule set is not the same as no (null) positive rule set. A null rule set means "forward all messages, since there is not filter rule", but an empty rule set means "there is a rule: that no message will be forwarded".
    Ilidio.

  • DB Health Check Scripts

    Hi all,
    Oracle 9i, 10g, 11g
    Can you share me your "health check" scripts which you have used in your PROD database and is proven to help you in carrying out your desired tasks being a good DBA :)
    Does AWR be able to generate health check report?
    Thanks a lot,
    Kinz

    KinsaKaUy? wrote:
    Thanks sb,
    http://www.orafaq.com/wiki/Scripts
    Wow this one site is complete, But it will take years for me to read all these. And I dont know if this is for 8i, 9i, 10g, or 11g.
    Can you tell me which of these scripts will list the Top 10 most resource consumers queries? in terms (CPU,Memory,I/O).If you enable SQL_TRACE prior to launching AWR report, then you capture EVERY SQL statement to build the report.
    You could easily observe the answer to your question if you were only willing to actually did some lilttle work instead of asking to be spoon fed.

  • Powershell script for Exchange Server 2010 health check

    People,
    Can anyone here please share the Powershell to check the Exchange Server health and functionality after patching and Service Pack update?
    I need to test multiple servers in my AD environment.
    Thanks
    /* Server Support Specialist */

    Hi,
    In Exchange 2010, you can use the Test-ServiceHealth cmdlet to test whether all the Microsoft Windows services that Exchange requires on a server have started.
    A related article about this command.
    https://technet.microsoft.com/en-us/library/aa998852(v=exchg.150).aspx
    You can also use the EXBPA tool to do Exchange server health check. You can look at the blog below.
    http://blogs.msdn.com/b/douggowans/archive/2007/06/06/run-your-own-exchange-server-health-check-the-tools.aspx
    Hope this is helpful to you.
    Best regards,
    If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Belinda Ma
    TechNet Community Support

  • Exchange 2010 health-checks with encryption and ntlm auth

    Hi everybody,
    I will be forced to implement extended health-ckecks for Exchange 2010 CAS Servers. So the cisco design guide does not help
    Exchange2010 CAS Service needs ntlm auth for many services by default. http://technet.microsoft.com/en-us/library/bb331973.aspx
    Now with SP1 also for pop3 and imap4. I have not found any option to use ntlm by default.
    The next problem is encryption.
    Health-checks with encryption are not integrated in cisco ace 4710 by default.
    As an alternative to try a scripted health-check with tcl script is an option but needs more investigation and is timeconsuming.
    I watched for other vendors solution, they use e.g. external imported shell scripts with curl (curl -s --ntlm -k -X POST ...) to do a health-check with ntlm. That would be fine at the moment to beat the requirement of extendet health-checks.
    But maybe it is only ntlm verion 1, I do not know what happens if it comes to ntlm version 2.
    Kerberos authentication is a much bigger problem, but at the moment not a requirement.
    Does anybody has some hints or also a tcl script for exchange health-checks ?
    Best Regards
    Alois

    Hi everybody,
    I will be forced to implement extended health-ckecks for Exchange 2010 CAS Servers. So the cisco design guide does not help
    Exchange2010 CAS Service needs ntlm auth for many services by default. http://technet.microsoft.com/en-us/library/bb331973.aspx
    Now with SP1 also for pop3 and imap4. I have not found any option to use ntlm by default.
    The next problem is encryption.
    Health-checks with encryption are not integrated in cisco ace 4710 by default.
    As an alternative to try a scripted health-check with tcl script is an option but needs more investigation and is timeconsuming.
    I watched for other vendors solution, they use e.g. external imported shell scripts with curl (curl -s --ntlm -k -X POST ...) to do a health-check with ntlm. That would be fine at the moment to beat the requirement of extendet health-checks.
    But maybe it is only ntlm verion 1, I do not know what happens if it comes to ntlm version 2.
    Kerberos authentication is a much bigger problem, but at the moment not a requirement.
    Does anybody has some hints or also a tcl script for exchange health-checks ?
    Best Regards
    Alois

  • Exchange 2013 Daily Health Check Script

    Hi All,
    I recently migrated from Exchange 2010 to Exchange 2013. Prior to the migration the daily health check was being used daily to send my team and I the HTML report.
    I have downloaded the new v1.07 script and followed the same rules and settings I used for Exchange 2010 when setting up the script.
    The script only runs now via Exchange shell and does not send the HTML report and I am unable to run the script via a batch file that called the ./ps1 file in a windows command prompt and am also unable to as a result, use the task scheduler to schedule
    this task.
    I am desperately in need of getting this morning report as its been so useful, I cant do without it now.
    Any advise would be greatly appreciated.
    Thanks so much
    Alton

    So, could you please check this link, it provide the solution to check the daily health of exchange 2013 :
    http://exchangeserverpro.com/troubleshooting-exchange-server-2013-with-test-cmdlets/

  • Exchange 2010 Health check

    Dear all,
    if the exchanger 2010 run DAG (two servers). How to mak the health check very day and health check report will be sent by email .
    thank you
    john

    Hi
    Maybe you can run exbpa everyday and export it share folder.
    You can read this blog.
    How to Schedule an Exchange BPA Scan in Exchange Server 2010
    If you want to send email, you have to write script for it.
    Terence Yu
    TechNet Community Support

  • WMI Health Check script

    Hi Experts
    I am looking client WMI health check. When I run the script it should check local WMI and give result in log file. if any issue it should reslove.
    Thanks

    Hi,
    Are you looking for this?
    http://www.microsoft.com/en-us/download/details.aspx?id=7684
    If not, you can check the script repository for prewritten scripts:
    http://gallery.technet.microsoft.com/scriptcenter
    If you can't find what you need and you can't write your own, you can request a script here:
    http://gallery.technet.microsoft.com/scriptcenter/site/requests
    Let us know if you have any specific questions.
    Don't retire TechNet! -
    (Don't give up yet - 13,085+ strong and growing)

  • Vmware vsphere health check report v5.1.0

    Hi,
    I'm currently using the vmware vsphere health check report v5.1.0 script. I switched from another perl script to this and the report provide much more information. There is one thing that don't seem to work properly though..
    I currently have a failed disk in my server and the report is showing "unknown" status next to 3 disk / disk day. If I run the other script I have used in the past, I have 3 alerts in red clearly showing that something has failed. Would any of you know why it's showing as unknown instead of critical in the report?
    Old Script
    o Disk or Disk Bay 15 Drive 15 0: Drive Fault - Deassert: 0
    o Disk or Disk Bay 15 Drive 15 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 15 Drive 15 0: In Critical Array - Deassert: 0
    o Disk or Disk Bay 15 Drive 15 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 15 Drive 15 0: Rebuild In Progress - Deassert: 0
    o Disk or Disk Bay 14 Drive 14 0: Drive Fault - Deassert: 0
    o Disk or Disk Bay 14 Drive 14 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 14 Drive 14 0: In Critical Array - Deassert: 0
    o Disk or Disk Bay 14 Drive 14 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 14 Drive 14 0: Rebuild In Progress - Deassert: 0
    o Disk or Disk Bay 13 Drive 13 0: Drive Fault - Deassert: 0
    o Disk or Disk Bay 13 Drive 13 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 13 Drive 13 0: In Critical Array - Deassert: 0
    o Disk or Disk Bay 13 Drive 13 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 13 Drive 13 0: Rebuild In Progress - Deassert: 0
    o Disk or Disk Bay 12 Drive 12 0: Drive Fault - Deassert: 0
    o Disk or Disk Bay 12 Drive 12 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 12 Drive 12 0: In Critical Array - Deassert: 0
    o Disk or Disk Bay 12 Drive 12 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 12 Drive 12 0: Rebuild In Progress - Deassert: 0
    o Disk or Disk Bay 11 Drive 11 0: Drive Fault - Deassert: 0
    o Disk or Disk Bay 11 Drive 11 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 11 Drive 11 0: In Critical Array - Deassert: 0
    o Disk or Disk Bay 11 Drive 11 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 11 Drive 11 0: Rebuild In Progress - Deassert: 0
    o Disk or Disk Bay 10 Drive 10 0: Drive Fault - Deassert: 0
    o Disk or Disk Bay 10 Drive 10 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 10 Drive 10 0: In Critical Array - Deassert: 0
    o Disk or Disk Bay 10 Drive 10 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 10 Drive 10 0: Rebuild In Progress - Deassert: 0
    o Disk or Disk Bay 9 Drive 9 0: Drive Fault - Deassert: 0
    o Disk or Disk Bay 9 Drive 9 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 9 Drive 9 0: In Critical Array - Deassert: 0
    o Disk or Disk Bay 9 Drive 9 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 9 Drive 9 0: Rebuild In Progress - Deassert: 0
    o Disk or Disk Bay 8 Drive 8 0: Drive Fault - Deassert: 0
    o Disk or Disk Bay 8 Drive 8 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 8 Drive 8 0: In Critical Array - Deassert: 0
    o Disk or Disk Bay 8 Drive 8 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 8 Drive 8 0: Rebuild In Progress - Deassert: 0
    o Disk or Disk Bay 7 Drive 7 0: Drive Fault - Deassert: 0
    o Disk or Disk Bay 7 Drive 7 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 7 Drive 7 0: In Critical Array - Deassert: 0
    o Disk or Disk Bay 7 Drive 7 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 7 Drive 7 0: Rebuild In Progress - Deassert: 0
    o Disk or Disk Bay 6 Drive 6 0: Drive Fault - Deassert: 0
    o Disk or Disk Bay 6 Drive 6 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 6 Drive 6 0: In Critical Array - Deassert: 0
    o Disk or Disk Bay 6 Drive 6 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 6 Drive 6 0: Rebuild In Progress - Deassert: 0
    o Disk or Disk Bay 5 Drive 5 0: Drive Fault - Deassert: 0
    o Disk or Disk Bay 5 Drive 5 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 5 Drive 5 0: In Critical Array - Deassert: 0
    o Disk or Disk Bay 5 Drive 5 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 5 Drive 5 0: Rebuild In Progress - Deassert: 0
    o Disk or Disk Bay 4 Drive 4 0: Drive Fault - Deassert: 0
    o Disk or Disk Bay 4 Drive 4 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 4 Drive 4 0: In Critical Array - Deassert: 0
    o Disk or Disk Bay 4 Drive 4 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 4 Drive 4 0: Rebuild In Progress - Deassert: 0
    o Disk or Disk Bay 3 Drive 3 0: Drive Fault - Deassert: 0
    o Disk or Disk Bay 3 Drive 3 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 3 Drive 3 0: In Critical Array - Deassert: 0
    o Disk or Disk Bay 3 Drive 3 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 3 Drive 3 0: Rebuild In Progress - Deassert: 0
    o Disk or Disk Bay 2 Drive 2 0: Drive Fault - Assert: 0
    o Disk or Disk Bay 2 Drive 2 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 2 Drive 2 0: In Critical Array - Deassert: 0
    o Disk or Disk Bay 2 Drive 2 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 2 Drive 2 0: Rebuild In Progress - Deassert: 0
    o Disk or Disk Bay 1 Drive 1 0: Drive Fault - Deassert: 0
    o Disk or Disk Bay 1 Drive 1 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 1 Drive 1 0: In Critical Array - Assert: 0
    o Disk or Disk Bay 1 Drive 1 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 1 Drive 1 0: Rebuild In Progress - Deassert: 0
    o Disk or Disk Bay 0 Drive 0 0: Drive Fault - Deassert: 0
    o Disk or Disk Bay 0 Drive 0 0: Predictive Failure - Deassert: 0
    o Disk or Disk Bay 0 Drive 0 0: In Critical Array - Assert: 0
    o Disk or Disk Bay 0 Drive 0 0: In Failed Array - Deassert: 0
    o Disk or Disk Bay 0 Drive 0 0: Rebuild In Progress - Deassert: 0
    New Report
    BIOS 1 ABR Status 0: Unspecified - Deassert
    0
    OK
    BIOS 1 Firmware Error 0: Unspecified - Deassert
    0
    OK
    BIOS 1 Firmware Error 0: Unspecified - Deassert
    0
    OK
    Cooling Unit 1 Cooling Zone 1 0 - Fully redundant
    0
    OK
    Cooling Unit 2 Cooling Zone 2 0 - Fully redundant
    0
    OK
    Cooling Unit 3 Cooling Zone 3 0 - Fully redundant
    0
    OK
    Disk or Disk Bay 0 Drive 0 0: Drive Fault - Deassert
    0
    OK
    Disk or Disk Bay 0 Drive 0 0: In Critical Array - Assert
    0
    UNKNOWN
    Disk or Disk Bay 0 Drive 0 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 0 Drive 0 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 0 Drive 0 0: Rebuild In Progress - Deassert
    0
    OK
    Disk or Disk Bay 1 Drive 1 0: Drive Fault - Deassert
    0
    OK
    Disk or Disk Bay 1 Drive 1 0: In Critical Array - Assert
    0
    UNKNOWN
    Disk or Disk Bay 1 Drive 1 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 1 Drive 1 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 1 Drive 1 0: Rebuild In Progress - Deassert
    0
    OK
    Disk or Disk Bay 10 Drive 10 0: Drive Fault - Deassert
    0
    OK
    Disk or Disk Bay 10 Drive 10 0: In Critical Array - Deassert
    0
    OK
    Disk or Disk Bay 10 Drive 10 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 10 Drive 10 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 10 Drive 10 0: Rebuild In Progress - Deassert
    0
    OK
    Disk or Disk Bay 11 Drive 11 0: Drive Fault - Deassert
    0
    OK
    Disk or Disk Bay 11 Drive 11 0: In Critical Array - Deassert
    0
    OK
    Disk or Disk Bay 11 Drive 11 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 11 Drive 11 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 11 Drive 11 0: Rebuild In Progress - Deassert
    0
    OK
    Disk or Disk Bay 12 Drive 12 0: Drive Fault - Deassert
    0
    OK
    Disk or Disk Bay 12 Drive 12 0: In Critical Array - Deassert
    0
    OK
    Disk or Disk Bay 12 Drive 12 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 12 Drive 12 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 12 Drive 12 0: Rebuild In Progress - Deassert
    0
    OK
    Disk or Disk Bay 13 Drive 13 0: Drive Fault - Deassert
    0
    OK
    Disk or Disk Bay 13 Drive 13 0: In Critical Array - Deassert
    0
    OK
    Disk or Disk Bay 13 Drive 13 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 13 Drive 13 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 13 Drive 13 0: Rebuild In Progress - Deassert
    0
    OK
    Disk or Disk Bay 14 Drive 14 0: Drive Fault - Deassert
    0
    OK
    Disk or Disk Bay 14 Drive 14 0: In Critical Array - Deassert
    0
    OK
    Disk or Disk Bay 14 Drive 14 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 14 Drive 14 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 14 Drive 14 0: Rebuild In Progress - Deassert
    0
    OK
    Disk or Disk Bay 15 Drive 15 0: Drive Fault - Deassert
    0
    OK
    Disk or Disk Bay 15 Drive 15 0: In Critical Array - Deassert
    0
    OK
    Disk or Disk Bay 15 Drive 15 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 15 Drive 15 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 15 Drive 15 0: Rebuild In Progress - Deassert
    0
    OK
    Disk or Disk Bay 2 Drive 2 0: Drive Fault - Assert
    0
    UNKNOWN
    Disk or Disk Bay 2 Drive 2 0: In Critical Array - Deassert
    0
    OK
    Disk or Disk Bay 2 Drive 2 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 2 Drive 2 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 2 Drive 2 0: Rebuild In Progress - Deassert
    0
    OK
    Disk or Disk Bay 3 Drive 3 0: Drive Fault - Deassert
    0
    OK
    Disk or Disk Bay 3 Drive 3 0: In Critical Array - Deassert
    0
    OK
    Disk or Disk Bay 3 Drive 3 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 3 Drive 3 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 3 Drive 3 0: Rebuild In Progress - Deassert
    0
    OK
    Disk or Disk Bay 4 Drive 4 0: Drive Fault - Deassert
    0
    OK
    Disk or Disk Bay 4 Drive 4 0: In Critical Array - Deassert
    0
    OK
    Disk or Disk Bay 4 Drive 4 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 4 Drive 4 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 4 Drive 4 0: Rebuild In Progress - Deassert
    0
    OK
    Disk or Disk Bay 5 Drive 5 0: Drive Fault - Deassert
    0
    OK
    Disk or Disk Bay 5 Drive 5 0: In Critical Array - Deassert
    0
    OK
    Disk or Disk Bay 5 Drive 5 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 5 Drive 5 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 5 Drive 5 0: Rebuild In Progress - Deassert
    0
    OK
    Disk or Disk Bay 6 Drive 6 0: Drive Fault - Deassert
    0
    OK
    Disk or Disk Bay 6 Drive 6 0: In Critical Array - Deassert
    0
    OK
    Disk or Disk Bay 6 Drive 6 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 6 Drive 6 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 6 Drive 6 0: Rebuild In Progress - Deassert
    0
    OK
    Disk or Disk Bay 7 Drive 7 0: Drive Fault - Deassert
    0
    OK
    Disk or Disk Bay 7 Drive 7 0: In Critical Array - Deassert
    0
    OK
    Disk or Disk Bay 7 Drive 7 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 7 Drive 7 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 7 Drive 7 0: Rebuild In Progress - Deassert
    0
    OK
    Disk or Disk Bay 8 Drive 8 0: Drive Fault - Deassert
    0
    OK
    Disk or Disk Bay 8 Drive 8 0: In Critical Array - Deassert
    0
    OK
    Disk or Disk Bay 8 Drive 8 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 8 Drive 8 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 8 Drive 8 0: Rebuild In Progress - Deassert
    0
    OK
    Disk or Disk Bay 9 Drive 9 0: Drive Fault - Deassert
    0
    OK
    Disk or Disk Bay 9 Drive 9 0: In Critical Array - Deassert
    0
    OK
    Disk or Disk Bay 9 Drive 9 0: In Failed Array - Deassert
    0
    OK
    Disk or Disk Bay 9 Drive 9 0: Predictive Failure - Deassert
    0
    OK
    Disk or Disk Bay 9 Drive 9 0: Rebuild In Progress - Deassert
    0
    OK

    Thank you for the follow up. I do understand that a completly unreadable disk might throw an unknown status but the status is different from one report than the other. On one side, it clearly shows in red that the disk has something and on the side, it just throws a "I don't know what's going on with the disk". I ran both report the same day and i'm expecting some red in the report to warn me if a disk fail.
    Is there a way to change that behavior from the health check script?

  • SQL Server Health Check (T-SQL)

    I'm looking for a peer review from my fellow SQL Server DBA's.  I've written an 89-point health check that I'd really appreciate feedback on.  You can find the health check scripts at www.sqlhc.com.
     All scripts are free to use.
    Thanks,
    Chris Jones

    Excellent!!! Great work... thanks.

  • Health Check in Exchange 2007 Scripting

    Hi All,
    I have been looking around for scripts which would help me perform regularised health checks in my enviornment. After lot of googling i was able to get a script which would meet my requirements. However i have a few challenges involved in extracting some
    more information:
    1. Mailbox Store Size, Free Diskspace percentage for mailbox servers
    2. Remote Mail flow Tests & Mailflow test to every exchange 2007 mailbox servers in org.
    3. Automating Email of collected data (in HTML) to Administrator.
    4. Executing the script Automatically without triggering it from Exchange Management Shell.
    Script Below
    param( [string] $auditlist)
    Function Get-CustomHTML ($Header){
    $Report = @"
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
    <html><head><title>$($Header)</title>
    <META http-equiv=Content-Type content='text/html; charset=windows-1252'>
    <meta name="save" content="history">
    <style type="text/css">
    DIV .expando {DISPLAY: block; FONT-WEIGHT: normal; FONT-SIZE: 8pt; RIGHT: 8px; COLOR: #ffffff; FONT-FAMILY: Arial; POSITION: absolute; TEXT-DECORATION: underline}
    TABLE {TABLE-LAYOUT: fixed; FONT-SIZE: 100%; WIDTH: 100%}
    *{margin:0}
    .dspcont { display:none; BORDER-RIGHT: #B1BABF 1px solid; BORDER-TOP: #B1BABF 1px solid; PADDING-LEFT: 16px; FONT-SIZE: 8pt;MARGIN-BOTTOM: -1px; PADDING-BOTTOM: 5px; MARGIN-LEFT: 0px; BORDER-LEFT: #B1BABF 1px solid; WIDTH: 95%; COLOR: #000000; MARGIN-RIGHT:
    0px; PADDING-TOP: 4px; BORDER-BOTTOM: #B1BABF 1px solid; FONT-FAMILY: Tahoma; POSITION: relative; BACKGROUND-COLOR: #f9f9f9}
    .filler {BORDER-RIGHT: medium none; BORDER-TOP: medium none; DISPLAY: block; BACKGROUND: none transparent scroll repeat 0% 0%; MARGIN-BOTTOM: -1px; FONT: 100%/8px Tahoma; MARGIN-LEFT: 43px; BORDER-LEFT: medium none; COLOR: #ffffff; MARGIN-RIGHT: 0px; PADDING-TOP:
    4px; BORDER-BOTTOM: medium none; POSITION: relative}
    .save{behavior:url(#default#savehistory);}
    .dspcont1{ display:none}
    a.dsphead0 {BORDER-RIGHT: #B1BABF 1px solid; PADDING-RIGHT: 5em; BORDER-TOP: #B1BABF 1px solid; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 8pt; MARGIN-BOTTOM: -1px; MARGIN-LEFT: 0px; BORDER-LEFT: #B1BABF 1px solid; CURSOR: hand; COLOR:
    #FFFFFF; MARGIN-RIGHT: 0px; PADDING-TOP: 4px; BORDER-BOTTOM: #B1BABF 1px solid; FONT-FAMILY: Tahoma; POSITION: relative; HEIGHT: 2.25em; WIDTH: 95%; BACKGROUND-COLOR: #CC0000}
    a.dsphead1 {BORDER-RIGHT: #B1BABF 1px solid; PADDING-RIGHT: 5em; BORDER-TOP: #B1BABF 1px solid; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 8pt; MARGIN-BOTTOM: -1px; MARGIN-LEFT: 0px; BORDER-LEFT: #B1BABF 1px solid; CURSOR: hand; COLOR:
    #ffffff; MARGIN-RIGHT: 0px; PADDING-TOP: 4px; BORDER-BOTTOM: #B1BABF 1px solid; FONT-FAMILY: Tahoma; POSITION: relative; HEIGHT: 2.25em; WIDTH: 95%; BACKGROUND-COLOR: #7BA7C7}
    a.dsphead2 {BORDER-RIGHT: #B1BABF 1px solid; PADDING-RIGHT: 5em; BORDER-TOP: #B1BABF 1px solid; DISPLAY: block; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 8pt; MARGIN-BOTTOM: -1px; MARGIN-LEFT: 0px; BORDER-LEFT: #B1BABF 1px solid; CURSOR: hand; COLOR:
    #ffffff; MARGIN-RIGHT: 0px; PADDING-TOP: 4px; BORDER-BOTTOM: #B1BABF 1px solid; FONT-FAMILY: Tahoma; POSITION: relative; HEIGHT: 2.25em; WIDTH: 95%; BACKGROUND-COLOR: #7BA7C7}
    a.dsphead1 span.dspchar{font-family:monospace;font-weight:normal;}
    td {VERTICAL-ALIGN: TOP; FONT-FAMILY: Tahoma}
    th {VERTICAL-ALIGN: TOP; COLOR: #CC0000; TEXT-ALIGN: left}
    BODY {margin-left: 4pt}
    BODY {margin-right: 4pt}
    BODY {margin-top: 6pt}
    </style>
    <script type="text/javascript">
    function dsp(loc){
       if(document.getElementById){
          var foc=loc.firstChild;
          foc=loc.firstChild.innerHTML?
             loc.firstChild:
             loc.firstChild.nextSibling;
          foc.innerHTML=foc.innerHTML=='hide'?'show':'hide';
          foc=loc.parentNode.nextSibling.style?
             loc.parentNode.nextSibling:
             loc.parentNode.nextSibling.nextSibling;
          foc.style.display=foc.style.display=='block'?'none':'block';}} 
    if(!document.getElementById)
       document.write('<style type="text/css">\n'+'.dspcont{display:block;}\n'+ '</style>');
    </script>
    </head>
    <body>
    <b><font face="Arial" size="5">$($Header)</font></b><hr size="8" color="#CC0000">
    <font face="Arial" size="1"><b>Version 1  |M & C | <A HREF='http://mail.exchange.com'>mail.exchange.com</A></b></font><br>
    <font face="Arial" size="1">Report created on $(Get-Date)</font>
    <div class="filler"></div>
    <div class="filler"></div>
    <div class="filler"></div>
    <div class="save">
    Return $Report
    Function Get-CustomHeader0 ($Title){
    $Report = @"
     <div class="dspcont0">
     <h1><a href="javascript:void(0)" class="dsphead0" onclick="dsp(this)">
     <span class="expando">show</span>$($Title)</a></h1>
     <div class="dspcont0">
    Return $Report
    Function Get-CustomHeader ($Num, $Title){
    $Report = @"
     <h2><a href="javascript:void(0)" class="dsphead$($Num)" onclick="dsp(this)">
     <span class="expando">show</span>$($Title)</a></h2>
     <div class="dspcont">
    Return $Report
    Function Get-CustomHeaderClose{
     $Report = @"
      </DIV>
      <div class="filler"></div>
    Return $Report
    Function Get-CustomHeader0Close{
     $Report = @"
      </DIV>
      <div class="filler"></div>
    Return $Report
    Function Get-CustomHTMLClose{
     $Report = @"
    </div>
    </body>
    </html>
    Return $Report
    Function Get-HTMLTable{
     param([array]$Content)
     $HTMLTable = $Content | ConvertTo-Html
     $HTMLTable = $HTMLTable -replace '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">', ""
     $HTMLTable = $HTMLTable -replace '<html xmlns="http://www.w3.org/1999/xhtml">', ""
     $HTMLTable = $HTMLTable -replace '<head>', ""
     $HTMLTable = $HTMLTable -replace '<title>HTML TABLE</title>', ""
     $HTMLTable = $HTMLTable -replace '&lt;', "<"
     $HTMLTable = $HTMLTable -replace '&gt;', ">"
     $HTMLTable = $HTMLTable -replace '</head><body>', ""
     $HTMLTable = $HTMLTable -replace '</body></html>', ""
     Return $HTMLTable
    Function Get-HTMLLink ($activeURL){
    $Report = @"
    <a href=$activeURL>$activeURL</a>
    Return $Report
    Function Get-Ink ([String]$inData){
    [String]$inclPercentage = @(35..100)
    $positive = ($inclPercentage, 'Success', 'Ready', 'Running', 'OK', 'True', 'Information')
    If ($positive -match $inData)
    $Report = @"
    <font color='#009900'>$inData</font>
    Else
    $Report = @"
    <font color='#FF0000'>$inData</font>
    Return $Report
    Function Get-HTMLBasic ($Detail){
    $Report = @"
    <TABLE>
     <tr>
      <td width='75%'>$($Detail)</td>
     </tr>
    </TABLE>
    Return $Report
    Function Get-HTMLDetail ($Heading, $Detail){
    $Report = @"
    <TABLE>
     <tr>
     <th width='25%'><b>$Heading</b></font></th>
     <td width='75%'>$($Detail)</td>
     </tr>
    </TABLE>
    Return $Report
    $input | foreach {$targets += @($_)}
    If ((Test-Path variable:\targets) -eq $True){
       Write-Host "Server list input detected on pipeline" -ForegroundColor Yellow
    Else{
     if ($auditlist -eq ""){
       Write-Host "No server list specified, getting all Exchange 2007 servers" -ForegroundColor Yellow
       $targets = Get-ExchangeServer | Where-Object {$_.IsExchange2007OrLater -eq $True}
      else
       if ((Test-Path $auditlist) -eq $false)
        Write-Host "Invalid server list specified: $auditlist" -ForegroundColor DarkRed
        exit
       else
        Write-Host "Using Audit list: $auditlist" -ForegroundColor Cyan
        $Targets = Get-Content $auditlist
    $now = Get-Date
    #Custom Expressions
    $latencyMS = @{Name="Latency(MS)";expression={[Math]::Round(([TimeSpan] $_.Latency).TotalMilliSeconds)}}
    $MessageLatencyTime = @{Name="MessageLatencyTime";expression={[Math]::Round(([TimeSpan] $_.Latency).TotalMilliSeconds)}}
    $hotLink = @{Name="URL";expression={Get-HTMLLink ($_.URL)}}
    $colourResult = @{Name="Result";expression={Get-Ink ($_.Result)}}
    $colourStatus = @{Name="Status";expression={Get-Ink ($_.Status)}}
    $colourType = @{Name="Status";expression={Get-Ink ($_.Type)}}
    $newResult = @{Name="Result";expression={If ($_.Result.ToString() -ne 'Success'){Get-Ink ('Failure')} Else {Get-Ink ('Success') }}}
    $fullReport = Get-CustomHTML "Exchange 2007 "
    $fullReport += Get-CustomHTMLClose
    Foreach ($Target in $Targets){
    Write-Host "Collating Detail for $Target" -ForegroundColor Yellow
     Write-Host "..getting basic computer configuration"
     $ComputerSystem = Get-WmiObject -computername $Target Win32_ComputerSystem
     switch ($ComputerSystem.DomainRole){
      0 { $ComputerRole = "Standalone Workstation" }
      1 { $ComputerRole = "Member Workstation" }
      2 { $ComputerRole = "Standalone Server" }
      3 { $ComputerRole = "Member Server" }
      4 { $ComputerRole = "Domain Controller" }
      5 { $ComputerRole = "Domain Controller" }
      default { $ComputerRole = "Information not available" }
     $OperatingSystems = Get-WmiObject -computername $Target Win32_OperatingSystem
     $TimeZone = Get-WmiObject -computername $Target Win32_Timezone
     $Keyboards = Get-WmiObject -computername $Target Win32_Keyboard
     $SchedTasks = Get-WmiObject -computername $Target Win32_ScheduledJob
     $BootINI = $OperatingSystems.SystemDrive + "boot.ini"
     $RecoveryOptions = Get-WmiObject -computername $Target Win32_OSRecoveryConfiguration
     $exServer = Get-ExchangeServer | where {$_.Name -eq "$Target"}
     $exVersion = "Version " + $exServer.AdminDisplayVersion.Major + "." + $exServer.AdminDisplayVersion.Minor + " (Build " + $exServer.AdminDisplayVersion.Build + "." + $exServer.AdminDisplayVersion.Revision + ")"
     switch ($ComputerRole){
      "Member Workstation" { $CompType = "Computer Domain"; break }
      "Domain Controller" { $CompType = "Computer Domain"; break }
      "Member Server" { $CompType = "Computer Domain"; break }
      default { $CompType = "Computer Workgroup"; break }
     $LBTime=$OperatingSystems.ConvertToDateTime($OperatingSystems.Lastbootuptime)
     $MyReport += Get-CustomHeader0  "$Target - Role(s): $($exServer.ServerRole)"
     $MyReport += Get-CustomHeader "2" "Basic Server Information"
      $MyReport += Get-HTMLDetail "Computer Name" ($ComputerSystem.Name)
      $MyReport += Get-HTMLDetail "Computer Role" ($ComputerRole)
      $MyReport += Get-HTMLDetail "Exchange Role(s)" ($exServer.ServerRole)
      $MyReport += Get-HTMLDetail "Last System Boot" ($LBTime)
      $MyReport += Get-CustomHeaderClose
      Write-Host "..getting logical disk configuration"
      $Disks = Get-WmiObject -ComputerName $Target Win32_LogicalDisk
      $MyReport += Get-CustomHeader "2" "Logical Disk Configuration"
       $LogicalDrives = @()
       Foreach ($LDrive in ($Disks | Where {$_.DriveType -eq 3})){
        $Details = "" | Select "Drive Letter", Label, "File System", "Disk Size (GB)", "Disk Free Space", "% Free Space"
        $Details."Drive Letter" = $LDrive.DeviceID
        $Details.Label = $LDrive.VolumeName
        $Details."File System" = $LDrive.FileSystem
        $Details."Disk Size (GB)" = [math]::round(($LDrive.size / 1GB))
        $Details."Disk Free Space" = [math]::round(($LDrive.FreeSpace / 1GB))
        $Details."% Free Space" = Get-Ink ([Math]::Round(($LDrive.FreeSpace /1GB) / ($LDrive.Size / 1GB) * 100))
        $LogicalDrives += $Details
       $MyReport += Get-HTMLTable ($LogicalDrives)
      $MyReport += Get-CustomHeaderClose
      if ($exServer.ServerRole -like "*ClientAccess*")
      {$MyReport += Get-CustomHeader "2" "OWA Connectivity"
       Write-Host "..performing OWA connectivity test"
       $colOWAResults = Test-OwaConnectivity -ClientAccessServer $Target
       $MyReport += Get-HTMLTable ($colOWAResults | select MailboxServer, $hotLink, Scenario, $colourResult, $latencyMS, Error)
       $MyReport += Get-CustomHeaderClose
    Write-Host "..getting queue details"
      if ($exServer.ServerRole -like "*HubTransport*")
      $MyReport += Get-CustomHeader "2" "Queue Information"
      $colQs = Get-Queue -server $Target
      $MyReport += Get-HTMLTable ($colQs | Select-Object NextHopDomain, $colourStatus, MessageCount, NextRetryTime)
      $MyReport += Get-CustomHeaderClose
      Write-Host "..getting mailbox database information"
      $spaceLog=[System.Diagnostics.EventLog]::GetEventLogs($target) | where {($_.LogDisplayName -eq "Application")}
      $db = @{Name="database";Expression={$_.ReplacementStrings[1]}}
      $freeMB = @{Name="MB";Expression={[int]$_.ReplacementStrings[0]}}
      $whiteSpace = $spaceLog.entries | where {($_.TimeWritten -ge $now.AddDays(-1))} | where {($_.EventID -eq "1221")} | select $db,$freeMB
      $ws = @{Name="White Space";expression={}}
      if ($exServer.ServerRole -like "*Mailbox*")
       $MyReport += Get-CustomHeader "2" "Mailbox Stores"
       $colMailboxStores = Get-MailboxDatabase -Server $Target -Status | Sort-Object Name
       $storeTable = @()
       Foreach ($objMailboxStore in $colMailboxStores)
        [string]$totalUsers = (get-mailbox -database $objMailboxStore).count
        [string]$empty = $totalUsers.Length -eq 0
        if ($empty -eq 'True')
         [string]$totalUsers = "0"
        $storeDetails = "" | Select Name, Mounted, "Total Users", "White Space", LastFullBackup
        $storeDetails.Name = $objMailboxStore.Name
        $storeDetails.Mounted = Get-Ink ($objMailboxStore.Mounted)
        $storeDetails."Total Users" = $totalUsers
        $storeDetails."White Space" = (($whitespace | where {$_.database -match $objMailboxStore.Name} | select -last 1).mb)
        $storeDetails.LastFullBackup = $objMailboxStore.LastFullBackup
        $storeTable += $storeDetails
        $MyReport += Get-HTMLTable ($storeTable)
       $MyReport += Get-CustomHeaderClose
       $MyReport += Get-CustomHeader "2" "MAPI Connectivity"
       Write-Host "..performing MAPI connectivity test"
       $colMAPIResults = Test-MAPIConnectivity -Server $Target
        $MyReport += Get-HTMLTable ($colMAPIResults | select Database, $newResult, $latencyMS, Error)
       $MyReport += Get-CustomHeaderClose
       $MyReport += Get-CustomHeader "2" "Mailflow Test"
       Write-Host "..performing Mailflow test"
       $colMailflowResults = Test-Mailflow -Server $Target
        $MyReport += Get-HTMLTable ($colMailflowResults | select TestMailflowResult, $MessageLatencyTime)
       $MyReport += Get-CustomHeaderClose
      Write-Host "..getting Exchange services"
      $ListOfServices = (gwmi -computer $Target -query "select * from win32_service where Name like 'MSExchange%' or Name like 'IIS%' or Name like 'SMTP%' or Name like 'POP%' or Name like 'W3SVC%'")
      $MyReport += Get-CustomHeader "2" "Exchange Services"
       $Services = @()
       Foreach ($Service in $ListOfServices){
        $Details = "" | Select Name,Account,"Start Mode",State,"Expected State"
        $Details.Name = $Service.Caption
        $Details.Account = $Service.Startname
        $Details."Start Mode" = $Service.StartMode
        If ($Service.StartMode -eq "Auto")
          if ($Service.State -eq "Stopped")
           $Details.State = $Service.State
           $Details."Expected State" = Get-Ink ("Unexpected")
         If ($Service.StartMode -eq "Auto")
          if ($Service.State -eq "Running")
           $Details.State = $Service.State
           $Details."Expected State" = Get-Ink ("OK")
         If ($Service.StartMode -eq "Disabled")
          If ($Service.State -eq "Running")
           $Details.State = $Service.State
           $Details."Expected State" = Get-Ink ("Unexpected")
         If ($Service.StartMode -eq "Disabled")
          if ($Service.State -eq "Stopped")
           $Details.State = $Service.State
           $Details."Expected State" = Get-Ink ("OK")
         If ($Service.StartMode -eq "Manual")
          $Details.State = $Service.State
          $Details."Expected State" = Get-Ink ("OK")
         If ($Service.State -eq "Paused")
          $Details.State = $Service.State
          $Details."Expected State" = Get-Ink ("OK")
        $Services += $Details
        $MyReport += Get-HTMLTable ($Services)
       $MyReport += Get-CustomHeaderClose
        $eventLogs=[System.Diagnostics.EventLog]::GetEventLogs($Target) | where {($_.LogDisplayName -eq "Application") -OR ($_.LogDisplayName -eq "System")}
        $warningEvents = @()
        $errorEvents = @()
        $LogSettings = @()
     $MyReport += Get-CustomHTMLClose
     $fullReport += $MyReport
     $MyReport = $null
     $Date = Get-Date
     $Filename = ".\" + "Exchange_Health" + "_" + $date.Hour + $date.Minute + "_" + $Date.Day + "-" + $Date.Month + "-" + $Date.Year + ".htm"
     $fullReport | out-file -encoding ASCII -filepath $Filename
     Write "Audit saved as $Filename"
    Invoke-Item $Filename

    please refer to my scripts below, it should get you started.
    http://www.myexchangeworld.com/2010/03/powershell-disk-space-html-email-report/
    http://www.myexchangeworld.com/2010/07/powershell-script-to-monitor-exchange-server-2010-services-email-report/
    you can customsise this to your needs and add relevant information.
    cheers
    thiyagu
    Thiyagu | MCTS/MCITP - Exchange 2007 | MCSE 2003[Messaging] | http://www.myExchangeWorld.com. This posting is provided "AS IS" with no warranties, and confers no rights.

  • Exchange 2010 Org Health check telling me I need Enterprise CALs, bug?

    My new install of Exchange 2010 Enterprise organizational health check  is telling me I also need Enterprise CALs for all of my test users. This does not seem right since I have not enabled any features listed as ecal features at http://www.microsoft.com/exchange/en-us/licensing-exchange-server-email.aspx#Exchange2010CAL
    in fact the setup is a very basic one. The test users were migrated from an existing exchange 2007 server but again no enterprise features were enabled there. Is there a way to tell what it thinks I need enterprise CALs for? Is this a bug? I saw a notice that
    the RTM version had counted the default exchange active sync policy as an ecal requirement but I figured this would have been fixed by now.

    looks like it has reared its head in update rollup 8-v2 for sp3. Last year I was playing around with the archive mailbox to see if it was something we may want to implement. At the time our enterprise cal requirements went from 0 to 1 for the test system
    I was using. This ended up being something we did not want to pursue at the time so I disabled the option on the account. Happened to run the organizational health link today and now it says that all accounts need enterprise cals. Did not appear to be an issue
    in update 7. 

  • Database redundansy health check failed ( Exchange 2010 sp3 )

    Hello all ,
    One of the mailbox server have been getting the following error in in application , sometimes
    RealCopyQueu  is 256 and sometimes 0 and healthy  .
    Kindly share how can resolve it please

    Hi,
    I suggest we refer to the following article to troubleshoot this issue. Run
    Database Redundancy Check Script.
    http://social.technet.microsoft.com/Forums/exchange/en-US/b1cfbc4b-b17d-4148-adce-1a565d0f5746/exchange-2010-event-id-4113-msexchangerepl-health-check-failed
    Regards,
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Simon Wu
    TechNet Community Support

  • SCOM health check on Exchange 2010 servers

    Hi,
    Does SCOM have any built-in function to perform
    health check on Exchange 2010 servers?

    You can check health check of Exchange 2010 by install management pack of Exchange 2010.
    Here's management pack of exchange 2010
    http://www.microsoft.com/en-us/download/details.aspx?id=692
    Before Import management Pack and how to configure it, you can check below link
    http://technet.microsoft.com/en-us/library/ee758051%28v=exchg.140%29.aspx
    Please remember, if you see a post that helped you please click "Vote As Helpful" and if it answered your question, please click "Mark As Answer"

Maybe you are looking for