locked
override rule on 64 bit RRS feed

  • Question

  • If I wanted to override a rule on 64 bit Windows 2003 Domain Controllers, how would I go about doing that?  

    OS = Windows 2003 x64

    AND

    role = Active Directory DC

    Thursday, March 17, 2011 7:24 PM

Answers

All replies

  • Create a new group, add the server into that group, and apply the override on the group.
    Christopher Keyaert - My OpsMgr/SCOM blog : http://www.vnext.be
    Thursday, March 17, 2011 8:33 PM
  • I was hoping for a dynamic group membership path, or being able to reference Win2k2 x64 computers directly in the override. But yes, it's probably easier all around to just manually add the members. I'm sure there is an XML edit for contained computers, but I've never been able to get that to work.
    Thursday, March 17, 2011 8:40 PM
  •  

    Hi,

     

    Regarding creating dynamic group, please try it based on Registry keys:

     

    Creating custom dynamic computer groups based on registry keys on agents

    http://blogs.technet.com/b/kevinholman/archive/2009/06/10/creating-custom-dynamic-computer-groups-based-on-registry-keys-on-agents.aspx

     

    For more information about authoring groups, I would like to share the following with you for your reference:

     

    Authoring groups - from simple to complex

    http://blogs.technet.com/b/kevinholman/archive/2010/07/27/authoring-groups-from-simple-to-complex.aspx

     

    Hope this helps.

     

    Thanks.


    Nicholas Li - MSFT
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading
    • Marked as answer by Nicholas Li Friday, March 25, 2011 9:25 AM
    Monday, March 21, 2011 3:50 AM
  • Considering that the OS is a discovered item, I'm simply amazed (though not surprised) that I can't create a group of computers that are running x64 OS.

     

    Yeah, I can create custom attributes, but those attributes already exist! I simply can't access them as I want.

    Tuesday, March 29, 2011 1:24 PM
  • Considering that the OS is a discovered item, I'm simply amazed (though not surprised) that I can't create a group of computers that are running x64 OS.

     

    Yeah, I can create custom attributes, but those attributes already exist! I simply can't access them as I want.

     

    But you CAN!

    See the links about authoring groups.  There are links in that post which show you how to author groups which dyanmically contain windows computers that have specific attributes from other classes.


    Kevin Holman http://blogs.technet.com/b/kevinholman
    Thursday, March 31, 2011 3:04 AM
  • OK I rolled up my sleeves and went to work.  I started with Jonathan Almquist "How to create a group of Windows Computers based on a discovered property of virtually any class"

    http://blogs.technet.com/b/jonathanalmquist/archive/2010/07/22/how-to-create-a-group-of-windows-computers-based-on-a-discovered-property-of-virtually-any-class.aspx

    Since I didn't have a web site named "Virtual" I just used "Default Web Site".  Lo and behold it actually worked! The group is created and populated correctly.  Still I can see this is going to be a grind.

    A question:

    Jonathan recommends using the GetClassPath script to verify that "a Windows Computer instance hosts the object we’re using in our group calculation formula somewhere up the class path."  It would have been nice if his example verified the class that was used in the example.  When I run that script against Microsoft.Windows.InternetInformationServices.WebSite, which is the class we're calculating against, I don't see Windows Computer any where in the class path!  However since this example worked I'm sure I'm not understanding this statement correctly, which means I'm not sure what classes I need to verify with the script.

    >E:\DATA\SCOM\MP\DEV\GetClassPath.ps1 Microsoft.Windows.InternetInformationServices.WebSite
    --------------------------------------------------
    TARGET CLASS Microsoft.Windows.InternetInformationServices.WebSite
    --------------------------------------------------

                                     SiteID
                                     Description
                                     ServerBindings
                                     SecureBindings
                                     Path
                                     LogFileDirectory
                                     LogFileType
                                     BITS
                                     LogFilePattern
                                     LoggingEnabled
                                     AnonymousUsername
                                     CacheISAPI
                                     AllowKeepAlive
                                     URL
                                     PerfCounterInstance


    --------------------------------------------------
    BASE CLASS PATH for Microsoft.Windows.InternetInformationServices.WebSite
    --------------------------------------------------

    System.WebSite

    System.ApplicationComponent

    System.LogicalEntity

                     *Not Hosted*

     

    Next I'm going to try to create a computer group with the data I'm looking for.  However I need to combine two criteria:  All computers that have a Role like Domain_Controller and SystemType like "X86-based PC".  I have issues with handling the syntax of combining requests like that.  I probably should start with one, get that working, then try to add the second.

    Thursday, March 31, 2011 2:49 PM
  • OK that's not working.

    I thought I'd just use Microsoft.Windows.Server.2003.AD.DomainControllerRole, but the configuration chokes on the property /PrincipalName$.  Not sure why, that property exists for that class, though it is a host class not a target class. 

    Actually I don't really care about the PrincipalName, I'd like to get all DCs, but I would like to know what I'm doing wrong here.

     <RuleId>$MPElement$</RuleId>
      <GroupInstanceId>$MPElement[Name="X_GroupAuthoring.WindowsComputers.fromDisc.AD.DomainControllers.PrincipalName.DC"]$</GroupInstanceId>
      <MembershipRules>
        <MembershipRule>
          <MonitoringClass>$MPElement[Name="Windows!Microsoft.Windows.Computer"]$</MonitoringClass>
          <RelationshipClass>$MPElement[Name="SC!Microsoft.SystemCenter.ComputerGroupContainsComputer"]$</RelationshipClass>
          <Expression>
            <Contains>
              <MonitoringClass>$MPElement[Name="MicrosoftWindowsServerAD2003Discovery!Microsoft.Windows.Server.2003.AD.DomainControllerRole"]$</MonitoringClass>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <Property>$MPElement[Name="MicrosoftWindowsServerAD2003Discovery!Microsoft.Windows.Server.2003.AD.DomainControllerRole"]/PrincipalName$</Property>
                  </ValueExpression>
                  <Operator>MatchesRegularExpression</Operator>
                  <Pattern>^DC*</Pattern>
                </RegExExpression>
              </Expression>
            </Contains>
          </Expression>
        </MembershipRule>
      </MembershipRules>
    </Configuration>

    Thursday, March 31, 2011 3:43 PM
  • OK got this going using a different target class. 


                <RegExExpression>
                  <ValueExpression>              <Property>$MPElement[Name="MicrosoftWindowsServerADLibrary!Microsoft.Windows.Server.AD.DomainControllerRole"]/Name$</Property>
                  </ValueExpression>
                  <Operator>MatchesRegularExpression</Operator>
                  <Pattern>^*</Pattern>
                </RegExExpression>
              </Expression>

    I was also able to create a group for x64 servers.  Now I need to do some ANDs and ORs to combine criteria. That should be fun.

    DC AND (x64 OR Windows 2008 R2)

    Thursday, March 31, 2011 7:04 PM