Delen via


Een PXE-advertentie wissen voor een Configuration Manager-resource

Als u een PXE-advertentie voor een Configuration Manager-resource wilt wissen, roept u de SMS_Collection object ClearLastNBSAdvForMachines-methode aan.

Pxe-advertentie wissen wordt gebruikt om opnieuw reclame te maken voor een verplichte advertentie die is ingeschakeld voor een PXE-apparaat of die is toegewezen aan een verzameling. Zie How to Clear a PXE Advertisement for a Configuration Manager Collection (Een PXE-advertentie wissen voor een Configuration Manager-verzameling) voor informatie over het wissen van de PXE-advertentie voor een verzameling.

Het wissen van een PXE-advertentie dwingt de PXE-server om de verplichte advertentie die een PXE-apparaat moet uitvoeren bij de volgende PXE-opstart opnieuw te evalueren. Het wordt meestal gebruikt wanneer de laatste advertentie die is uitgevoerd mislukt of wanneer de advertentie opnieuw moet worden uitgevoerd.

Een PXE-advertentie voor een resource wissen

  1. Een verbinding met de SMS-provider instellen. Zie Basisprincipes van SMS-provider voor meer informatie.

  2. Maak de matrix voor de ClearLastNBSAdvForMachines methoderesource-id voor de methodeparameters.

  3. Roep de ClearLastNBSAdvForMachines methode aan om de PXE-advertentie voor de resource te wissen.

Voorbeeld

In het volgende voorbeeld wordt de PXE-advertentie gewist voor de resource die wordt geïdentificeerd door de resourceID parameter.

Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.

Sub ClearPxeAdvertisementResource(connection,resourceID)

    On Error Resume Next

    Dim resources
    Dim InParams

    ' Set up the Resource array parameter.
    resources = Array(1)
    resources(0) = resourceID

    Set InParams = connection.Get("SMS_Collection").Methods_("ClearLastNBSAdvForMachines").InParameters.SpawnInstance_
    InParams.ResourceIDs = resources

    connection.ExecMethod "SMS_Collection","ClearLastNBSAdvForMachines", InParams

    if Err.number <> 0 Then
        WScript.Echo "Failed to clear PXE advertisement for resource: " & resourceID
        Exit Sub
    End If

End Sub

public void ClearPxeAdvertisementResource(WqlConnectionManager connection, int resourceID)
{
    try
    {
        List<int> resourceIDs = new List<int>();
        Dictionary<string, object> inParams = new Dictionary<string, object>();

        resourceIDs.Add(resourceID);
        inParams.Add("ResourceIDs", resourceIDs.ToArray());

        IResultObject outParams = connection.ExecuteMethod("SMS_Collection","ClearLastNBSAdvForMachines",inParams);

        if (outParams == null || outParams["StatusCode"].IntegerValue != 0)
        {
            Console.WriteLine
                ("Failed to clear PXE advertisement for resource " + resourceID);
            return;
        }
    }
    catch (SmsException e)
    {
        Console.WriteLine("Failed to PXE advertisement " + e.Message);
    }
}

De voorbeeldmethode heeft de volgende parameters:

Parameter Type Beschrijving
connection -Beheerd: WqlConnectionManager
- VBScript: SWbemServices
Een geldige verbinding met de SMS-provider.
resourceID -Beheerd: Integer
- VBScript: Integer
De resource-id. U kunt dit verkrijgen via de eigenschap SMS_Resource klasse ResourceId .

De code compileren

Het C#-voorbeeld heeft de volgende compilatievereisten:

Naamruimten

Systeem

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Vergadering

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robuust programmeren

Zie Over Configuration Manager fouten voor meer informatie over foutafhandeling.

.NET Framework Beveiliging

Zie Configuration Manager op rollen gebaseerd beheer voor meer informatie over het beveiligen van Configuration Manager toepassingen.

Zie ook

Een PXE-advertentie wissen voor een Configuration Manager-verzamelingover afbeeldingsbeheer