Come creare una collection che esclude i membri di un’altra collection

 

A volte è necessario escludere una o più collection da una determinata operazione in SCCM, ad esempio, ci troviamo davanti alla richiesta degli sviluppatori di escludere l’installazione dell’antivirus o l’installazione delle patch si sicurezza sulle loro macchine di test, o di escludere i domain controller da qualsiasi operazione di software distribution o patch management.

Nel seguente esempio, l’obiettivo è di escludere tutti i server con SQL a bordo e tutti i Domain Controller dalla collection che contiene tutti i server.

In questo esempio la collection denominata Servers è basata su una query dinamica che la popola automaticamente con tutti i computer con i sistemi operativi server (un totale di 8 server).

image

Mentre la collection Domain Controllers rappresenta una collection con una query dinamica che la popola con i server con il ruolo Domain Controller (un solo Domain Controller)

image

E per finire, la collection SQL Servers rappresenta una collection basata su una query dinamica che la popola con tutti i server SQL (un totale di 3 SQL server).

image

 

Per creare una collection che contiene tutti i sistemi server tranne i sistemi esclusi dalle collection SQL Servers e Domain Controllers, occorre innanzitutto prendere nota dell’ID di entrambi le collection, SQL Servers e Domain Controllers.

image  image

Poi occorre creare una collection nuova basata sulla stessa query della collection Servers, ed inserire il seguente per escludere i membri di entrambi le collection SQL Servers e Domain Controllers ,

 

 and SMS_R_System.ResourceId not in (Select ResourceID from SMS_FullCollectionMembership where CollectionID="ABC00013") 
 and SMS_R_System.ResourceId not in (Select ResourceID from SMS_FullCollectionMembership where CollectionID="ABC00032")

image  image 

Il risultato è (8 server in totale, meno 1 DC, meno 3 SQL = 4 server che non sono SQL ne DC)

   image