Udostępnij za pośrednictwem


Jak usunąć kolekcję

Aplikacja może usunąć kolekcję w Configuration Manager przy użyciu właściwości klasy i klasy SMS_Collection Server WMI.

Ważna

  • Należy zachować ostrożność podczas usuwania dowolnego obiektu Configuration Manager.

  • Zalecamy, aby w przypadku usuwania kilku kolekcji było to wykonywane pojedynczo, aby umożliwić operacjom bazy danych zarządzanie zmianami skojarzonymi z usuwaniem.

Kolekcje są ściśle powiązane z pakietami, programami i reklamami. Aby uzyskać więcej informacji, zobacz Omówienie dystrybucji oprogramowania.

Te przykłady wymagają następujących wartości:

  • Obiekt połączenia instrumentacji zarządzania windows (WMI).

  • Istniejący identyfikator kolekcji.

    Poniższy kod jest przykładem wywołania podprogramu w języku Visual Basic:

Call DeleteCollection(swbemServices,"ABC00010")  

Poniższy kod jest przykładem wywołania metody w języku C#:

DeleteCollection(WMIConnection,"ABC00010")  

Aby usunąć kolekcję

  1. Skonfiguruj połączenie z dostawcą programu SMS. Aby uzyskać więcej informacji, zobacz Podstawy dostawcy programu SMS.

  2. Pobierz określone wystąpienie kolekcji przy użyciu podanej identyfikatora kolekcji.

  3. Usuń kolekcję przy użyciu metody delete.

Przykład

Poniższa przykładowa metoda usuwa kolekcję.

Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu Configuration Manager.


' 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;  
    }  
}  

Przykładowa metoda ma następujące parametry:

Parametr Wpisać Opis
connection -Zarządzane: WqlConnectionManager
- VBScript: SWbemServices
Prawidłowe połączenie z dostawcą programu SMS.
collectionIDToDelete -Zarządzane: String
-Vbscript: String
Unikatowy automatycznie wygenerowany identyfikator zawierający osiem znaków. Aby uzyskać więcej informacji, zobacz właściwość CollectionIDklasy WMI serwera SMS_Collection.

Kompilowanie kodu

Przykład języka C# wymaga:

Obszary nazw

System

System.collections.generic

System.componentmodel

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Zestawu

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Niezawodne programowanie

Aby uzyskać więcej informacji na temat obsługi błędów, zobacz Informacje o błędach Configuration Manager.

zabezpieczenia .NET Framework

Aby uzyskać więcej informacji na temat zabezpieczania aplikacji Configuration Manager, zobacz Configuration Manager administracja oparta na rolach.

Zobacz też

SMS_Collection Server WMI Class
Usuwanie kolekcjiOmówienie dystrybucji oprogramowaniaOmówienie obiektów wdrożeńJak nawiązać połączenie z dostawcą Configuration Manager przy użyciu kodu zarządzanego
Jak nawiązać połączenie z dostawcą Configuration Manager przy użyciu usługi WMI