SCOM 2019 Report

Daniel Zumaya 0 Reputation points
2025-04-02T22:53:14.6933333+00:00

hello Guys,

I have been facing an issue, I have a client request where they are asking for a complete report about specific servers where we should include the following details:

  1. Server name
  2. Management pack
  3. Monitoring and rules
  4. Monitoring target
  5. Thresholds and alerts

there's a possible way to make this report using just Powershell?, I have tried it but it is a complete mess. the old SCOM administrator doesn't had a good naming convention established, and this is creating an extra level of complexity. For now, I'm not able to establish a key parameter where scripting can retrieve all the data using the Server name or any other part of the data I extracted. Hope you guys can give me some guidance to go through this challenge.

thanks in advance for your kind support.

Operations Manager
Operations Manager
A family of System Center products that provide infrastructure monitoring, help ensure the predictable performance and availability of vital applications, and offer comprehensive monitoring for datacenters and cloud, both private and public.
1,575 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. AlexZhu-MSFT 6,591 Reputation points Microsoft External Staff
    2025-04-03T02:46:40.9366667+00:00

    Hi,

    For this request, we could try the following

    1, create a group

    2, add the specific servers to the group

    3, create a folder, for example, c:\temp (if exists, ignore)

    4, run the below command to export the effective configuration (rules and monitors), each file for a single server

    $Members = (Get-SCOMGroup -DisplayName "All Windows Computers").GetRelatedMonitoringObjects() 
    $Members | ForEach-Object { Export-SCOMEffectiveMonitoringConfiguration -Instance $_ -Path "C:\temp\$($_.DisplayName).csv" -RecurseContainedObjects }
    
    

    5, open the .csv file with Excel, click data menu, text to columns, use "|" as the delimiter.

    Below is an example for your reference.

    scom_effective_configuration

    Regards,

    Alex


  2. anthony strother 581 Reputation points
    2025-04-03T16:03:28.2166667+00:00

    Afternoon,

    This script retrieves and outputs a separate .csv for each server/computer in the specified group. Each .csv is named for a server in that group.

    Replace the "All Windows Computers" with your group, remembering to keep the quotes.

    $Members = (Get-SCOMGroup -DisplayName "All Windows Computers").GetRelatedMonitoringObjects()
    $Members | ForEach-Object { Export-SCOMEffectiveMonitoringConfiguration -Instance $_ -Path "C:\temp\$($_.DisplayName).csv" -RecurseContainedObjects }
    

    https://learn.microsoft.com/en-us/powershell/module/operationsmanager/export-scomeffectivemonitoringconfiguration?view=systemcenter-ps-2025

    Run the script as Admin in the Operations Manager Shell

    OR

    Start a Windows PowerShell ISE session as Admin

    Then run this command before before executing powershell script.

    import-module operationsmanager

    Other references:

    https://kevinholman.com/2018/08/11/get-all-scom-rules-and-monitors-with-their-alert-details-to-a-csv/

    https://monitoringguys.com/2018/03/24/scom-export-rules-monitors-overrides-settings-effective-monitoring-configuration-with-powershell/

    https://monitoringguys.com/2020/07/28/scom-effective-monitoring-configuration-report/

    https://www.stefanroth.net/2014/02/13/scom-2012-effective-configuration-viewer-the-powershell-way/


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.