With some help from Chris Nackers blog I found this vb script which restored the collection with the appropriate collection ID -
'###Begin Code strSMSServer = "ENTER SERVERNAME HERE" strParentCollID = "COLLROOT" 'This example creates the collection in the collection root. 'Replace COLLROOT with the CollectionID of an existing collection to make the new collection a child. strCollectionName = "All Systems" strCollectionComment = "This is the All Systems Collection." Set objLoc = CreateObject("WbemScripting.SWbemLocator") Set objSMS = objloc.ConnectServer(strSMSServer, "root\sms") Set Results = objSMS.ExecQuery ("SELECT * From SMS_ProviderLocation WHERE ProviderForLocalSite = true") For each Loc in Results If Loc.ProviderForLocalSite = True Then Set objSMS = objLoc.ConnectServer(Loc.Machine, "root\sms\site_" & Loc.SiteCode) End if Next Set newCollection = objSMS.Get("SMS_Collection").SpawnInstance_() 'Create new "All Systems" collection newCollection.Name = "All Systems" newCollection.OwnedByThisSite = True newCollection.Comment = strCollectionComment newCollection.CollectionID = "SMS00001" path = newCollection.Put_ 'Set the Relationship Set newCollectionRelation = objSMS.Get("SMS_CollectToSubCollect").SpawnInstance_() newCollectionRelation.parentCollectionID = strParentCollID newCollectionRelation.subCollectionID = ("SMS00001") newCollectionRelation.Put_ '###End Code
Then all I had to do was add my customized query, that removes discovered apple devices, into the collection and do an update/refresh and presto (You could remove the "where" part of the statement to get it back to original) -
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System where SMS_R_System.Name not like "%AD" and SMS_R_System.Name not like "%AL"
No comments:
Post a Comment