Come aggiungere un'azione della sequenza di attività di distribuzione del sistema operativo
Un'azione della sequenza di attività di distribuzione del sistema operativo viene aggiunta a una sequenza di attività, in Configuration Manager, creando un'istanza di una classe derivata SMS_TaskSequence_Action e quindi aggiungendola ai passaggi della sequenza di attività.
Nota
Configuration Manager dispone di una serie di azioni predefinite che è possibile usare. Ad esempio, la classe di azione della riga di comando è SMS_TaskSequence_RunCommandLineAction. Queste classi derivano dalla classe SMS_TaskSequence_Action .
SMS_TaskSequenceAction deriva dalla classe SMS_TaskSequence_Step , ovvero la classe di base per azioni e gruppi. La sequenza di attività archivia i passaggi in una matrice di SMS_TaskSequence_Step, consentendo così l'archiviazione di azioni e gruppi.
Per aggiungere un'azione della sequenza di attività
Configurare una connessione al provider SMS. Per altre informazioni, vedere Nozioni fondamentali sul provider SMS.
Creare un oggetto sequenza di attività (SMS_TaskSequence). Per altre informazioni, vedere Come creare una sequenza di attività di distribuzione del sistema operativo.
Creare un'istanza della classe derivata SMS_TaskSequenceAction , ad esempio SMS_TaskSequence_RunCommandLineAction, per l'azione desiderata.
Popolare l'azione in base alle esigenze.
Aggiungere l'azione ai passaggi delle sequenze di attività. Viene archiviata la proprietà Steps della classe SMS_TaskSequence).
Esempio
Il metodo di esempio seguente crea un'azione della riga di comando e la aggiunge alla sequenza di attività fornita.
Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice Configuration Manager.
Sub AddTaskSequenceActionCommandLine(connection, taskSequence, name, description)
Dim steps
Dim action
Set action = connection.Get("SMS_TaskSequence_RunCommandLineAction").SpawnInstance_
action.CommandLine = "cmd /c Echo Hello"
action.Name=name
action.Description=description
action.Enabled=True
action.ContinueOnError=False
If IsNull(taskSequence.Steps) Then
steps = Array(action)
taskSequence.Steps=steps
Else
steps= Array(taskSequence.Steps)
ReDim steps (UBound (taskSequence.Steps)+1)
taskSequence.Steps(UBound(steps))=action
End if
End Sub
public IResultObject AddTaskSequenceActionCommandLine(
WqlConnectionManager connection,
IResultObject taskSequence,
string name,
string description)
{
try
{
// Create the new step.
IResultObject ro;
ro = connection.CreateEmbeddedObjectInstance("SMS_TaskSequence_RunCommandLineAction");
ro["CommandLine"].StringValue = @"cmd /c Echo Hello";
ro["Name"].StringValue = name;
ro["Description"].StringValue = description;
ro["Enabled"].BooleanValue = true;
ro["ContinueOnError"].BooleanValue = false;
// Add the step to the task sequence.
List<IResultObject> array = taskSequence.GetArrayItems("Steps");
array.Add(ro);
taskSequence.SetArrayItems("Steps", array);
return ro;
}
catch (SmsException e)
{
Console.WriteLine("Failed to add action: " + e.Message);
throw;
}
}
Il metodo di esempio include i parametri seguenti:
Parametro | Tipo | Descrizione |
---|---|---|
connection |
-Gestito: WqlConnectionManager - VBScript: SWbemServices |
Connessione valida al provider SMS. |
taskSequence |
-Gestito: IResultObject - VBScript: SWbemObject |
Sequenza di attività valida. |
Name |
-Gestito: String -Vbscript: String |
Nome della nuova azione. |
Description |
-Gestito: String -Vbscript: String |
Descrizione dell'azione. |
Compilazione del codice
Questo esempio C# richiede:
Namespaces
Sistema
System.collections.generic
System.Text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.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 Configuration Manager, vedere Configuration Manager'amministrazione basata sui ruoli.
Vedere anche
Panoramica degli oggettiCome aggiungere una condizione a un passaggio della sequenza di attività di distribuzione del sistema operativo
Come connettersi a un provider SMS in Configuration Manager tramite codice gestito
Come connettersi a un provider SMS in Configuration Manager tramite WMI
Come creare un gruppo di attività di distribuzione del sistema operativo
Come eliminare un'azione della sequenza di attività di distribuzione del sistema operativo
Panoramica sulla sequenza delle attività