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


Mobileszközök ügyfélügynökének beállításainak konfigurálása

A mobileszköz-ügyfélügynök beállításait a Configuration Manager a helyvezérlő fájl módosításával konfigurálhatja.

Fontos

Ez a cikk csak az örökölt mobileszköz-ügyfélre vonatkozik.

A mobileszköz-ügyfélügynök beállításainak konfigurálása

  1. Állítson be egy kapcsolatot az SMS-szolgáltatóval.

  2. Hozzon létre kapcsolatot a helyvezérlő fájl Eszközügyfél szakaszával a SMS_SCI_ClientComp osztály használatával.

  3. Loop az elérhető tulajdonságok tömbjén, szükség szerint módosításokat hajtva végre.

  4. Véglegesítse a tulajdonság módosításait a helyvezérlő fájlban.

Példa

Az alábbi példametódus különböző mobileszköz-ügyfélügynök-beállításokat konfigurál a osztály használatával a SMS_SCI_ClientComp helyvezérlő fájlhoz való csatlakozáshoz és a tulajdonságok módosításához.

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


Sub ConfigureMobileDeviceClientAgentSettings(swbemServices,                        _
                                             swbemContext,                         _
                                             siteCode,                             _
                                             newPollIntervalMinutes,               _
                                             newPollIntervalHours,                 _
                                             newFailureRetryCount,                 _
                                             newFailureRetryIntervalMinutes,       _
                                             newFailureRetryIntervalHours,         _
                                             newEnableDisableSoftwareDistribution)

    ' Variables to build poll interval string.
    ' Note: The sample code only passes in minutes and hours, so setting empty values to use.
    emptySeconds = "00"
    emptyDays = "00"
    emptyMonths = "00"
    emptyYears = "0000"

    ' Build newPollInterval string (the format must be "0000-00-00 00:00:00").
    newPollInterval = emptyYears & "-" & emptyMonths & "-" & emptyDays & " " & newPollIntervalHours & ":" & newPollIntervalMinutes & ":" & emptySeconds
    newFailureRetryInterval = emptyYears & "-" & emptyMonths & "-" & emptyDays & " " & newFailureRetryIntervalHours & ":" & newFailureRetryIntervalMinutes & ":" & emptySeconds

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

    Query = "SELECT * FROM SMS_SCI_ClientComp " & _
    "WHERE ClientComponentName = 'Device Client' " & _
    "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 property instances.
        For Each vProperty In SCIComponent.Props

            ' Setting: Poll Interval
            If vProperty.PropertyName = "Poll Interval" Then
                wscript.echo " "
                wscript.echo vProperty.PropertyName
                wscript.echo "Current value " &  vProperty.Value2

                'Modify the value.
                vProperty.Value2 = newPollInterval
                wscript.echo "New value " & newPollInterval
            End If

            ' Setting: Failure Retry Count
            If vProperty.PropertyName = "Failure Retry Count" Then
                wscript.echo " "
                wscript.echo vProperty.PropertyName
                wscript.echo "Current value " &  vProperty.Value

                ' Modify the value.
                vProperty.Value = newFailureRetryCount
                wscript.echo "New value " & newFailureRetryCount
            End If

            ' Setting: Failure Retry Interval
            If vProperty.PropertyName = "Failure Retry Interval" Then
                wscript.echo " "
                wscript.echo vProperty.PropertyName
                wscript.echo "Current value " &  vProperty.Value2

                ' Modify the value.
                vProperty.Value2 = newFailureRetryInterval
                wscript.echo "New value " & newFailureRetryInterval
            End If

            ' Setting: Enable Software Dist
            If vProperty.PropertyName = "Enable Software Dist" Then
                wscript.echo " "
                wscript.echo vProperty.PropertyName
                wscript.echo "Current value " &  vProperty.Value2

                ' Modify the value.
                vProperty.Value2 = newEnableDisableSoftwareDistribution
                wscript.echo "New value " & newEnableDisableSoftwareDistribution
            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 ConfigureMobileDeviceClientAgentSettings(WqlConnectionManager connection,
                                                     string siteCode,
                                                     string newPollIntervalMinutes,
                                                     string newPollIntervalHours,
                                                     string newFailureRetryCount,
                                                     string newFailureRetryIntervalMinutes,
                                                     string newFailureRetryIntervalHours,
                                                     bool newEnableDisableSoftwareDistribution)
{

    // Define variables to build poll interval string.
    // Note: The example code only passes in minutes and hours, so this sets empty values to use.
    string emptyDays = "00";
    string emptyMonths = "00";
    string emptyYears = "0000";
    string emptySeconds = "00";

    // Build newPollInterval and newFailureRetryInterval strings (the format must be "0000-00-00 00:00:00").
    string newPollInterval = emptyYears + "-" + emptyMonths + "-" + emptyDays + " " + newPollIntervalHours + ":" + newPollIntervalMinutes + ":" + emptySeconds;
    string newFailureRetryInterval = emptyYears + "-" + emptyMonths + "-" + emptyDays + " " + newFailureRetryIntervalHours + ":" + newFailureRetryIntervalMinutes + ":" + emptySeconds;

    try
    {
        IResultObject siteDefinition = connection.GetInstance(@"SMS_SCI_ClientComp.FileType=1,ItemType='Client Component',SiteCode='" + siteCode + "',ItemName='Device Client'");

        // Loop through the array of embedded properties.
        foreach (KeyValuePair<string, IResultObject> kvp in siteDefinition.EmbeddedProperties)
        {
            // Create temporary working copy of embedded properties.
            Dictionary<string, IResultObject> embeddedProperties = siteDefinition.EmbeddedProperties;

            // Setting: Poll Interval.
            if (kvp.Value.PropertyList["PropertyName"] == "Poll Interval")
            {
                Console.WriteLine();
                Console.WriteLine(kvp.Value.PropertyList["PropertyName"]);
                Console.WriteLine("Current value: " + embeddedProperties[kvp.Value.PropertyList["PropertyName"]]["Value2"].StringValue);

                // Change value using the newPollInterval value passed in.
                embeddedProperties[kvp.Value.PropertyList["PropertyName"]]["Value2"].StringValue = newPollInterval;
                Console.WriteLine("New value    : " + newPollInterval);
            }

            // Setting: Failure Retry Count.
            if (kvp.Value.PropertyList["PropertyName"] == "Failure Retry Count")
            {
                Console.WriteLine();
                Console.WriteLine(kvp.Value.PropertyList["PropertyName"]);
                Console.WriteLine("Current value: " + embeddedProperties[kvp.Value.PropertyList["PropertyName"]]["Value"].StringValue);

                // Change value using the newFailureRetryCount value passed in.
                embeddedProperties[kvp.Value.PropertyList["PropertyName"]]["Value"].StringValue = newFailureRetryCount;
                Console.WriteLine("New value    : " + newFailureRetryCount);
            }

            // Setting: Failure Retry Interval.
            if (kvp.Value.PropertyList["PropertyName"] == "Failure Retry Interval")
            {
                Console.WriteLine();
                Console.WriteLine(kvp.Value.PropertyList["PropertyName"]);
                Console.WriteLine("Current value: " + embeddedProperties[kvp.Value.PropertyList["PropertyName"]]["Value2"].StringValue);

                // Change value using the newFailureRetryInterval value passed in.
                embeddedProperties[kvp.Value.PropertyList["PropertyName"]]["Value2"].StringValue = newFailureRetryInterval;
                Console.WriteLine("New value    : " + newFailureRetryInterval);
            }

            // Setting: Enable Software Dist.
            if (kvp.Value.PropertyList["PropertyName"] == "Enable Software Dist")
            {
                Console.WriteLine();
                Console.WriteLine(kvp.Value.PropertyList["PropertyName"]);
                Console.WriteLine("Current value: " + embeddedProperties[kvp.Value.PropertyList["PropertyName"]]["Value2"].StringValue);

                // Change value using the newEnableDisableSoftwareDistribution value passed in.
                embeddedProperties[kvp.Value.PropertyList["PropertyName"]]["Value2"].BooleanValue = newEnableDisableSoftwareDistribution;
                Console.WriteLine("New value    : " + newEnableDisableSoftwareDistribution);
            }

            // Store the settings that have changed.
            siteDefinition.EmbeddedProperties = embeddedProperties;
        }

        // Save the settings.
        siteDefinition.Put();

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

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

Paraméter Típus Leírás
connection

swbemServices
-Kezelt: WqlConnectionManager
- VBScript: SWbemServices
Érvényes kapcsolat az SMS-szolgáltatóval.
swbemContext - VBScript: SWbemContext Érvényes környezeti objektum. További információ: Configuration Manager környezeti minősítő hozzáadása WMI használatával.
siteCode -Kezelt: String
- VBScript: String
A helykód.
newPollInterval -Kezelt: String
- VBScript: String
Az az időköz, amellyel az ügyfél megpróbál kapcsolatba lépni a kiszolgálóval.

A sztring formátumának a következőnek kell lennie:

Év-hónap-nap óra:perc:másodperc

"0000-00-00 00:00:00"
newPollIntervalMinutes -Kezelt: String
- VBScript: String
A sztring perceinek newPollInterval értékét jelölő érték.
newPollIntervalHours -Kezelt: String
- VBScript: String
A sztring órákat newPollInterval jelölő érték.
newFailureRetryCount -Kezelt: String
- VBScript: String
A sztring órákat newPollInterval jelölő érték.
newFailureRetryIntervalMinutes -Kezelt: String
- VBScript: String
A sztring perceinek newFailureRetryInterval értékét jelölő érték.
newFailureRetryIntervalHours -Kezelt: String
- VBScript: String
A sztring órákat newFailureInterval jelölő érték.
newEnableDisableSoftwareDistribution -Kezelt: Boolean
- VBScript: Boolean
A szoftverterjesztést engedélyező vagy letiltó érték.

Engedélyezve = true

Letiltva = false

A kód fordítása

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

Névterek

Rendszer

System.Collections.Generic

System.Text

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

Tudnivalók a szoftveres Frissítések beállításáról és konfigurálásárólA Configuration Manager helyvezérlő fájlrólA Configuration Manager helyvezérlő fájl olvasása és írása felügyelt kód használatávalHogyan olvasható és írható a Configuration Manager Helyvezérlő fájl a WMISMS_SCI_Component kiszolgálói WMI-osztály használatával