Guide pratique pour créer un jeton de planification
Vous créez un jeton de planification, dans Configuration Manager, en créant et en remplissant une instance de la classe de jeton de planification appropriéeSMS_ST_
. SMS_ST
Les classes de planification sont des classes enfants de la SMS_ScheduleToken
classe et gèrent la planification des événements avec des fréquences différentes, telles que quotidienne, hebdomadaire et mensuelle.
La classe SMS_ScheduleMethods Windows Management Instrumentation (WMI) et les méthodes ReadFromString et WriteToString correspondantes sont utilisées pour décoder et encoder des jetons de planification dans et à partir d’une chaîne d’intervalle. Les chaînes d’intervalle peuvent ensuite être utilisées pour définir des propriétés de planification lors de la définition ou de la modification d’objets. Vous trouverez un exemple de ceci dans la rubrique How to Create a Maintenance Window for a Collection où la ServiceWindowSchedules
propriété est configurée.
Pour créer un jeton de planification et le convertir en chaîne d’intervalle
Créez un objet de jeton de planification à l’aide de l’une des classes enfants SMS_ScheduleToken . Cet exemple utilise la classe SMS_ST_RecurInterval .
Renseignez les propriétés du nouvel objet de jeton de planification.
Convertissez l’objet de jeton de planification en chaîne d’intervalle à l’aide de la classe et
WriteToString
de laSMS_ScheduleMethods
méthode .Utilisez la chaîne d’intervalle pour remplir les propriétés de planification d’un objet, selon les besoins.
Exemple
L’exemple de méthode suivant montre comment créer un jeton de planification en créant et en remplissant une instance de la SMS_ST_RecurInterval
classe de jeton de planification. En outre, l’exemple montre comment convertir la planification en chaîne d’intervalle à l’aide de la classe et WriteToString
de la SMS_ScheduleMethods
méthode .
Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code Configuration Manager.
Sub CreateDailyRecurringScheduleString(connection, _
hourDuration, _
daySpan, _
startTime, _
isGmt)
' Create a new recurring interval schedule object.
' Note: There are several types of schedule classes available, each defines a different type of schedule.
Set recurInterval = connection.Get("SMS_ST_RecurInterval").SpawnInstance_
' Populate the schedule properties.
recurInterval.DayDuration = 0
recurInterval.HourDuration = hourDuration
recurInterval.MinuteDuration = 0
recurInterval.DaySpan = daySpan
recurInterval.HourSpan = 0
recurInterval.MinuteSpan = 0
recurInterval.StartTime = startTime
recurInterval.IsGMT = isGmt
' Call WriteToString method to decode the schedule token.
' Note: The initial parameter of the WriteToString method requires an array.
Set clsScheduleMethod = connection.Get("SMS_ScheduleMethods")
clsScheduleMethod.WriteToString Array(recurInterval), scheduleString
' Output schedule token as an interval string.
WScript.Echo "Schedule Token Interval String: " & scheduleString
End Sub
public void CreateDailyRecurringScheduleToken(WqlConnectionManager connection,
int hourDuration,
int daySpan,
string startTime,
bool isGmt)
{
try
{
// Create a new recurring interval schedule object.
// Note: There are several types of schedule classes available, each defines a different type of schedule.
IResultObject recurInterval = connection.CreateEmbeddedObjectInstance("SMS_ST_RecurInterval");
// Populate the schedule properties.
recurInterval["DayDuration"].IntegerValue = 0;
recurInterval["HourDuration"].IntegerValue = hourDuration;
recurInterval["MinuteDuration"].IntegerValue = 0;
recurInterval["DaySpan"].IntegerValue = daySpan;
recurInterval["HourSpan"].IntegerValue = 0;
recurInterval["MinuteSpan"].IntegerValue = 0;
recurInterval["StartTime"].StringValue = startTime;
recurInterval["IsGMT"].BooleanValue = isGmt;
// Creating array to use as a parameters for the WriteToString method.
List<IResultObject> scheduleTokens = new List<IResultObject>();
scheduleTokens.Add(recurInterval);
// Creating dictionary object to pass parameters to the WriteToString method.
Dictionary<string, object> inParams = new Dictionary<string, object>();
inParams["TokenData"] = scheduleTokens;
// Initialize the outParams object.
IResultObject outParams = null;
// Call WriteToString method to decode the schedule token.
outParams = connection.ExecuteMethod("SMS_ScheduleMethods", "WriteToString", inParams);
// Output schedule token as an interval string.
// Note: The return value for this method is always 0, so this check is just best practice.
if (outParams["ReturnValue"].IntegerValue == 0)
{
Console.WriteLine("Schedule Token Interval String: " + outParams["StringData"].StringValue);
}
}
catch (SmsException ex)
{
Console.WriteLine("Failed. Error: " + ex.InnerException.Message);
}
}
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. |
hourDuration |
-Géré: Integer -Vbscript: Integer |
Nombre d’heures pendant lesquelles l’action planifiée se produit. Les valeurs autorisées sont comprises entre 0 et 23. La valeur par défaut est 0, ce qui n’indique aucune durée. |
daySpan |
-Géré: Integer -Vbscript: Integer |
Nombre de jours couvrant des intervalles de planification. Les valeurs autorisées sont comprises entre 0 et 31. La valeur par défaut est 0. |
startTime |
- Géré : String (DateTime)- VBScript : String (DateTime) |
Date et heure auxquelles l’action planifiée a lieu. La valeur par défaut est « 19700201000000.000000+*** ». Il s’agit du format dans lequel les valeurs DATETIME CIM (WMI) sont stockées. |
isGmt |
-Géré: Boolean -Vbscript: Boolean |
true si l’heure est en temps universel coordonné (UTC). La valeur par défaut est false , pour l’heure locale. |
Compilation du code
L’exemple C# présente les exigences de compilation suivantes :
Espaces de noms
Système
System.Collections.Generic
System.Text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managmentprovider
adminui.wqlqueryengine
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
Kit de développement logiciel Configuration Manager
Classe WMI du serveur SMS_ST_NonRecurring
Classe WMI du serveur SMS_ST_RecurInterval
Classe WMI du serveur SMS_ST_RecurMonthlyByDate
classe WMI du serveur SMS_ST_RecurMonthlyByWeekday
Classe WMI du serveur SMS_ST_RecurWeekly
Classe WMI du serveur SMS_ScheduleMethods
Méthode ReadFromString dans les SMS_ScheduleMethods de classe
Méthode WriteToString dans la SMS_ScheduleMethods de classe
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