Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le condizioni possono essere aggiunte a un passaggio di distribuzione del sistema operativo (azione e gruppo), in Configuration Manager, creando un'istanza della classe SMS_TaskSequence_Condition e associandola al passaggio. Se gli operandi delle condizioni sono tutti soddisfatti, il passaggio viene elaborato; altrimenti non lo è. La condizione può avere uno o più operandi che sono istanze di SMS_TaskSequence_Condition classi derivate. Gli operatori per gli operandi vengono specificati con istanze di SMS_TaskSequence_ConditionOperator.
Per aggiungere una condizione a un passaggio
Configurare una connessione al provider SMS. Per altre informazioni, vedere Nozioni fondamentali sul provider SMS.
Ottenere un oggetto passaggio della sequenza di attività. Può trattarsi di un oggetto SMS_TaskSequence_Group per un gruppo o di un SMS_TaskSequenceAction oggetto classe derivato per un'azione. Per altre informazioni, vedere Come aggiungere un'azione della sequenza di attività di distribuzione del sistema operativo.
Create una nuova condizione creando un'istanza di
SMS_TaskSequence_Condition.Creare un'espressione per la condizione creando un'istanza di una classe derivata SMS_TaskSequence_ConditionExpression . Ad esempio, SMS_TaskSequence_RegistryConditionExpression.
Popolare le proprietà delle espressioni.
Aggiungere l'espressione alla proprietà Operandi della condizione.
Aggiungi la condizione alla proprietà Condition della classe di passaggi della sequenza di attività.
Esempio
Il metodo di esempio seguente aggiunge una condizione a un passaggio fornito che determina se la chiave del Registro di sistema HKEY_LOCAL_MACHINE\MICROSOFT esiste. L'espressione SMS_TaskSequenc_RegistryCondition viene utilizzata per specificare la condizione.
Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice di Configuration Manager.
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;
}
}
Il metodo di esempio include i parametri seguenti:
| Parametro | Tipo | Descrizione |
|---|---|---|
connection |
- Gestito: WqlConnectionManager- VBScript: SWbemServices |
Una connessione valida al provider SMS. |
taskSequenceStep |
- Gestito: IResultObject- VBScript: SWbemObject |
Passaggio valido della sequenza di attività (SMS_TaskSequenceStep). |
Compilazione del codice
L'esempio di C# presenta i requisiti di compilazione seguenti:
Spazi dei nomi
Sistema
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagementManagementProvider
Microsoft.ConfigurationManagementManagementProvider.WqlQueryEngine
Assembly
Microsoft.ConfigurationManagement.ManagementProvider
adminui.wqlqueryengine
Programmazione efficiente
Per altre informazioni sulla gestione degli errori, vedere Informazioni sugli errori di Configuration Manager.
Sicurezza di .NET Framework
Per altre informazioni sulla protezione delle applicazioni di Configuration Manager, vedere Amministrazione basata sui ruoli di Configuration Manager.
Vedere anche
Panoramica degli oggettiCome aggiungere un sistema operativo Azione della sequenza di attivitàCome connettersi a un provider SMS in Configuration Manager tramite codice gestitoCome connettersi a un provider SMS in Configuration Manager tramite WMIPanoramica della sequenza di attività