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.
Per eliminare un'azione della sequenza di attività di distribuzione del sistema operativo in Configuration Manager, rimuovere l'azione dai passaggi della sequenza di attività.
Per eliminare un'azione della sequenza di attività
Configurare una connessione al provider SMS. Per altre informazioni, vedere Nozioni fondamentali sul provider SMS.
Ottenere un oggetto sequenza di attività (SMS_TaskSequence). Per altre informazioni, vedere Come creare una sequenza di attività di distribuzione del sistema operativo.
Rimuovere l'azione dalla
SMS_TaskSequence.Stepsproprietà array.
Esempio
Il metodo di esempio seguente elimina un'azione dalla sequenza di attività. L'azione viene identificata come azione controllando la proprietà Strumentazione gestione Windows (WMI) __SUPERCLASS per assicurarsi che derivi da SMS_TaskSequenceAction.
Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice di Configuration Manager.
Sub RemoveAction (connection, taskSequence, actionName)
Dim i
Dim newArray
Dim actionStep
If taskSequence.SystemProperties_("__CLASS")<>"SMS_TaskSequence" Then
wscript.echo "Not a task sequence"
Exit Sub
End If
if IsNull(taskSequence.Steps) Then
Wscript.Echo "No steps"
Exit Sub
End If
' Create an array to hold copied steps.
newArray = Array(taskSequence.Steps)
ReDim newArray(UBound(taskSequence.Steps))
' Copy the steps into the array and remove the matching action.
i=0
for each actionStep in taskSequence.Steps
If actionStep.Name = actionName and _
actionStep.SystemProperties_("__SUPERCLASS") = "SMS_TaskSequence_Action" Then
ReDim preserve newArray(UBound(newArray)-1) ' shrink the Array
else
Set newArray(i)=actionStep ' copy it
i=i+1
End If
Next
' Assign new array back to the task sequence.
taskSequence.Steps=newArray
End Sub
public void RemoveAction(
IResultObject taskSequence,
string actionName)
{
try
{
// Get a list of steps.
List<IResultObject> actionSteps = taskSequence.GetArrayItems("Steps");
// Find the action to be deleted.
foreach (IResultObject actionStep in actionSteps)
{
if (actionStep["Name"].StringValue == actionName && actionStep["__SUPERCLASS"].StringValue == "SMS_TaskSequence_Action")
{
// Delete the action.
actionSteps.Remove(actionStep);
break;
}
}
// Update the task sequence.
taskSequence.SetArrayItems("Steps", actionSteps);
}
catch (Exception e)
{
Console.WriteLine("Failed to remove action: " + 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. |
taskSequence |
- Gestito: IResultObject- VBScript: SWbemObject |
Sequenza di attività che contiene l'azione da eliminare. |
actionName |
- Gestito: String- VBScript: String |
Nome dell'azione da eliminare. Questo può essere ottenuto dalla SMS_TaskSequenceAction.Name proprietà. |
Compilazione del codice
Questo esempio di C# richiede:
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à