Guide pratique pour configurer la planification d’évaluation de la conformité par défaut
Dans Configuration Manager, le fichier de contrôle de site gère la configuration de la configuration du site. Ces exemples de code interrogent l’élément de fichier de contrôle de site spécifique Agent De gestion de la configuration et modifient la valeur EvaluationSchedule pour définir la planification de l’évaluation de l’agent client.
Pour configurer le calendrier d’évaluation de la conformité par défaut
Configurez une connexion au fournisseur SMS.
Établir une connexion à la section Agent client de gestion de la configuration souhaitée du fichier de contrôle de site à l’aide de la classe SMS_SCI_ClientComp .
Parcourez en boucle le tableau des propriétés disponibles, en apportant les modifications nécessaires.
Validez les modifications apportées au fichier de contrôle de site.
Exemple
L’exemple de code suivant montre comment modifier la planification d’évaluation de conformité par défaut pour l’agent client de gestion de la configuration.
Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code Configuration Manager.
Sub ChangeDCMAgentEvaluationSchedule(swbemServices, _
swbemContext, _
siteCode, _
newAgentSchedule)
' The evaluation schedule is defined by a string stored in a schedule token format.
' Detailed information on the schedule token format can be found in the class SMS_ScheduleToken reference material.
' Load site control file and get DCM client component section.
swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteCode & """", "Refresh", , , swbemContext
Set swbemInst = swbemServices.Get("SMS_SCI_ClientComp.Filetype=1,Itemtype='Client Component',Sitecode='" & siteCode & "',ItemName='Configuration Management Agent'", , swbemContext)
' Loop through the array of embedded SMS_EmbeddedProperty instances for the
' Number of Retries PropertyName. Get its value and display it.
For Each vProperty In swbemInst.Props
If vProperty.PropertyName = "EvaluationSchedule" Then
' Display DCM client agent evaluation schedule before change.
Wscript.Echo " "
Wscript.Echo "Evaluation Schedule - Before Change"
Wscript.Echo "-----------------------------------"
Wscript.Echo vProperty.Value2
' Set DCM client agent evaluation schedule using the newAgentSchedule variable.
vProperty.Value2 = newAgentSchedule
' Save new client agent settings
swbemInst.Put_ , swbemContext
swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteCode & """", "Commit", , , swbemContext
End If
Next
' Refresh in-memory copy of the site control file and get the DCM client component section.
swbemServices.ExecMethod "SMS_SiteControlFile.Filetype=1,Sitecode=""" & siteCode & """", "Refresh", , , swbemContext
Set swbemInst = Nothing
Set swbemInst = swbemServices.Get("SMS_SCI_ClientComp.Filetype=1,Itemtype='Client Component',Sitecode='" & siteCode & "',ItemName='Configuration Management Agent'", , swbemContext)
For Each vProperty In swbemInst.Props
If vProperty.PropertyName = "EvaluationSchedule" Then
' Sisplay DCM client agent evaluation schedule before change.
Wscript.Echo " "
Wscript.Echo "Evaluation Schedule - After Change"
Wscript.Echo "----------------------------------"
Wscript.Echo vProperty.Value2
End If
Next
End Sub
public void ChangeDCMAgentEvaluationSchedule(WqlConnectionManager connection,
string siteCode,
string newAgentSchedule)
{
// The evaluation schedule is defined by a string stored in a schedule token format.
// Detailed information on the schedule token format can be found in the class SMS_ScheduleToken reference material.
try
{
IResultObject siteDefinition = connection.GetInstance(@"SMS_SCI_ClientComp.FileType=1,ItemType='Client Component',SiteCode='" + siteCode + "',ItemName='Configuration Management Agent'");
if (siteDefinition.EmbeddedProperties.ContainsKey("EvaluationSchedule"))
{
Dictionary<string, IResultObject> WorkingEmbeddedProperties = siteDefinition.EmbeddedProperties; //get temporary copy
// Display DCM client agent settings before change.
Console.WriteLine();
Console.WriteLine("DCM Client Agent Schedule - Before Change");
Console.WriteLine("-----------------------------------------");
Console.WriteLine("Schedule in token format: " + WorkingEmbeddedProperties["EvaluationSchedule"]["Value2"].StringValue);
// Set DCM client agent setting to new value.
WorkingEmbeddedProperties["EvaluationSchedule"]["Value2"].StringValue = newAgentSchedule;
siteDefinition.EmbeddedProperties = WorkingEmbeddedProperties;
// Save the settings.
siteDefinition.Put();
// Verify change by reconnecting and getting the value again.
Dictionary<string, IResultObject> WorkingEmbeddedProperties2 = siteDefinition.EmbeddedProperties; //Get temporary copy for change verification.
// Display DCM client agent settings after change.
Console.WriteLine();
Console.WriteLine("DCM Client Agent Schedule - After Change");
Console.WriteLine("-----------------------------------------");
Console.WriteLine("Schedule in token format: " + WorkingEmbeddedProperties2["EvaluationSchedule"]["Value2"].StringValue);
}
}
catch (SmsException eX)
{
Console.WriteLine("Failed. Error: " + eX.InnerException.Message);
throw;
}
}
L’exemple de méthode a les paramètres suivants :
Paramètre | Type | Description |
---|---|---|
connection |
-Géré: WqlConnectionManager - VBScript : SWbemServices |
Connexion valide au fournisseur SMS. |
swbemContext |
-Vbscript: SWbemContext |
Objet de contexte valide. Pour plus d’informations, consultez Comment ajouter un qualificateur de contexte Configuration Manager à l’aide de WMI. |
siteCode |
-Géré: String -Vbscript: String |
Code du site. |
newAgentSchedule |
-Géré: String -Vbscript: String |
Nouvelle planification au format chaîne. Pour plus d’informations, consultez À propos des planifications. |
Compilation du code
Espaces de noms
Système
System.Collections.Generic
System.ComponentModel
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
Programmation robuste
Pour plus d’informations sur la gestion des erreurs, consultez À propos des erreurs Configuration Manager.
Sécurité de .NET Framework
Pour plus d’informations sur la sécurisation des applications Configuration Manager, consultez Configuration Manager’administration basée sur les rôles.
Voir aussi
À propos de l’installation et de la configuration des paramètres de conformité (DCM)
À propos du fichier de contrôle de site Configuration Manager
Guide pratique pour lire et écrire dans le fichier de contrôle de site Configuration Manager à l’aide de code managé
Guide pratique pour lire et écrire dans le fichier de contrôle de site Configuration Manager à l’aide de WMI
classe WMI du serveur SMS_SCI_ClientComp
À propos des planificationsGuide pratique pour Create un jeton de planification
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour