Udostępnij za pośrednictwem


Jak ustawić informacje o znakowaniu Aktualizacje oprogramowania

Informacje o znakowaniu klienta Aktualizacje oprogramowania można ustawić w Configuration Manager, modyfikując wymagane ustawienia pliku kontroli lokacji.

Aby ustawić informacje o znakowaniu klienta aktualizacji oprogramowania

  1. Skonfiguruj połączenie z dostawcą programu SMS.

  2. Nawiązywanie połączenia z sekcją Agent klienta pliku kontroli lokacji przy użyciu klasy SMS_SCI_ClientComp .

  3. Przeprowadź pętlę przez tablicę dostępnych właściwości, wprowadzając zmiany zgodnie z potrzebami.

  4. Zatwierdź zmiany w pliku kontroli lokacji.

Przykład

Poniższy przykład ustawia informacje o znakowaniu klienta Aktualizacje oprogramowania przy użyciu klasy SMS_SCI_ClientComp w celu nawiązania połączenia z plikiem kontroli lokacji i zmiany właściwości. W tym przykładzie informacje o podpozycji oprogramowania Aktualizacje wyświetlane w interfejsie użytkownika klienta w powiadomieniach lub przypomnieniach.

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


Sub SetSUMBranding(swbemServices,          _  
                   swbemContext,           _  
                   siteCode,               _  
                   brandingText)  

    ' Load site control file and get the client agent section.  
    swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteCode & """", "Refresh", , , swbemContext  

    Query = "SELECT * FROM SMS_SCI_ClientComp " & _  
            "WHERE ClientComponentName = 'Client Agent' " & _  
            "AND SiteCode = '" & siteCode & "'"  

    Set SCIComponentSet = swbemServices.ExecQuery(Query, ,wbemFlagForwardOnly Or wbemFlagReturnImmediately, swbemContext)  

    ' Only one instance is returned from the query.  
    For Each SCIComponent In SCIComponentSet                                

        ' Loop through the array of embedded SMS_EmbeddedProperty instances.  
        For Each vProperty In SCIComponent.Props  

            ' Setting: SUMBrandingSubTitle  
            If vProperty.PropertyName = "SUMBrandingSubTitle" Then  
                wscript.echo " "  
                wscript.echo vProperty.PropertyName  
                wscript.echo "Current value " &  vProperty.Value1                 

                ' Modify the value.  
                vProperty.Value1 = brandingText  
                wscript.echo "New value: " & brandingText  
            End If  

        Next     

             ' Update the component in your copy of the site control file. Get the path  
             ' to the updated object, which could be used later to retrieve the instance.  
              Set SCICompPath = SCIComponent.Put_(wbemChangeFlagUpdateOnly, swbemContext)  
    Next  

    ' Commit the change to the actual site control file.  
    Set InParams = swbemServices.Get("SMS_SiteControlFile").Methods_("CommitSCF").InParameters.SpawnInstance_  
    InParams.SiteCode = siteCode  
    swbemServices.ExecMethod "SMS_SiteControlFile", "CommitSCF", InParams, , swbemContext  

End Sub  


public void SetSUMClientBranding(WqlConnectionManager connection,   
                                 string siteCode,   
                                 string brandingText)  
{  
    try  
    {  
        // Get the site control file client component section.  
        IResultObject clientAgent = connection.GetInstance(@"SMS_SCI_ClientComp.FileType=1,ItemType='Client Component',SiteCode='" + siteCode + "',ItemName='Client Agent'");  

        // Load the embedded properties into a temporary copy.  
        Dictionary<string, IResultObject> tempEmbeddedProperties = clientAgent.EmbeddedProperties;  

        // Update the branding information with the string variable passed in.  
        tempEmbeddedProperties["SUMBrandingSubTitle"]["Value1"].StringValue = brandingText;  

        // Replace the embedded properties object with the temporary copy.  
        clientAgent.EmbeddedProperties = tempEmbeddedProperties;  

        // Commit the change back to the site control file.  
        clientAgent.Put();  
    }  
    catch (SmsException e)  
    {  
        Console.WriteLine("Failed to set branding text: " + e.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.
swbemContext -Vbscript: SWbemContext Prawidłowy obiekt kontekstu. Aby uzyskać więcej informacji, zobacz How to Add a Configuration Manager Context Qualifier by Using WMI (Jak dodać kwalifikator kontekstu Configuration Manager przy użyciu usługi WMI).
siteCode -Zarządzane: String
-Vbscript: String
Kod witryny.
brandingText -Zarządzane: String
-Vbscript: String
Tekst zastępujący tekst znakowania w pliku kontroli lokacji.

Kompilowanie kodu

Ten przykład języka C# wymaga:

Obszary nazw

System

System.collections.generic

System.text

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ż

Informacje o konfiguracji i konfiguracji Aktualizacje oprogramowania
Informacje o pliku kontrolki lokacji Configuration Manager
Jak odczytywać i zapisywać w pliku kontroli lokacji Configuration Manager przy użyciu kodu zarządzanego
Jak odczytywać i zapisywać w pliku kontroli lokacji Configuration Manager przy użyciu usługi WMI
SMS_SCI_Component Server WMI Class
Jak dodać kwalifikator kontekstu Configuration Manager przy użyciu usługi WMI