Your example works as expected. Thank you for the corrections. SCOM is very powerful, but quite difficult (for me) to find relevant information on MP Authoring. So a sincere thanks for contributing as much as you do. You and Brian Wren have been invaluable resources for me to even get to the novice level that I'm at.
From: [email protected] [mailto:[email protected]] On Behalf Of Kevin Holman Sent: Wednesday, June 29, 2016 10:59 AM To: [email protected] Subject: [msmom] RE: Creating Groups in VSAE: ATTENTION: This email came from an external source. DO NOT open attachments or click on links from unknown senders or unexpected emails. Here is what I see wrong: 1. You are using a computer group as your base class. This in itself is not wrong, but given additional criteria - it might be the issue. For example - you use Computer Group as the base class, but your relationship is Microsoft.SystemCenter.InstanceGroupContainsEntities When you use computer group as a base class, you should use Microsoft.SystemCenter.ComputerGroupContainsComputer relationship. Additionally - you chose a Computer Group - but you aren't adding instances of Windows Computer, you are adding instances of Windows!Microsoft.Windows.Server.Computer, which is "Windows Server" class. In general I do not recommend modifying/extending the Windows Server class, or adding it to groups. The Windows Computer is the class we want to extend and have groups contain, because Windows Computer pretty much hosts/contains all subsequent classes on an agent. Therefore - I'd recommend you do something like this: <ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!-- In this fragment you need to replace ##CompanyID##, ##AppName##, ##ClassID## --> <!-- In this fragment we create a group of Windows Computers that CONTAIN an instance of your custom class --> <!-- This fragment depends on references: SC! = Microsoft.SystemCenter.Library MSIL! = Microsoft.SystemCenter.InstanceGroup.Library --> <TypeDefinitions> <EntityTypes> <ClassTypes> <ClassType ID="##CompanyID##.##AppName##.Computers.Group" Accessibility="Public" Abstract="false" Base="MSIL!Microsoft.SystemCenter.InstanceGroup" Hosted="false" Singleton="true" Extension="false" /> </ClassTypes> </EntityTypes> </TypeDefinitions> <Monitoring> <Discoveries> <Discovery ID="##CompanyID##.##AppName##.Computers.Group.Discovery" Enabled="true" Target="##CompanyID##.##AppName##.Computers.Group" ConfirmDelivery="false" Remotable="true" Priority="Normal"> <Category>Discovery</Category> <DiscoveryTypes> <DiscoveryRelationship TypeID="MSIL!Microsoft.SystemCenter.InstanceGroupContainsEntities" /> </DiscoveryTypes> <DataSource ID="GroupPopulationDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator"> <RuleId>$MPElement$</RuleId> <GroupInstanceId>$MPElement[Name="##CompanyID##.##AppName##.Computers.Group"]$</GroupInstanceId> <MembershipRules> <MembershipRule> <MonitoringClass>$MPElement[Name="Windows!Microsoft.Windows.Computer"]$</MonitoringClass> <RelationshipClass>$MPElement[Name="MSIL!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass> <Expression> <RegExExpression> <ValueExpression> <Property>$MPElement[Name="Windows!Microsoft.Windows.Computer"]/NetbiosComputerName$</Property> </ValueExpression> <Operator>ContainsSubstring</Operator> <Pattern>HOSTNAME</Pattern> </RegExExpression> </Expression> </MembershipRule> </MembershipRules> </DataSource> </Discovery> </Discoveries> </Monitoring> <LanguagePacks> <LanguagePack ID="ENU" IsDefault="true"> <DisplayStrings> <DisplayString ElementID="##CompanyID##.##AppName##.Computers.Group"> <Name>##CompanyID## ##AppName## Computers Group</Name> </DisplayString> <DisplayString ElementID="##CompanyID##.##AppName##.Computers.Group.Discovery"> <Name>##CompanyID## ##AppName## Computers Group Discovery</Name> <Description>This discovery rule populates a group of Windows Computer Objects that contain a ##ClassID## instance</Description> </DisplayString> </DisplayStrings> </LanguagePack> </LanguagePacks> </ManagementPackFragment> From: [email protected]<mailto:[email protected]> [mailto:[email protected]] On Behalf Of Orlebeck, Geoffrey Sent: Wednesday, June 29, 2016 12:24 PM To: '[email protected]' <[email protected]<mailto:[email protected]>> Subject: [msmom] Creating Groups in VSAE: I am attempting (for the first time) to author a group via VSAE. I am attempting to just match on a hostname as a first step, but I haven't successfully populated the group. I also tried creating a group in the console, exporting the unsealed MP and following the logic without success. I referenced these links: https://blogs.technet.microsoft.com/kevinholman/2009/06/10/creating-custom-dynamic-computer-groups-based-on-registry-keys-on-agents/<https://urldefense.proofpoint.com/v2/url?u=https-3A__na01.safelinks.protection.outlook.com_-3Furl-3Dhttps-253a-252f-252fblogs.technet.microsoft.com-252fkevinholman-252f2009-252f06-252f10-252fcreating-2Dcustom-2Ddynamic-2Dcomputer-2Dgroups-2Dbased-2Don-2Dregistry-2Dkeys-2Don-2Dagents-252f-26data-3D01-257c01-257ckevin.holman-2540microsoft.com-257caf1738fc07dd425b503b08d3a0430c96-257c72f988bf86f141af91ab2d7cd011db47-257c1-26sdata-3DSTdqN2BetIGqEqi4BXmlfRGaPfuVQ7onkHg81c0t1jo-253d&d=CwMFAg&c=GtV7VYka8XzFJya76SH24R7OU_QKFTyBlklHoDMCjFY&r=WF1NZuUqAd1bRIxLFT_0w30F8M_M_gGEsQe-nOAcmCM&m=w4kOVshHc5Zs1_rXtq2b3Iy1pv2FrYBqtgXDujVFwjQ&s=i_SIB0XJQt3Zy-KXWYEKXwVA9on6DQM2bE2sJcy2aEA&e=> http://blog.scomskills.com/create-a-computer-or-instance-group/<https://urldefense.proofpoint.com/v2/url?u=https-3A__na01.safelinks.protection.outlook.com_-3Furl-3Dhttp-253a-252f-252fblog.scomskills.com-252fcreate-2Da-2Dcomputer-2Dor-2Dinstance-2Dgroup-252f-26data-3D01-257c01-257ckevin.holman-2540microsoft.com-257caf1738fc07dd425b503b08d3a0430c96-257c72f988bf86f141af91ab2d7cd011db47-257c1-26sdata-3DVuZsKXSg9B62M-252fKPmNfBVcPwZc3W6s-252b7LVlv5G33K68-253d&d=CwMFAg&c=GtV7VYka8XzFJya76SH24R7OU_QKFTyBlklHoDMCjFY&r=WF1NZuUqAd1bRIxLFT_0w30F8M_M_gGEsQe-nOAcmCM&m=w4kOVshHc5Zs1_rXtq2b3Iy1pv2FrYBqtgXDujVFwjQ&s=pXCrkp8mAWuuay3KxknYdsq_uGjWnSvuCwdhcVJ_BeM&e=> https://stefanroth.net/2013/11/11/scom-vsae-custom-dynamic-computer-groups-based-on-server-registry-keys/<https://urldefense.proofpoint.com/v2/url?u=https-3A__na01.safelinks.protection.outlook.com_-3Furl-3Dhttps-253a-252f-252fstefanroth.net-252f2013-252f11-252f11-252fscom-2Dvsae-2Dcustom-2Ddynamic-2Dcomputer-2Dgroups-2Dbased-2Don-2Dserver-2Dregistry-2Dkeys-252f-26data-3D01-257c01-257ckevin.holman-2540microsoft.com-257caf1738fc07dd425b503b08d3a0430c96-257c72f988bf86f141af91ab2d7cd011db47-257c1-26sdata-3DSd4Q37NYisACX-252fmUbZoAC30TQGIkqA4zZWbJ-252feF8iks-253d&d=CwMFAg&c=GtV7VYka8XzFJya76SH24R7OU_QKFTyBlklHoDMCjFY&r=WF1NZuUqAd1bRIxLFT_0w30F8M_M_gGEsQe-nOAcmCM&m=w4kOVshHc5Zs1_rXtq2b3Iy1pv2FrYBqtgXDujVFwjQ&s=brwskqeRr6wmfkwDoV_WjdX1w3fgXoFlIEAaxF9qNxA&e=> Any help is appreciated. Thank you very much. Sanitized MP Fragment: <ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema<https://urldefense.proofpoint.com/v2/url?u=http-3A__www.w3.org_2001_XMLSchema&d=CwMFAg&c=GtV7VYka8XzFJya76SH24R7OU_QKFTyBlklHoDMCjFY&r=WF1NZuUqAd1bRIxLFT_0w30F8M_M_gGEsQe-nOAcmCM&m=w4kOVshHc5Zs1_rXtq2b3Iy1pv2FrYBqtgXDujVFwjQ&s=QjKOJiAhQpNjVknsroKAg47fUzLo4UQTy4KuGItfZ28&e=>"> <TypeDefinitions> <EntityTypes> <ClassTypes> <ClassType ID="Test.Override.Group" Abstract="false" Accessibility="Public" Base="SC!Microsoft.SystemCenter.ComputerGroup" Hosted="false" Singleton="true" /> </ClassTypes> </EntityTypes> </TypeDefinitions> <Monitoring> <Discoveries> <Discovery ID="Test.Override.Group.DiscoveryRule" Enabled="true" Target="Test.Override.Group" ConfirmDelivery="false" Remotable="true" Priority="Normal"> <Category>Discovery</Category> <DiscoveryTypes> <DiscoveryRelationship TypeID="MSIL!Microsoft.SystemCenter.InstanceGroupContainsEntities" /> </DiscoveryTypes> <DataSource ID="GroupPopulationDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator"> <RuleId>$MPElement$</RuleId> <GroupInstanceId>$MPElement[Name="Test.Override.Group"]$</GroupInstanceId> <MembershipRules> <MembershipRule> <MonitoringClass>$MPElement[Name="Windows!Microsoft.Windows.Server.Computer"]$</MonitoringClass> <RelationshipClass>$MPElement[Name="MSIL!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass> <Expression> <RegExExpression> <ValueExpression> <Property>$MPElement[Name="Windows!Microsoft.Windows.Computer"]/NetbiosComputerName$</Property> </ValueExpression> <Operator>ContainsSubstring</Operator> <Pattern>HOSTNAME</Pattern> </RegExExpression> </Expression> </MembershipRule> </MembershipRules> </DataSource> </Discovery> </Discoveries> </Monitoring> <LanguagePacks> <LanguagePack ID="ENU" IsDefault="true"> <DisplayStrings> <DisplayString ElementID="Test.Override.Group"> <Name>Test Override</Name> <Description>Searches for 'Windows Server Computer' matching "HOSTNAME".</Description> </DisplayString> <DisplayString ElementID="Test.Override.Group.DiscoveryRule"> <Name>Discovery rule populates "Test Override" group.</Name> </DisplayString> </DisplayStrings> </LanguagePack> </LanguagePacks> </ManagementPackFragment> Confidentiality Notice: This is a transmission from Community Hospital of the Monterey Peninsula. This message and any attached documents may be confidential and contain information protected by state and federal medical privacy statutes. They are intended only for the use of the addressee. If you are not the intended recipient, any disclosure, copying, or distribution of this information is strictly prohibited. If you received this transmission in error, please accept our apologies and notify the sender. Thank you.
