Como criar um token de agendamento
Você cria um token de agendamento, em Configuration Manager, criando e preenchendo uma instância da classe de token de agendamento apropriadaSMS_ST_
. SMS_ST
as aulas de agendamento são classes filho da SMS_ScheduleToken
classe e lidam com o agendamento de eventos com frequências diferentes, como diárias, semanais e mensais.
Os SMS_ScheduleMethods classe WMI (Instrumentação de Gerenciamento do Windows) e os métodos ReadFromString e WriteToString correspondentes são usados para decodificar e codificar tokens de agendamento de uma cadeia de caracteres de intervalo. Em seguida, as cadeias de caracteres de intervalo podem ser usadas para definir propriedades de agendamento ao definir ou modificar objetos. Um exemplo disso pode ser visto no tópico Como criar uma janela de manutenção para uma coleção em que a ServiceWindowSchedules
propriedade está configurada.
Para criar um token de agendamento e convertê-lo em uma cadeia de caracteres de intervalo
Crie um objeto de token de agendamento usando uma das classes filho SMS_ScheduleToken . Este exemplo usa a classe SMS_ST_RecurInterval .
Preencha as propriedades do novo objeto de token de agendamento.
Converta o objeto de token de agendamento em uma cadeia de caracteres de intervalo usando a classe e
WriteToString
oSMS_ScheduleMethods
método.Use a cadeia de caracteres de intervalo para preencher as propriedades de agenda de um objeto, conforme necessário.
Exemplo
O método de exemplo a seguir mostra como criar um token de agendamento criando e populando uma instância da SMS_ST_RecurInterval
classe de token de agendamento. Além disso, o exemplo mostra como converter o agendamento em uma cadeia de caracteres de intervalo usando a classe e WriteToString
o SMS_ScheduleMethods
método.
Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets de Código.
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);
}
}
O método de exemplo tem os seguintes parâmetros:
Parâmetro | Tipo | Descrição |
---|---|---|
connection |
-Gerenciado: WqlConnectionManager - VBScript: SWbemServices |
Uma conexão válida com o provedor de SMS. |
hourDuration |
-Gerenciado: Integer -Vbscript: Integer |
Número de horas durante as quais a ação agendada ocorre. Os valores permitidos estão no intervalo de 0 a 23. O valor padrão é 0, indicando nenhuma duração. |
daySpan |
-Gerenciado: Integer -Vbscript: Integer |
Número de dias que abrangem intervalos de agendamento. Os valores permitidos estão no intervalo de 0 a 31. O valor padrão é 0. |
startTime |
– Gerenciado: String (DateTime)- VBScript: String (DateTime) |
Data e hora em que a ação agendada ocorre. O valor padrão é "1970020100000.000000+***". Este é o formato no qual os valores CIM DATETIME (WMI) são armazenados. |
isGmt |
-Gerenciado: Boolean -Vbscript: Boolean |
true se a hora estiver em UTC (Tempo Universal Coordenado). O valor padrão é false , para hora local. |
Compilando o código
O exemplo C# tem os seguintes requisitos de compilação:
Namespaces
System
System.Collections.Generic
System.Text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managmentprovider
adminui.wqlqueryengine
Programação robusta
Para obter mais informações sobre o tratamento de erros, consulte Sobre erros de Configuration Manager.
Segurança do .NET Framework
Para obter mais informações sobre como proteger aplicativos Configuration Manager, consulte Configuration Manager administração baseada em função.
Confira também
Configuration Manager Kit de Desenvolvimento de Software
Classe WMI do servidor SMS_ST_NonRecurring
Classe WMI do servidor SMS_ST_RecurInterval
Classe WMI do servidor SMS_ST_RecurMonthlyByDate
Classe WMI do servidor SMS_ST_RecurMonthlyByWeekday
Classe WMI do servidor SMS_ST_RecurWeekly
Classe WMI do servidor SMS_ScheduleMethods
Método ReadFromString na classe SMS_ScheduleMethods
Método WriteToString na classe SMS_ScheduleMethods
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de