Sdílet prostřednictvím


Konfigurace zjišťování skupin služby Active Directory

Nastavení zjišťování skupin služby Active Directory nakonfigurujete v Configuration Manager úpravou nezbytného nastavení souboru řízení lokality.

Konfigurace zjišťování skupin služby Active Directory

  1. Nastavte připojení k poskytovateli serveru SMS.

  2. Vytvořte připojení k oddílu Zjišťování skupin služby Active Directory řídicího souboru lokality pomocí SMS_SCI_Component třídy .

  3. Procházte polem dostupných vlastností a proveďte změny podle potřeby.

  4. Potvrďte změny v řídicím souboru webu.

Příklad

Následující příklad nastaví nastavení zjišťování skupin služby Active Directory pomocí SMS_SCI_Component třídy pro připojení k řídicímu souboru lokality a změně vlastností.

Informace o volání ukázkového kódu najdete v tématu Volání Configuration Manager fragmentů kódu.


Sub ConfigureADGroupDiscoverySettings(swbemServices,    _  
                                      swbemContext,             _  
                                      siteCode,                 _  
                                      serverName,               _  
                                      newStartupSchedule,       _  
                                      enableDisableDiscovery)  

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

    Query = "SELECT * FROM SMS_SCI_Component " &                         _  
    "WHERE ItemName = 'SMS_AD_SECURITY_GROUP_DISCOVERY_AGENT|" & serverName & "' " &  _     
    "AND SiteCode = '" & siteCode & "'"             

    ' Get the SMS_AD_SECURITY_GROUP_DISCOVERY_AGENT properties.  
    Set SCIComponentSet = swbemServices.ExecQuery(Query, ,wbemFlagForwardOnly Or wbemFlagReturnImmediately, swbemContext)  

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

        ' Display the server name.  
        wscript.echo "Server: " & SCIComponent.Name        

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

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

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

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

                ' Modify the value.  
                vProperty.Value1 = enableDisableDiscovery  
                wscript.echo "New value " & enableDisableDiscovery  
            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 ConfigureADGroupDiscoverySettings(WqlConnectionManager connection,  
                                                      string siteCode,  
                                                      string serverName,  
                                                      string newStartupSchedule,  
                                                      string enableDisableDiscovery)  

{  
    try  
    {  
        // Connect to SMS_AD_SECURITY_GROUP_DISCOVERY_AGENT section of the site control file.  
        IResultObject siteDefinition = connection.GetInstance(@"SMS_SCI_Component.FileType=2,ItemType='Component',SiteCode='" + siteCode + "',ItemName='SMS_AD_SECURITY_GROUP_DISCOVERY_AGENT|" + serverName + "'");  

        // Create temporary copy of the embedded properties.  
        Dictionary<string, IResultObject> embeddedProperties = siteDefinition.EmbeddedProperties;  

        // Enumerate through the embedded properties and makes changes as needed.  
        foreach (KeyValuePair<string, IResultObject> kvp in siteDefinition.EmbeddedProperties)  
        {  
            // Setting: Startup Schedule  
            if (kvp.Value.PropertyList["PropertyName"] == "Startup Schedule")  
            {  
                Console.WriteLine();  
                Console.WriteLine(kvp.Value.PropertyList["PropertyName"]);  
                Console.WriteLine("Current value: " + kvp.Value.PropertyList["Value1"]);  

                // Change value using the newStartupSchedule value passed in.  
                embeddedProperties["Startup Schedule"]["Value1"].StringValue = newStartupSchedule;  
                Console.WriteLine("New value    : " + newStartupSchedule);  
            }  

            // Setting: SETTINGS                      
            if (kvp.Value.PropertyList["PropertyName"] == "SETTINGS")  
            {  
                Console.WriteLine();  
                Console.WriteLine(kvp.Value.PropertyList["PropertyName"]);  
                Console.WriteLine("Current value: " + kvp.Value.PropertyList["Value1"]);  

                // Change value using the newEnableHeartbeatDDR value passed in.   
                embeddedProperties["SETTINGS"]["Value1"].StringValue = enableDisableDiscovery;  
                Console.WriteLine("New value    : " + enableDisableDiscovery);  
            }  
        }  

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

Ukázková metoda má následující parametry:

Parametr Typ Popis
- connection
- swbemServices
-Spravované: WqlConnectionManager
- VBScript: SWbemServices
Platné připojení k poskytovateli serveru SMS.
swbemContext -Vbscript: SWbemContext Platný kontextový objekt. Další informace najdete v tématu Přidání kvalifikátoru kontextu Configuration Manager pomocí rozhraní WMI.
siteCode -Spravované: String
-Vbscript: String
Kód lokality.
serverName -Spravované: String
-Vbscript: String
Název serveru.
newStartupSchedule -Spravované: String
-Vbscript: String
Nový plán.
enableDisableDiscovery -Spravované: String
-Vbscript: String
Hodnota pro povolení nebo zakázání metody zjišťování.

Zakázáno – NEAKTIVNÍ

Povoleno – AKTIVNÍ

Kompilace kódu

Tento příklad jazyka C# vyžaduje:

Obory názvů

Systému

System.collections.generic

System.text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Sestavení

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Robustní programování

Další informace o zpracování chyb najdete v tématu Informace o chybách Configuration Manager.

Zabezpečení rozhraní .NET Framework

Další informace o zabezpečení Configuration Manager aplikací najdete v tématu Configuration Manager správa na základě rolí.

Viz taky

O řídicím souboru webu Configuration Manager
Čtení a zápis do řídicího souboru webu Configuration Manager pomocí spravovaného kódu
Čtení a zápis do řídicího souboru webu Configuration Manager pomocí rozhraní WMI
Serverová třída služby WMI SMS_SCI_Component
Informace o plánech: Postup Create tokenu plánu