ConfigMgr Schema Extensions Not Applied When Upgrading
I've seen this a few times now so worth a post. If you already have the SMS 2003 SP2 schema extensions in place and then use the ConfigMgr_ad_schema.ldf file to update the schema you may find that certain attributes are missed. The missing ones will be:
- mSSMSCapabilities
- mSSMSVersion
- mSSMSSourceForest
These are all attributes within the MS-SMS-Management-Point class. This happens because the DNSHostName attribute already exists if you have extended the schema for SMS 2003 SP2. This causes the whole section of the LDF to be skipped.
You will see entries like below in the LDIF log file:
41: CN=MS-SMS-Management-Point,CN=Schema,CN=Configuration,dc=REMOVED,dc=REMOVED
Entry DN: CN=MS-SMS-Management-Point,CN=Schema,CN=Configuration,dc=REMOVED,dc=REMOVED
changetype: modify
Attribute 0) mayContain:mSSMSCapabilities mSSMSVersion mSSMSSourceForest dNSHostName
Attribute or value exists, entry skipped.
And if you are publishing to AD you'll find that along with the new attributes not being populated, the DNSHostName attribute is not updated either. This is because the site needs to be able to verify that the ConfigMgr version of the schema is in place before it can update the DNSHostName attribute (see http://technet.microsoft.com/en-us/library/bb694066.aspx). You will see entries like the following in sitecomp.log:
Publishing SERVERNAME(SERVERNAMEFQDN) as a Management Point into Active Directory
SMS-MP-SITECODE-SERVERNAME could not be updated, error code = 8212.
SMS-MP-SITECODE-SERVERNAME successfully updated, using the SMSv1 AD Schema.
Error 8212 means "The requested operation did not satisfy one or more constraints associated with the class of the object"
The workaround in this case is either to create a custom LDF file that just applies the three new attributes named above (and apply this after you've applied ConfigMgr_ad_schema.ldf) or to use the ExtADSch.exe tool. The tool does not suffer the same problem and should apply all the attributes successfully. The custom LDF file would look something like:
#-------------------------------------------------------
# Add whatever comments you want here
#-------------------------------------------------------
dn: CN=MS-SMS-Management-Point,CN=Schema,CN=Configuration,DC=x
changetype: modify
add: mayContain
mayContain: mSSMSCapabilities
mayContain: mSSMSVersion
mayContain: mSSMSSourceForest
-
dn:
changetype: modify
replace: schemaupdatenow
schemaupdatenow: 1
-