Wednesday, February 29, 2012

[OpsMgr 2012] System Center 2012 Survival Guide

What is a survival guide? It is a page we created as a pointer to the best information on the web.  You can use the information below to learn the fundamentals; increase your current knowledge; or stay current on Operations Manager and events.  And, if you think we missed some great article out there, please add it below! 


http://social.technet.microsoft.com/wiki/contents/articles/7809.system-center-2012-operations-manager-survival-guide.aspx
The survival guide has information on

This posting is provided "AS IS" with no warranties.

Friday, February 24, 2012

[OpsMgr 2007] Export all performances rules by using a PowerShell Script

Here is a new PowerShell script usefull to list in a CSV file all performance rules in your management group - The script use a get-rules with a criteria "Category='PerformanceCollection'". Be carefull also when you developp some MPs to well categorize the rules.

$perf_collection_rules = get-rule -criteria:"Category='PerformanceCollection'"

4 functions are needed for filtering the result :

function GetPerfCounterName ([String] $configuration) {
          $config = [xml] ("<config>" + $configuration + "</config>")
          return ($config.Config.ObjectName + "\" + $config.Config.CounterName)
}


function GetFrequency ([String] $configuration) {
          $config = [xml] ("<config>" + $configuration + "</config>")
          $frequency = $config.Config.Frequency;
          if($frequency -eq $null) {
                    $frequency = $config.Config.IntervalSeconds;
          }
          return ($frequency)
}


function GetDisplayName($performanceRule) {
          if($performanceRule.DisplayName -eq $null) {
                      return ($performanceRule.Name);
           }
          else {
                      return ($performanceRule.DisplayName);
           }
}


function GetWriteActionNames($performanceRule) {
          $writeActions = "";
          foreach($writeAction in $performanceRule.WriteActionCollection) {
                     $writeActions += " " + $writeAction.Name;
           }
           return ($writeActions);
}

You are now able to export the $perf_collection_rules in a CSV file by getting the type, the rule display name, the counter name, the frequency and the write actions.

$perf_collection_rules | select-object @{name="Type";expression={foreach-object {(Get-MonitoringClass -id:$_.Target.Id).DisplayName}}},@{name="RuleDisplayName";expression={foreach-object {GetDisplayName $_}}} ,@{name="CounterName";expression={foreach-object {GetPerfCounterName $_.DataSourceCollection[0].Configuration}}},@{name="Frequency";expression={foreach-object {GetFrequency $_.DataSourceCollection[0].Configuration}}},@{name="WriteActions";expression={foreach-object {GetWriteActionNames $_}}}  | sort Type,RuleDisplayName,CounterName | export-csv "C:\perf_collection_rules.csv" -noTypeInformation


 I don't remember having developped this script by myself - perhaps it was not mine. By the way, this is very usefull.

>>>>>>>>>> Get the PS1 file Here <<<<<<<<<<

This posting is provided "AS IS" with no warranties.

Thursday, February 23, 2012

[OpsMgr 2012] Boris Yanushpolsky 's Tools updated for OpsMgr 2012 by Daniele Muscetta

First I would like to thanks Daniele and Boris for their job.

In order to not let those tools go to waste, since many people use them, Daniele Muscetta have asked Boris Yanushpolsky to give him the code of his tools and allow him to update and maintain those tools going forward.
Here is the result of Danielle's Job - the 3 tools bellow are now working with OpsMgr 2012:

Get Latest updates directly on http://blogs.msdn.com/b/dmuscett/archive/2012/02/19/boris-s-tools-updated.aspx
  • MPViewer : The previous version 1.7 (that works with OpsMgr 2007 and 2007 R2) was released here. Version 1.9 has been updated to work with OpsMgr 2012, and now includes (limited) support for MPB files (MP Bundles)

  • OverrideExplorer : The previous version 3.3 (that works with OpsMgr 2007 and 2007 R2) was released here. Version 3.4 has been updated to work with OpsMgr2012 and includes some additional, minor, fixes.

  • Proxy Settings : The previous version 1.1 (that works with OpsMgr 2007 and 2007 R2) was released here. Version 1.2 is functionally identical to the previous version but has been just recompiled to work with OpsMgr 2012 SDK.

Requirement : Operation Manager console + .NET framework 4.0 must be installed on the machine you use to run the tools

Don't hesitate to comment or report bugs to Daniele Muscetta - He will try to fix and update everything.

Remark : Just like their predecessors, it is necessary to make clear that this posting is provided "AS IS" with no warranties, and confers no rights. Use of included utilities are subject to the terms specified at http://www.microsoft.com/info/copyright.htm

This posting is provided "AS IS" with no warranties.

Monday, February 20, 2012

[OpsMgr 2007] Play with defaults settings of a management group

Here is the 2 cmdlet to know to get and set the default settings of a SCOM management group.


>>>>>>>>>>   Get-DefaultSetting   <<<<<<<<<<

NAME :     Get-DefaultSetting
SYNOPSIS :  Gets the default settings for a management group.
SYNTAX :  Get-DefaultSetting [[-Path] [<String[]>]] [<CommonParameters>]
DETAILED DESCRIPTION :  Gets the default  settings for a management group.
PARAMETERS
    -Path [<String[]>]
        Specifies the path or set of paths to the management groups for which to retrieve default settings. To enter multiple values, separate them by using commas.
    <CommonParameters>
        This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. For more information, type, "get-help about_commonparameters".


>>>>>>>>>>   Set-DefaultSetting   <<<<<<<<<<

NAME :     Set-DefaultSetting
SYNOPSIS :    Sets default settings.
SYNTAX :
    Set-DefaultSetting [-Name] <String> [-Value] <String> [[-Path] [<String[]>]] [-WhatIf] [-Confirm] [<CommonParameters>]
    Set-DefaultSetting [-Setting] <DefaultSettingBase[]> [[-Path] [<String[]>]] [-WhatIf] [-Confirm] [<CommonParameters>]
DETAILED DESCRIPTION :    Sets default settings.
PARAMETERS :
    -Name <String>
        Specifies the name of the default setting. The name is case-sensitive.
    -Value <String>
        Specifies the value of the default setting.
    -Path [<String[]>]
        Specifies the path or set of paths to the management groups to which to apply the default settings.
    -WhatIf
        Describes what would happen if you executed the command without actually executing the command.
    -Confirm
        Prompts you for confirmation before executing the command.
    -Setting <DefaultSettingBase[]>
        Specifies a set of default setting objects.
    <CommonParameters>
        This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. For more information, type, "get-help about_commonparameters".


 What are the different setting we can get and set :
  1. Agent\Heartbeats\Interval
  2. HealthService\ProxyingEnabled
  3. ManagementGroup\AlertCustomFieldSettings\CustomField1
  4. ManagementGroup\AlertCustomFieldSettings\CustomField10
  5. ManagementGroup\AlertCustomFieldSettings\CustomField2
  6. ManagementGroup\AlertCustomFieldSettings\CustomField3
  7. ManagementGroup\AlertCustomFieldSettings\CustomField4
  8. ManagementGroup\AlertCustomFieldSettings\CustomField5
  9. ManagementGroup\AlertCustomFieldSettings\CustomField6
  10. ManagementGroup\AlertCustomFieldSettings\CustomField7
  11. ManagementGroup\AlertCustomFieldSettings\CustomField8
  12. ManagementGroup\AlertCustomFieldSettings\CustomField9
  13. ManagementGroup\AlertResolution\AlertAutoResolveDays
  14. ManagementGroup\AlertResolution\HealthyAlertAutoResolveDays
  15. ManagementGroup\ClientMonitoringSettings\ErrorTransmissionFilters
  16. ManagementGroup\ClientMonitoringSettings\ExceptionFolders
  17. ManagementGroup\ClientMonitoringSettings\MaxNumberOfCabsToCollect
  18. ManagementGroup\ClientMonitoringSettings\PolicyResponseUrl
  19. ManagementGroup\ClientMonitoringSettings\PublishMicrosoftDataCollectionRequest
  20. ManagementGroup\ClientMonitoringSettings\PublishMicrosoftFileCollectionRequests
  21. ManagementGroup\ClientMonitoringSettings\PublishMicrosoftMemoryDumpRequests
  22. ManagementGroup\ClientMonitoringSettings\PublishMicrosoftRegistryCollectionRequests
  23. ManagementGroup\ClientMonitoringSettings\PublishMicrosoftSolutionLinks
  24. ManagementGroup\ClientMonitoringSettings\PublishMicrosoftSurveyLinks
  25. ManagementGroup\ClientMonitoringSettings\PublishMicrosoftWMIQueryRequests
  26. ManagementGroup\CustomerExperienceImprovementProgramEnabled
  27. ManagementGroup\DataWarehouse\DataWarehouseDatabaseName
  28. ManagementGroup\DataWarehouse\DataWarehouseServerName
  29. ManagementGroup\DataWarehouse\ReportingServerUrl
  30. ManagementGroup\ErrorReporting\QueueErrorReports
  31. ManagementGroup\ErrorReporting\SendErrorReports
  32. ManagementGroup\PartitioningAndGroomingSettings\AlertDaysToKeep
  33. ManagementGroup\PartitioningAndGroomingSettings\AvailabilityHistoryDaysToKeep
  34. ManagementGroup\PartitioningAndGroomingSettings\EventDaysToKeep
  35. ManagementGroup\PartitioningAndGroomingSettings\JobStatusDaysToKeep
  36. ManagementGroup\PartitioningAndGroomingSettings\MaintenanceModeHistoryDaysToKeep
  37. ManagementGroup\PartitioningAndGroomingSettings\MonitoringJobDaysToKeep
  38. ManagementGroup\PartitioningAndGroomingSettings\PerformanceDataDaysToKeep
  39. ManagementGroup\PartitioningAndGroomingSettings\PerformanceSignatureDaysToKeep
  40. ManagementGroup\PartitioningAndGroomingSettings\StateChangeEventDaysToKeep
  41. ManagementGroup\SendOperationalDataReports
  42. ManagementGroup\WebAddresses\OnlineProductKnowledge
  43. ManagementServer\AutoApproveManuallyInstalledAgents
  44. ManagementServer\MissingHeartbeatThreshold
  45. ManagementServer\ProxyAddress
  46. ManagementServer\ProxyPort
  47. ManagementServer\RejectManuallyInstalledAgents
  48. ManagementServer\UseProxyServer
  49. NotificationServer\WebAddresses\WebConsole

 --------------  EXAMPLE 1 --------------
 C:\PS>set-defaultsetting `
 -name HealthService\ProxyingEnabled `
 -value True

 This command sets the default setting agent Proxying enabled to True. Be carefull, the name of the setting is case-sensitive.

--------------  EXAMPLE 2 --------------
C:\PS>get-defaultsetting

This command gets the default settings for all connected management groups.

This posting is provided "AS IS" with no warranties.

Thursday, February 16, 2012

[Authoring MP] MPBPA analysis tool always report "Alerts should have name and description defined"

This is related to the alert configuration. You must verify that
  • when you open a rule, switch to configuration and check what is missing in the alert section.
  • If it's not there, check display name and description for the alert.
If you have separated out your strings into a language pack instead of putting the english strings into the base MP, then you will have to live with this error.
A best practice should be to have a base MP contains only the ENU strings.

This posting is provided "AS IS" with no warranties.

Friday, February 10, 2012

[OpsMgr 2007] System Center Monitoring Pack for Microsoft SQL Server 2008 R2 Parallel Data Warehouse Appliance - New Release !

Application Details

- Version:             1.0.774.0

- Release Date:     2/1/2012

 

Application Description

This Monitoring Pack for Microsoft SQL Server 2008 R2 Parallel Data Warehouse (PDW) Appliance provides capabilities to discover, monitor, and manage your SQL Server PDW appliances. The management pack simplifies the monitoring process for PDW.

In addition to health monitoring capabilities, this monitoring pack includes a custom diagram view to visualize appliance health. The custom view has detailed knowledge about the health states for the hardware and software components. The custom view enables near real-time diagnosis and resolution of detected issues.

This posting is provided "AS IS" with no warranties.

[OpsMgr 2012] Run Remote Desktop from any alert in the Console - Custom MP

I've found the post from Kevin Greene very interesting.

The aim is to enable the RDP connection from any alert within the SCOM Console irregardless of the Windows Server OS Management Pack.

The solution is to create a custom RDP task that will run independently of any management pack but with the same parameters as the 'Windows Server OS MP' RDP task.


The post http://kevingreeneitblog.blogspot.com/2012/02/scom-2012-run-remote-desktop-from-any.html also explain with screen shot the way to proceed !

Thanks to Kevin !

This posting is provided "AS IS" with no warranties.