Cómo quitar un paso de un grupo de implementación del sistema operativo
En Configuration Manager, se elimina un paso (una acción o un grupo) de un grupo de secuencia de tareas de implementación del sistema operativo mediante la eliminación del paso de la lista de pasos de secuencia de tareas del grupo.
Para quitar un paso de un grupo
Configure una conexión con el proveedor de SMS. Para obtener más información, consulte Aspectos básicos del proveedor de SMS.
Obtenga el objeto SMS_TaskSequence_Group al que desea agregar el paso. Para obtener más información, vea Cómo crear un grupo de secuencia de tareas de implementación del sistema operativo.
Quite la acción de la propiedad de matriz SMS_TaskSequence_Group.Steps.
Ejemplo
El siguiente método de ejemplo quita una acción de un grupo de secuencia de tareas.
Para obtener información sobre cómo llamar al código de ejemplo, vea Llamar a fragmentos de código de Configuration Manager.
Sub RemoveActionFromGroup(taskSequenceGroup, actionName)
Dim i
If taskSequenceGroup.SystemProperties_("__CLASS")<>"SMS_TaskSequence_Group" Then
wscript.echo "Not a group"
return
End If
Dim newArray
Dim actionStep
newArray = Array(taskSequenceGroup.Steps)
ReDim newArray(UBound(taskSequenceGroup.Steps))
i=0
for each actionStep in taskSequenceGroup.Steps
If actionStep.Name = actionName and _
actionStep.SystemProperties_("__SUPERCLASS") = "SMS_TaskSequence_Action" Then
ReDim preserve newArray(UBound(newArray)-1) ' shrink the Array
else
wscript.echo actionStep.Name
Set newArray(i)=actionStep ' copy it
i=i+1
End If
Next
taskSequenceGroup.Steps=newArray
End Sub
public void RemoveActionFromGroup(
IResultObject taskSequenceGroup,
string actionName)
{
try
{
if (taskSequenceGroup["__CLASS"].StringValue != "SMS_TaskSequence_Group")
{
throw new System.InvalidOperationException("Not a group");
}
List<IResultObject> groupSteps = taskSequenceGroup.GetArrayItems("Steps");
IResultObject actionFound = null;
foreach (IResultObject actionStep in groupSteps)
{
if (actionStep["Name"].StringValue == actionName && actionStep["__SUPERCLASS"].StringValue == "SMS_TaskSequence_Action")
{
actionFound = actionStep;
break;
}
}
groupSteps.Remove(actionFound);
taskSequenceGroup.SetArrayItems("Steps", groupSteps);
}
catch (SmsException e)
{
Console.WriteLine("Failed to remove action: " + e.Message);
throw;
}
}
El método de ejemplo tiene los parámetros siguientes:
Parámetro | Tipo | Descripción |
---|---|---|
taskSequenceGroup |
- Administrado: IResultObject - VBScript: SWbemObject |
Grupo de secuencia de tareas que contiene la acción que se va a eliminar. |
actionName |
-Administrado: String -Vbscript: String |
Nombre de la acción que se va a eliminar. Esto se puede obtener de la propiedad SMS_TaskSequenceAction.Name . |
Compilar el código
Este ejemplo de C# requiere:
Espacios de nombres
System
System.Collections.Generic
System.Text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Ensamblado
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Programación sólida
Para obtener más información sobre el control de errores, consulte Acerca de los errores de Configuration Manager.
Seguridad de .NET Framework
Para obtener más información sobre la protección de aplicaciones Configuration Manager, consulte Configuration Manager administración basada en roles.
Consulta también
Introducción a los objetosCómo agregar un paso a un grupo de implementación del sistema operativo
Conexión a un proveedor de SMS en Configuration Manager mediante código administrado
Conexión a un proveedor de SMS en Configuration Manager mediante WMI
Cómo mover un paso a un grupo de secuencia de tareas de implementación de sistema operativo diferente
Cómo crear un grupo de secuencias de tareas de implementación del sistema operativo
Introducción a la secuencia de tareas