Přidání podmínky do kroku pořadí úkolů nasazení operačního systému
Podmínky je možné přidat do kroku nasazení operačního systému (akce a skupiny) v Configuration Manager vytvořením instance SMS_TaskSequence_Condition třídy a následným přidružením této instance k kroku. Pokud jsou všechny operandy podmínky splněny, je krok zpracován; jinak to není. Podmínka může mít jeden nebo více operandů, které jsou instancemi SMS_TaskSequence_Condition odvozených tříd. Operátory pro operandy zadáte s instancemi SMS_TaskSequence_ConditionOperator.
Přidání podmínky do kroku
Nastavte připojení k poskytovateli serveru SMS. Další informace najdete v tématu Základy poskytovatele serveru SMS.
Získejte objekt kroku pořadí úkolů. Může se jednat o objekt SMS_TaskSequence_Group pro skupinu nebo SMS_TaskSequenceAction objekt odvozené třídy pro akci. Další informace najdete v tématu Přidání akce pořadí úkolů nasazení operačního systému.
Vytvořte novou podmínku vytvořením instance objektu
SMS_TaskSequence_Condition
.Vytvořte výraz pro podmínku vytvořením instance SMS_TaskSequence_ConditionExpression odvozené třídy. Například SMS_TaskSequence_RegistryConditionExpression.
Vyplňte vlastnosti výrazu.
Přidejte výraz do vlastnosti Operands podmínky.
Přidejte podmínku do vlastnosti třídy Podmínka kroku pořadí úkolů.
Příklad
Následující ukázková metoda přidá podmínku do zadaného kroku, která určuje, zda HKEY_LOCAL_MACHINE\MICROSOFT klíč registru existuje. Výraz SMS_TaskSequenc_RegistryCondition slouží k určení podmínky.
Informace o volání ukázkového kódu najdete v tématu Volání Configuration Manager fragmentů kódu.
Sub AddRegistryCondition (connection, taskSequenceStep)
Dim condition
Dim registryExpression
Dim operands
' Get or create the condition.
if IsNull ( taskSequenceStep.Condition) Then
Set condition = connection.Get("SMS_TaskSequence_Condition").SpawnInstance_
Else
Set condition = taskSequenceStep.Condition
End If
' Populate the condition.
Set registryExpression=connection.Get("SMS_TaskSequence_RegistryConditionExpression").SpawnInstance_
registryExpression.KeyPath="HKEY_LOCAL_MACHINE\MICROSOFT"
registryExpression.Operator="exists"
registryExpression.Type="REG_SZ"
registryExpression.Data=Null
' Add the condition.
operands=Array(registryExpression)
condition.Operands=operands
taskSequenceStep.Condition=condition
End Sub
public void AddRegistryCondition(
WqlConnectionManager connection,
IResultObject taskSequenceStep)
{
try
{
IResultObject condition;
if (taskSequenceStep["Condition"].ObjectValue == null)
{
// Create a new condition.
condition = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_Condition");
}
else
{ // Get the existing condition.
condition = taskSequenceStep.GetSingleItem("Condition");
}
// Create and populate the expression.
IResultObject registryExpression = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_RegistryConditionExpression");
registryExpression["KeyPath"].StringValue = @"HKEY_LOCAL_MACHINE\MICROSOFT";
registryExpression["Operator"].StringValue = "exists";
registryExpression["Type"].StringValue = "REG_SZ";
registryExpression["Data"].StringValue = null;
// Get the operands and add the expression.
List<IResultObject> operands = condition.GetArrayItems("Operands");
operands.Add(registryExpression);
// Add the expresssion to the list of operands.
condition.SetArrayItems("Operands", operands);
// Add the condition to the sequence.
taskSequenceStep.SetSingleItem("Condition", condition);
}
catch (SmsException e)
{
Console.WriteLine("Failed to create Task Sequence: " + e.Message);
throw;
}
}
Ukázková metoda má následující parametry:
Parametr | Typ | Popis |
---|---|---|
connection |
-Spravované: WqlConnectionManager - VBScript: SWbemServices |
Platné připojení k poskytovateli serveru SMS. |
taskSequenceStep |
-Spravované: IResultObject - VBScript: SWbemObject |
Platný krok pořadí úkolů (SMS_TaskSequenceStep). |
Kompilace kódu
Příklad jazyka C# má následující požadavky na kompilaci:
Obory názvů
Systému
System.collections.generic
System.text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Sestavení
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
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
Přehled objektů– Postup přidání akce pořadí úkolů nasazení operačního systému
Připojení k poskytovateli serveru SMS v Configuration Manager pomocí spravovaného kódu
Připojení k poskytovateli serveru SMS v Configuration Manager pomocí rozhraní WMI
Přehled pořadí úkolů