Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cree un token de programación, en Configuration Manager, creando y rellenando una instancia de la clase de token de programación adecuadaSMS_ST_
.
SMS_ST
las clases de programación son clases secundarias de la SMS_ScheduleToken
clase y controlan la programación de eventos con frecuencias diferentes, como diaria, semanal y mensual.
La clase SMS_ScheduleMethods Instrumental de administración de Windows (WMI) y los métodos ReadFromString y WriteToString correspondientes se usan para descodificar y codificar tokens de programación dentro y desde una cadena de intervalo. A continuación, las cadenas de intervalo se pueden usar para establecer las propiedades de programación al definir o modificar objetos. Un ejemplo de esto se puede ver en el tema How to Create a Maintenance Window for a Collection (Cómo crear una ventana de mantenimiento para una colección ) donde se configura la ServiceWindowSchedules
propiedad .
Para crear un token de programación y convertirlo en una cadena de intervalo
Cree un objeto de token de programación mediante una de las clases secundarias SMS_ScheduleToken . En este ejemplo se usa la clase SMS_ST_RecurInterval .
Rellene las propiedades del nuevo objeto de token de programación.
Convierta el objeto de token de programación en una cadena de intervalo mediante la clase y
WriteToString
elSMS_ScheduleMethods
método .Use la cadena de intervalo para rellenar las propiedades de programación de un objeto, según sea necesario.
Ejemplo
El siguiente método de ejemplo muestra cómo crear un token de programación mediante la creación y rellenación de una instancia de la SMS_ST_RecurInterval
clase de token de programación. Además, en el ejemplo se muestra cómo convertir la programación en una cadena de intervalo mediante la clase y WriteToString
el SMS_ScheduleMethods
método .
Para obtener información sobre cómo llamar al código de ejemplo, vea Llamar a fragmentos de código de 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);
}
}
El método de ejemplo tiene los parámetros siguientes:
Parámetro | Tipo | Descripción |
---|---|---|
connection |
-Administrado: WqlConnectionManager - VBScript: SWbemServices |
Una conexión válida al proveedor de SMS. |
hourDuration |
-Administrado: Integer - VBScript: Integer |
Número de horas durante las que se produce la acción programada. Los valores permitidos están en el intervalo 0-23. El valor predeterminado es 0, lo que indica que no hay duración. |
daySpan |
-Administrado: Integer - VBScript: Integer |
Número de días que abarcan intervalos de programación. Los valores permitidos están en el intervalo 0-31. El valor predeterminado es 0. |
startTime |
- Administrado: String (DateTime)- VBScript: String (DateTime) |
Fecha y hora en que tiene lugar la acción programada. El valor predeterminado es "197002010000000.000000+***". Este es el formato en el que se almacenan los valores DATETIME DE CIM (WMI). |
isGmt |
-Administrado: Boolean - VBScript: Boolean |
true es si la hora está en hora universal coordinada (UTC). El valor predeterminado es false , para la hora local. |
Compilar el código
El ejemplo de C# tiene los siguientes requisitos de compilación:
Espacios de nombres
System
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Ensamblado
microsoft.configurationmanagement.managmentprovider
adminui.wqlqueryengine
Programación sólida
Para obtener más información sobre el control de errores, vea Acerca de los errores de Configuration Manager.
Seguridad de .NET Framework
Para obtener más información sobre la protección de aplicaciones Configuration Manager, consulte Configuration Manager administración basada en roles.
Consulta también
Configuration Manager Kit de desarrollo de softwareSMS_ST_NonRecurring clase WMI de servidorSMS_ST_RecurInterval clase WMI de servidorSMS_ST_RecurMonthlyByDate clase WMI de servidorSMS_ST_RecurMonthlyByWeekday clase WMI de servidorSMS_ST_RecurWeekly clase WMI de servidor SMS_ScheduleMethods método ReadFromString de clase WMI de servidoren la clase SMS_ScheduleMethodsMétodo WriteToString en la clase SMS_ScheduleMethods