Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous supprimez une action de séquence de tâches de déploiement de système d’exploitation, dans Configuration Manager, en supprimant l’action des étapes de la séquence de tâches.
Pour supprimer une action de séquence de tâches
Configurez une connexion au fournisseur SMS. Pour plus d’informations, consultez Notions de base du fournisseur SMS.
Obtenir un objet de séquence de tâches (SMS_TaskSequence). Pour plus d’informations, consultez Procédure de création d’une séquence de tâches de déploiement de système d’exploitation.
Supprimez l’action de la
SMS_TaskSequence.Stepspropriété array.
Exemple
L’exemple de méthode suivant supprime une action de la séquence de tâches. L’action est identifiée en tant qu’action en vérifiant la propriété WMI (Windows Management Instrumentation) __SUPERCLASS pour vérifier qu’elle dérive de SMS_TaskSequenceAction.
Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code 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;
}
}
L’exemple de méthode a les paramètres suivants :
| Paramètre | Type | Description |
|---|---|---|
Connection |
-Géré:WqlConnectionManager- VBScript : SWbemServices |
Connexion valide au fournisseur SMS. |
taskSequence |
-Géré: IResultObject- VBScript : SWbemObject |
Séquence de tâches contenant l’action à supprimer. |
actionName |
-Géré: String- VBScript : String |
Nom de l’action à supprimer. Vous pouvez l’obtenir à partir de la SMS_TaskSequenceAction.Name propriété . |
Compilation du code
Cet exemple C# nécessite :
Espaces de noms
Système
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Programmation robuste
Pour plus d’informations sur la gestion des erreurs, consultez À propos des erreurs Configuration Manager.
Sécurité de .NET Framework
Pour plus d’informations sur la sécurisation des applications Configuration Manager, consultez Configuration Manager’administration basée sur les rôles.
Voir aussi
Vue d’ensemble des objetsComment ajouter une action de séquence de tâches de déploiement de système d’exploitationComment se connecter à un fournisseur SMS dans Configuration Manager à l’aide du code managéComment se connecter à un fournisseur SMS dans Configuration Manager à l’aide de la séquence de tâches WMI Vue d’ensemble