Megosztás a következőn keresztül:


Gyűjtemény törlése

Az alkalmazás a Configuration Manager-ben a SMS_Collection kiszolgálói WMI-osztály és osztálytulajdonságok használatával törölheti a gyűjteményt.

Fontos

  • Minden Configuration Manager objektum törlésekor körültekintően kell eljárni.

  • Azt javasoljuk, hogy ha több gyűjteményt töröl, ezt egyenként végezze el, hogy az adatbázis-műveletek ideje lehetővé tegye a törlésekkel kapcsolatos módosítások kezelését.

A gyűjtemények szorosan kapcsolódnak a csomagokhoz, programokhoz és hirdetésekhez. További információ: A szoftverterjesztés áttekintése.

Ezekhez a példákhoz a következő értékek szükségesek:

  • Egy Windows Management Instrumentation (WMI) kapcsolatobjektum.

  • Egy meglévő gyűjteményazonosító.

    Az alábbi kód egy példa a Visual Basicben a subroutine hívásra:

Call DeleteCollection(swbemServices,"ABC00010")  

Az alábbi kód egy példa a metódushívásra a C#-ban:

DeleteCollection(WMIConnection,"ABC00010")  

Gyűjtemény törlése

  1. Állítson be egy kapcsolatot az SMS-szolgáltatóval. További információ: Az SMS-szolgáltató alapjai.

  2. Kérje le az adott gyűjteménypéldányt a megadott gyűjteményazonosítóval.

  3. Törölje a gyűjteményt a delete metódussal.

Példa

Az alábbi példametódus töröl egy gyűjteményt.

A mintakód meghívásával kapcsolatos információkért lásd: Configuration Manager Kódrészletek hívása.


' Setup a connection to the local provider.  
Set swbemLocator = CreateObject("WbemScripting.SWbemLocator")  
Set swbemServices= swbemLocator.ConnectServer(".", "root\sms")  
Set providerLoc = swbemServices.InstancesOf("SMS_ProviderLocation")  

For Each Location In providerLoc  
    If location.ProviderForLocalSite = True Then  
        Set swbemServices = swbemLocator.ConnectServer(Location.Machine, "root\sms\site_" + Location.SiteCode)  
        Exit For  
    End If  
Next  

Call DeleteCollection(swbemServices,"ABC00010")  

Sub DeleteCollection(connection, collectionIDToDelete)  

    ' Get the specific collection instance to delete.  
    Set collectionToDelete = connection.Get("SMS_Collection.CollectionID='" & collectionIDToDelete & "'")  

    ' Delete the collection.  
    collectionToDelete.Delete_  

    ' Display change information.  
    Wscript.Echo "Deleted collection: " & collectionIDToDelete  

End Sub  
public void DeleteCollection(WqlConnectionManager connection, string collectionIDToDelete)  
{  
    //  Note:  On delete, the provider cleans up the SMS_CollectionSettings and SMS_CollectToSubCollect objects.  

    try  
    {  
        // Get the specific collection instance to delete.  
        IResultObject collectionToDelete = connection.GetInstance(@"SMS_Collection.CollectionID='" + collectionIDToDelete + "'");  

        // Delete the collection.  
        collectionToDelete.Delete();  

        // Output the ID of the deleted collection.  
        Console.WriteLine("Deleted collection: " + collectionIDToDelete);  
    }  

    catch (SmsException ex)  
    {  
        Console.WriteLine("Failed to delete collection. Error: " + ex.Message);  
        throw;  
    }  
}  

A példametódus a következő paraméterekkel rendelkezik:

Paraméter Típus Leírás
connection -Kezelt: WqlConnectionManager
- VBScript: SWbemServices
Érvényes kapcsolat az SMS-szolgáltatóval.
collectionIDToDelete -Kezelt: String
-Vbscript: String
Nyolc karakterből álló, automatikusan létrehozott egyedi azonosító. További információ: CollectionIDSMS_Collection kiszolgálói WMI-osztály tulajdonsága.

A kód fordítása

A C#-példához a következőre van szükség:

Névterek

Rendszer

System.Collections.Generic

System.ComponentModel

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Összeszerelés

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Robusztus programozás

A hibakezeléssel kapcsolatos további információkért lásd: A Configuration Manager hibák ismertetése.

.NET-keretrendszer Security

A Configuration Manager alkalmazások biztonságossá tételével kapcsolatos további információkért lásd: Configuration Manager szerepköralapú felügyelet.

Lásd még

SMS_Collection kiszolgálói WMI-osztály
Gyűjtemény törléseSzoftverterjesztés áttekintéseA központi telepítésekkel kapcsolatosobjektumok áttekintése– Csatlakozás Configuration Manager-szolgáltatóhoz felügyelt kód használatával
Csatlakozás Configuration Manager-szolgáltatóhoz WMI használatával