SCOM health Check report

please suggest me how to generate SCOM health check report and automation for the same. I am using scom 2007 R2.
And need all windows servers health check report from scom as well...?

Hi
As a good starting point you could use these reports
http://www.systemcentercentral.com/scc-health-check-reports-management-pack-v2/ and some Details here
https://blogs.technet.com/b/kevinholman/archive/2010/07/21/system-center-central-some-really-cool-opsmgr-health-reports-available.aspx. Which give you a pretty good picture of your environment.
For a MG check up on the SQL side see here
http://blogs.technet.com/b/kevinholman/archive/2010/06/16/management-group-checkup-a-database-perspective.aspx
Cheers,
Stefan
Blog: http://blog.scomfaq.ch

Similar Messages

  • 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?

  • How to automate DB health check report using OEM 11g

    Hi,
    I have been asked to share the DB health check report using OEM 11g. Could you please let me know how to achieve this and the report should go to his email.
    Thanks in advance,
    Bala

    check,
    manually you can schedule it through dbms_hm
    http://www.oracle.com/technetwork/articles/sql/11g-resiliency-091703.html

  • ASA 5550 Health Check report..

    hi,
    am a biginner with  Network Security,
    please let me know what are the infromation required to make a Health Check report for ASA and IPS ,
    thanks,
    Anvar

    hi,
    this is link will help us to answer my above question,,i got it today only.
    http://www.cisco.com/en/US/products/ps6120/products_tech_note09186a0080b8e100.shtml

  • 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"

  • Vsphere health check report 5.1 vs ESX 5.5u1

    Hi,
    The script has been working without issues for quite some time. I recently upgraded my hosts to ESX 5.5u1 and now the scheduled task is returning an error -->
    Can't load class 'HostSriovInfo' at C:/Program Files (x86)/VMware/VMware vSphereCLI/Perl/lib/VMware/VIMRuntime.pm line 52.
    Any idea as to how to make it work again?
    Thanks

    Noone?

  • SAP Early WatchHealth Check Report

    Hi Folks,
    I am trying to generated SAP Early Watch Health Check Report  from my dual stack system but the JAva data are not populated. On the other hand, the JAva data are populated in EWA report.
    Does SAP Health Check Report not  support Java data?
    Thank you so much,
    Mari

    Hello,
    I haave a dual stack Solution Manager system. The EA reports fine on both ABAP and Java, so I have Java data in my EWA reports.
    When I create an Earlywatch HEalth Check Service session, I see the section "Definition of System SLM in SMSY" and I see teh Application Server ABAP Stach and Application Server Java Stack, both checked as relevent. Under the section "Servers in current Landscape" I see both ABAP and JAva checked. So this system is clarly identified in the EWHC as a dual stack system.
    What I do not see in the service session are any Java checks that I would see in the EWA report. I mean I am not seeing it in the structure of the service session. This would indicate to me the the checks are not done, as opposed to data missing. If the data was missing the place to contain the data would be there, and its not in the structure.
    I performed the same on a Solution Manager 7.1 system, and have the same results, no Java
    Again, beause I do not see the tree structure in the service session having any nodes for Java data that are just empty, this does not look like missing data, but looks like it is not reported intentionally.
    Perhaps someone who deliivers this service on a regular basis can add their input, or a developer, but based on my testing, on a dulal stack system, where the EWA reports Java data, I cannot see that the Java data is even being considered, or it would have a place int eh session tree of the Earlywatch Health Check, and would have entries int eh tree that would be grey if it was just missing. Additionally it is reporting a Java and ABAP stack, so it does know there is a Java stack. Based on this, it would seem the EWHC does not report on Java.
    Unfortunately I do not have a java only stack system in my landscape, as it would be interesting to see what this service would report on a Java only system. Should the report generate no data and the Session not initilaize of just have no nodes, then  you could say for certain. Unfortunately I do not know this for certain and can only draw conclusions based on the test I performed on my two test Solution Manager systems . One being 7.0 EHP1 SP 27 and the other 7.1 SP03.
    Regards,
    Paul

  • Early Health Check - missing data

    Hi folks,
    My Early Health Check reports are generated with a couple of data missed. For example, SQL expensives don't appear and also the CPU Graphics.
    Do you guys know what it could be?
    tks a lot
    Re

    Hello,
    Here is a question, this same data should be in the Earlywatch Alert reports (EWA).
    Is it in the EWA reports or is it missing there too?
    The services are different, but report much of the same information, and the Early Watch Alert should have the same
    data you mentioned is missing int he Early Watch Health Check.
    So is it there or not?
    Regards,
    Paul

  • 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.

  • 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

  • Graphical Reports for Database Health Check or Database Statictics

    Hello
    we are using oracle 10g on Solaris.
    Is there a way I can get the Database health check or database statictics report in graphical form like to represent the growth of database (in a week or month), log size etc..
    Thanks

    You'll have to develop your own method/application/script as per your requirement. To some extent Enterprise manager may help you but I think this is not your requirement.

  • SCOM 2012 R2 Report Server component install to SQL 2012 Sp1 error?

    Hi All
    Im having issues installing SCOM 2012 R2 Report Server component to a SQL 2012 Sp1 Server (which is a Windows 2012 R2 Standard server).  Im trying to install to the SQL Default server instance, note that the server also has a named instance
    which hosts the SCOM databases.  SQL Reporting Services is up and running fine (can access the web urls etc).  Im also using the SCOM install account wich has full SQL and SCOM Server admin rights for the install.  Ive checked that the Firewall
    is off locally on the SQL Server, Ive also checked that the existing SCOM components are all in a Healthy state in the SCOM console.
    The installed version of SQL Server could not be verified or is not supported. Verify that the computer and the installed version of SQL Server meet the minimum requirements for installation, and that the firewall settings are correct. See the Supported
    Configurations document for further information.
    Ive attempted the install on a standalone SQL Server away from the SQL Server hosting the SCOM databases, but encounter the same error.  The full SCOM MSI Installer log details are below, line that appears most relevant is below but unsure why
    this would be the case (same account that I used for SQL install etc).  Any help much appreciated! : )
    Error: :getSQLInstanceVersion:  Unable to find the SRS Instance Key: MSSQLSERVER
    [11:51:46]: Debug: :CheckPrerequisites:  IsComputerNameValidTitle: Passed
    [11:51:46]: Debug: :
    [11:51:46]: Debug: :**************************************************
    [11:51:46]: Debug: :**************************************************
    [11:51:46]: Debug: :<![CDATA[CheckPrerequisites:   Logic Type:and AvicodeAgentInstalled-x86: 0CheckPrerequisites:   Logic Type:and AvicodeAgentInstalled-x64: 0]]>
    [11:51:46]: Debug: :
    [11:51:46]: Debug: :CheckPrerequisites:  AVIcodeAgentCheck: Passed
    [11:51:46]: Debug: :
    [11:51:46]: Debug: :**************************************************
    [11:51:46]: Always: :CheckPrerequisites: Return Value 0
    [11:51:46]: Always: :Entering Page: AdditionalPrerequisitesPage
    [11:51:48]: Always: :Entering Page: ShortEulaPage
    [11:51:48]: Always: :Displaying localized EULA for localization: en
    [11:51:48]: Always: :Displaying Eula: C:\Users\opsmgr\AppData\Local\SCOM\Setup\en\eula_en_notice.rtf
    [11:51:49]: Info: :Info:User has agreed to EULA.
    [11:51:50]: Always: :Entering Page: SelectManagementServerForReporting
    [11:52:08]: Info: :Info:Management Server matches the current version of setup.
    [11:52:08]: Always: :Entering Page: SelectReportingInstance
    [11:52:08]: Always: :SQL Server SRS Instance (escaped name) RS_MSSQLSERVER
    [11:52:08]: Info: :Attempting to get the SSRS version from:
    \\WDC-SYSSQL01\Root\Microsoft\SqlServer\ReportServer\RS_MSSQLSERVER:__NAMESPACE
    [11:52:08]: Debug: :Path is
    \\WDC-SYSSQL01\Root\Microsoft\SqlServer\ReportServer\RS_MSSQLSERVER\V11:MSReportServer_Instance
    [11:52:08]: Always: :SRS instance on WDC-SYSSQL01. Version 11.0.3000.0.
    [11:52:08]: Always: :No SRS instances on WDC-SYSSQL01.
    [11:52:08]: Error: :getSQLInstanceVersion:  Unable to find the SRS Instance Key: MSSQLSERVER
    [11:52:08]: Info: :Info: WDC-SYSSQL01 SRS version =
    [11:52:08]: Error: :Couldn't check SRS version: Threw Exception.Type: System.ArgumentException, Exception Error Code: 0x80070057, Exception.Message: Version string portion was too short or too long.
    [11:52:08]: Error: :StackTrace:   at System.Version.TryParseVersion(String version, VersionResult& result)
       at System.Version.Parse(String input)
       at Microsoft.EnterpriseManagement.OperationsManager.Setup.ReportingComponent.CheckSRSVersion(String srsInstance, String requiredSRSVersion)
    [11:52:11]: Info: :Attempting to check SRS version
    [11:52:11]: Error: :getSQLInstanceVersion:  Unable to find the SRS Instance Key: MSSQLSERVER
    [11:52:11]: Info: :Info: WDC-SYSSQL01 SRS version =
    [11:52:11]: Error: :Couldn't check SRS version: Threw Exception.Type: System.ArgumentException, Exception Error Code: 0x80070057, Exception.Message: Version string portion was too short or too long.
    [11:52:11]: Error: :StackTrace:   at System.Version.TryParseVersion(String version, VersionResult& result)
       at System.Version.Parse(String input)
       at Microsoft.EnterpriseManagement.OperationsManager.Setup.ReportingComponent.CheckSRSVersion(String srsInstance, String requiredSRSVersion)
    [11:52:28]: Info: :The user canceled setup
    [11:52:28]: Always: :Begin: Property bag dump.
    [11:52:28]: Always: :SetupStartTime = 26/03/2014 11:51:38
    [11:52:28]: Always: :Collection ProtectedProperties (System.Collections.ArrayList):
    [11:52:28]: Always: : [0] = ActionAccountPassword
    [11:52:28]: Always: : [1] = DASAccountPassword
    [11:52:28]: Always: :DefaultLogName = C:\Users\opsmgr\AppData\Local\SCOM\Logs\OpsMgrSetupWizard.log
    [11:52:28]: Always: :DefaultLogPath = C:\Users\opsmgr\AppData\Local\SCOM\Logs
    [11:52:28]: Always: :path = F:\Setup\AMD64\
    [11:52:28]: Always: :setupexepath = C:\Users\opsmgr\AppData\Local\SCOM\Setup
    [11:52:28]: Always: :ArchitectureIs64Check = True
    [11:52:28]: Always: :OperationManagerAgentInstalled = 1
    [11:52:28]: Always: :Collection ListOfSupportedComponents (System.Collections.ArrayList):
    [11:52:28]: Always: : [0] = OMCONSOLE
    [11:52:28]: Always: : [1] = OMSERVER
    [11:52:28]: Always: : [2] = OMWEBCONSOLE
    [11:52:28]: Always: : [3] = OMREPORTING
    [11:52:28]: Always: :install = 1
    [11:52:28]: Always: :installpath = C:\Program Files\Microsoft System Center 2012 R2\Operations Manager
    [11:52:28]: Always: :EulaFilesPath = C:\Users\opsmgr\AppData\Local\SCOM\Setup
    [11:52:28]: Always: :HealthServiceTypeId = AB4C891F-3359-3FB6-0704-075FBFE36710
    [11:52:28]: Always: :hsPort = C51B7833-DA54-1653-D8FD-1A738EF8DED5
    [11:52:28]: Always: :ServerBlockReason = A Operations Manager agent was found on this computer. Please remove the agent and then run Setup again.
    [11:52:28]: Always: :ScreensLoaded = 1
    [11:52:28]: Always: :Collection ListOfSelectedComponents (System.Collections.ArrayList):
    [11:52:28]: Always: : [0] = OMREPORTING
    [11:52:28]: Always: :OMREPORTING = 1
    [11:52:28]: Always: :SelectDatabaseInstanceReloadScreenInformation = 1
    [11:52:28]: Always: :ReloadPrerequisitesPageChoice = PrerequisitesProgressPage
    [11:52:28]: Always: :LoadedPrerequisiteXmlFile = True
    [11:52:28]: Always: :PrerequisitesCheckXMLLoaded = True
    [11:52:28]: Always: :CountFilteredPrerequisites_Failed = 0
    [11:52:28]: Always: :CountFilteredPrerequisites_Warning = 0
    [11:52:28]: Always: :CountFilteredPrerequisites_PassedWithChoices = 0
    [11:52:28]: Always: :CountFilteredPrerequisites_Passed = 10
    [11:52:28]: Always: :PrerequisiteState = Passed
    [11:52:28]: Always: :XmlFilteredPrerequisites_Passed : Begin XML property
    [11:52:28]: Always: :<?xml version="1.0" encoding="utf-8"?><Root><Title TitleText="OMREPORTING"><Detail state="Passed" image="pack://application:,,,/SetupChainerUI;component/GreenCheck.png"
    name="memoryCheckTitle" descriptionBody="" descriptionTitle="ReportingMemCheckPassed" resolution="ReportingMemCheckResolution" /><Detail state="Passed" image="pack://application:,,,/SetupChainerUI;component/GreenCheck.png"
    name="ntfsCheckTitle" descriptionBody="" descriptionTitle="ntfsCheckPassed" resolution="ntfsCheckResolution" /><Detail state="Passed" image="pack://application:,,,/SetupChainerUI;component/GreenCheck.png"
    name="DriveSpaceCheckTitle" descriptionBody="" descriptionTitle="ServerDriveSpaceCheckPassed" resolution="ServerDriveSpaceCheckResolution" /><Detail state="Passed" image="pack://application:,,,/SetupChainerUI;component/GreenCheck.png"
    name="OSVersionCheckTitle" descriptionBody="" descriptionTitle="OSVersionCheckPassed" resolution="OSVersionCheckResolution" /><Detail state="Passed" image="pack://application:,,,/SetupChainerUI;component/GreenCheck.png"
    name="WindowsInstallerCheckTitle" descriptionBody="" descriptionTitle="WindowsInstallerCheckPassed" resolution="WindowsInstallerCheckResolution" /><Detail state="Passed" image="pack://application:,,,/SetupChainerUI;component/GreenCheck.png"
    name="RemoteRegistryCheckTitle" descriptionBody="" descriptionTitle="RemoteRegistryCheckPassed" resolution="RemoteRegistryCheckResolution" /><Detail state="Passed" image="pack://application:,,,/SetupChainerUI;component/GreenCheck.png"
    name="PendingRebootCheckTitle" descriptionBody="" descriptionTitle="PendingRebootCheckPassed" resolution="PendingRebootCheckResolution" /><Detail state="Passed" image="pack://application:,,,/SetupChainerUI;component/GreenCheck.png"
    name="ActiveDirectoryCheckTitle" descriptionBody="" descriptionTitle="ActiveDirectoryCheckPassed" resolution="ActiveDirectoryCheckResolution" /><Detail state="Passed" image="pack://application:,,,/SetupChainerUI;component/GreenCheck.png"
    name="IsComputerNameValidTitle" descriptionBody="" descriptionTitle="IsComputerNameValidPassed" resolution="IsComputerNameValidResolution" /><Detail state="Passed" image="pack://application:,,,/SetupChainerUI;component/GreenCheck.png"
    name="AVIcodeAgentCheck" descriptionBody="" descriptionTitle="AVICodeAgentCheckPassed" resolution="AVICodeAgentCheckResolution" /></Title></Root>
    [11:52:28]: Always: :End XML property
    [11:52:28]: Always: :ManagementServer = WDC-SYSOPS01.landmarc.local
    [11:52:28]: Always: :DefaultSDKMachine = WDC-SYSOPS01.landmarc.local
    [11:52:28]: Always: :UserCanceledInstall = 1
    [11:52:28]: Always: :InstallSuccess = 1
    [11:52:28]: Always: :End: Property bag dump.
    [11:52:28]: Debug: :CEIP disabled. CEIP data will NOT be sent.
    [11:52:28]: Always: :Application Ended: Successful
    [11:52:28]: Always: :
    [2014-03-26T11:52:28.4724357+00:00]: Always: Trace Session Ended

    Hi,
    According to the error message:
    [11:52:11]: Error: :getSQLInstanceVersion:  Unable to find the SRS Instance Key: MSSQLSERVER
    [11:52:11]: Info: :Info: WDC-SYSSQL01 SRS version =
    [11:52:11]: Error: :Couldn't check SRS version: Threw Exception.Type: System.ArgumentException, Exception Error Code: 0x80070057, Exception.Message: Version string portion was too short or too long.
    The issue is SQL report server database related, I would like to suggest you create a new report database for SCOM and then check the reuslt. Please refer to the below links and follow it to set up SCOM 2012 R2:
    http://blogs.technet.com/b/kevinholman/archive/2013/01/16/opsmgr-2012-sp1-quickstart-deployment-guide.aspx
    In addition, here is thread for your reference also:
    http://social.technet.microsoft.com/Forums/en-US/3f883b7f-5a33-49f0-a40d-f3311e68609d/unable-to-connect-to-the-data-access-service-installing-report-server?forum=operationsmanagerreporting
    Regards,
    Yan Li
    Regards, Yan Li

  • 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.

  • 1:N Replication Health Check

    Hello,
    When we run the check of 1:N Replication Health Check  We are getting the following:
    We cant replicate the tables mentioned in this report.
    How should we proceed to fix this issue?
    Thanks,
    Amir

    Hi Roy,
    look at this note. it describes how to setup 1:n once you already created the config without "multiple usage" flagged.
    Best,
    Tobias
    SAP Note 1898479:
    SLT replication: Redefinition of existing DB triggers

  • Database Health Check Enquiry

    Hi all,
    Some enquires regarding database health check. I did some research regarding health check, got overwhelmed by the information available out there.
    Currently I don't have any report on hand, but currently working and starting on one. This report serves as a report for reference, to understand if there's any database performance issue, and as a report for management.
    Wish to check with you folks, what are the typical things that I can look at on a daily basis to understand my database health status, eg. Buffer Hitrate, database I/O etc, especially those that may/will contribute to impact on the database performance. Or is there any good reference link whereby I can do some readup regarding such a health check?
    Thanks in advance for any input.
    Eugene

    Hi Eugene,
    Well that's a pretty open question and I guess you will get a lot of replies which I look forward to monitoring as there should be some very interesting ones there.
    Anyway, let me just open with one point that I have found very useful in the past. As regards Database Performance , you can look as much as you like at the statistics and a great deal of discretion is required in interpreting them but the real test for me of how well a database is performing is in terms of the user (or application) perception. Are the responses from the database good enough to meet the users expectations. Check the average response time for example and set guidellines for what is acceptable, very good response , very bad response etc.
    I use this as a guideline so then once the database is perfoming in the sense that the user is satisfied (or better still happy with the performance) we can gather the statistics (from Oracle 10g onwards there are lots of tools built in like ADDM and AWR for gathering and storing the database statistics) and create baselines. Once we have baselines for a normally performing system, as soon as problems are reported we can run off a diagnostic tool like ADDM for that period , compare it against the baseline and look for the striking differences. From there we can start an analysis of individual numbers, buffer hit ratios etc. to delve further.
    Hope this helps , I am sure lots of other people will chip in to this
    Regards

Maybe you are looking for