XI system Daily health check

Hi Gurus,
We have huge production setup, so its high time for us to come up with detailed 'Daily XI systems health check-out' and have pro-active monitoring these systems.
So requesting you to, please help me with items/areas those needs to be checked at regular intervals for daily monitoring....a good reference doc may help me great.
Thanks all in advance.
Regards
Sekhar

Sekhar,
There are few checks that needs to be carried out daily and weekly as recommended by SAP. Please check this SAP note :  Note 884865 - PI/XI Admin Check and also this document where they have the steps:
https://websmp110.sap-ag.de/~sapidb/012006153200000666252007E/Admin_Check_Version2.pdf
Regards,
---Satish

Similar Messages

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

  • Daily Health Check MESSAGE

    I'm a simple user.  Here is what I get.  ---   Daily Health Check "Could not read the language folder for the Installation Monitor"  1) Is this serious?  2) How do I fix it?  Thanks.

    >
    > please
    thanksAs you said,
    query you wrote above would give details about users sessions wait time and state,
    and that info by itself would inform you about just one small piece of the overall database health state,
    so by that query alone you can't be 100% sure that your db is not sick.
    I guess you should also at least check: backup status,datafiles space availability,alert.log and istener.log for errors ,db objects status, oracle memory structures utilization...
    and so on... + any similar checks or those ones specific to your company needs..
    AWR report is mostly self-explanatory and ways how to analyze it was already many times eplained on www,you should search for those instructions
    and come here with more concrete question regarding the AWR report.

  • Powershell - Daily Health Check

    Hi all,
    I have a number of different w8k and w12k servers in different sites and I wanted create a daily health check to check services are up. For instance I can write a ps script to check run at 6am daily and check various services on a windows server and then
    generate a html report and mail it to a distribution list. However on some of my servers I only have one service that needs to be checked I wanted a was to check the services and collate all the reports into one place and output just one html report?
    So for example could I output the results to a text file, run an ftp job to send the result to a central location and then run a ps to scrap all the results and output to html, or could the text files be scrapped from an email, this method makes better sense
    for me as some of these servers will have ACLs between then and getting send via smtp will be easier then ftp.
    Would like to know if anyone has any ideas or experience with doing something like this?

    Are the servers on the same domain? If so use "Enter-PSSession" or if your just checking if a service is running use the "-Computer" switch to execute it on the remote server.
    You could also use WMI "Get-WMIObject"
    Using the above methods will let you run it from a central location. 
    My suggestion for performing your health checks is to define in a csv file: Server Name, IP, Heath Check Level
    So have an initial Ping for the host name, if that fails then use the IP as DNS might have an issue (record results into file)
    Heath Ckeck level determines if your just checking full server health or just checking for a specif service is running (ie Full, Service, ect... you define it for your requirements)
    I would use WMI as there could be different versions of powershell installed and take the compatibility issues away when writing the script.
    Below is a good starting script for you to use where it queries via WMI and generates a html report that is emailed out.
    https://gallery.technet.microsoft.com/scriptcenter/Powershell-Script-to-Get-78687c5e  
    Cheers,
    Martin
    Blog:
    http://sustaslog.wordpress.com 
    LinkedIn:
    Note: Posts are provided “AS IS” without warranty of any kind, either expressed or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.

  • Responsibility and health check

    hi friends
    just need some help to prepare good document as my management insited
    i am only the dba working for two node rac
    windows
    10.2.0.4
    asm
    here if any issue arrives i am only the person to handle,so my management decided to list out all the activities.
    from i just what are daily health check or responsibilities of sys admin,os level admin,asm leve...............storage dept .............architect leve
    as i have updated database level activities
    can you please give me list of activities they should handle in this enivronment(sys admin,os level admin,asm leve...............storage dept .............architect leve)
    thanks for your help and support
    cheers

    These are the tasks for the oralce dba. For the other related fields , either check their doc guide or ask the people who work in that domain,
    http://download.oracle.com/docs/cd/E11882_01/server.112/e17120/dba002.htm#i1006205
    Aman....

  • Health Checks - 11G

    Hello,
    I am very interested to learn and find out what your daily health checks consists of.
    Thank you

    How do I ask a question on the forums?
    SQL and PL/SQL FAQ

  • Automate SAP System Health Checks using eCATT

    Hello Mates,
    Can somebody throw light on the possibility of Automating SAP System Health Checks Using eCATT ?
    Are there any readily available scripts within? If so from which version of SAP? or, have they to be custom developed?
    Thanks in advance for your time and responses.
    Best regards, MAN0J

    Hi manoj,
    Examine this ozz note:
    131561
    see this links
    http://www.sap.com/asia/industries/pdf/auto_fin_HC%20Customer%2026jun.pdf
    http://whitepapers.silicon.com/0,39024759,60044324p,00.htm
    thanks
    karthik

  • System Health Checks Utilities

    Hi Linux Gurus,
    I need to understand some of the outputs of basic system health checks utilities - vmstat, netstat, iostat. As DBA point of view when I run any of the above utilities - what things I should look for. How can I know, the network traffic is high or network is not performing properly by using netstat. How can I know that the system I/O is high. Also I saw that there are many flags for these utilities which are very helpful to format or limit the output to a certain extent.
    I will really appreciate the help on this topic.
    Best Regards
    -Samar-

    Hi Samar
    A graphical tool like sourceforge.net/projects/xosview/ can make a part of the job, otherwise does oracle the OS Watcher (OSW) is a set of scripts that continually run in the background, collecting information about: Processes I/O Memory Network
    OS Watcher user’s guide in MetaLink note 301137.1
    Hope this helps.
    Regards,
    Hub

  • [Resolved][SCE 2010] Daily Health Report

    Hello everybody!
    I'm working in the IT support. And it turns that we cannot found the origin of one problem.
    I explain myself:
    We have many servers. For the exchange for System Center Essentials2010 and others.
    But since the beginning of October the Daily Health Report is not send automatically.
    I have tried to follow all the steps to configure the DHR (Daily Health Report) but it seems not working yet! When I press the bottom to send the DHR it works (manually)! But it is not working automatically.
    Does somebody have any idea?

    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/

  • 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

  • SAP Functional Health check (or) audit

    Hai,
    We want to do daily Audit  for all Modules in ECC 6. Is there any check points available? Because like VKOA Settings(Pooled table )datas are missing at the time of new settings. Please tell .
    Regards,
    J.Tamilarasi

    Digging up an old question.
    The exercise was completed using my current knowledge and some improvised output tailored to the customer's need, it was not necessarily a health check audit from a purely technical perspective. It also involved the customer acceptability and usage analysis of the system. Because i strongly believe that a comprehensive system design is only as good as its user.
    Anyways for anyone looking for the actual document mentioned in the earlier posts and not to be found anywhere, here it is attached, which is a comprehensive checklists of steps, both inside SAP and otherwise which are to be considered when planning a system audit. Although old, it might provide a good reference checklist of items to be done.
    I have renamed the doc file, to let it be more meaningful in case it need to refer to it.
    http://1drv.ms/1wIeDbR
    Hope you find it useful.

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

  • 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

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

  • HT3782 What does it mean "Battery Health" Check battery in the battery menu bar?

    What does it mean "Battery Health" Check battery in the battery menu bar?

    Check the full status by going to the apple in the left side of the menu bar, About This Mac, More Info, System Report, Hardware, Power and see what it says about the Cycle count, Battery Condition, Battery Capacisty, charge remaining.
    Condition should be Normal or there is a problem
    Ratio of charge remaining to cpacity should be close, round off, to the reported battery charge percentage.
    Cycle count tells how many charge cycles the battery has been through, typical lifetime cycle count  for a current generation battery is 1,000 cycles.

Maybe you are looking for

  • MC.9 and Valuated Sales Order Stock

    Hello Everyone!   Just wondering if there has been a SAP advancement that allows for special stock valuation 'M' within the stock status reporting. (MC.9) We have a business application for this specific configuration and are familiar with OSS note:

  • Drag and drop multiple mail messages into finder

    I am trying to move multiple mail messages into finder folders for organization and filing purposes.  I know it will save these as mail files but that is what I would like anyway.  It lets me drag and drop one message at a time but does not let me do

  • Info record vs contract

    Hi, Our customer has   a requirement  for which need to decide if info record or contract which is better. The customer has agreement with their supllier for different materials at fixed price, these prices are revised on a quaterly basis on a avg. T

  • Transaction variant for SM37

    Hi all, I am trying to create a transaction variant for the "job overview" screen - this is the screen after you have selected the list of jobs. I have the deactivated some items "menu functions" - program SAPLBTCH - status - JOV_STATUS, but there ar

  • Openbox, undecorated windows by default.

    I'd like to set my windows in Openbox undecorated by default: after all the title is visible in the programs bar and the menu is reachable with alt+space... So what is the title bar for? So, do you know how to set the windows undecorated by default?