Een stap verwijderen uit een besturingssysteemimplementatiegroep
In Configuration Manager verwijdert u een stap (een actie of een groep) uit een takenreeksgroep voor de implementatie van het besturingssysteem door de stap te verwijderen uit de lijst met takenreeksstappen van de groep.
Een stap uit een groep verwijderen
Een verbinding met de SMS-provider instellen. Zie Basisprincipes van SMS-provider voor meer informatie.
Haal het SMS_TaskSequence_Group-object op waaraan u de stap wilt toevoegen. Zie Een takenreeksgroep voor besturingssysteemimplementatie maken voor meer informatie.
Verwijder de actie uit de matrixeigenschap SMS_TaskSequence_Group.Steps.
Voorbeeld
Met de volgende voorbeeldmethode verwijdert u een actie uit een takenreeksgroep.
Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.
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;
}
}
De voorbeeldmethode heeft de volgende parameters:
Parameter | Type | Beschrijving |
---|---|---|
taskSequenceGroup |
- Beheerd: IResultObject - VBScript: SWbemObject |
De takenreeksgroep met de actie die moet worden verwijderd. |
actionName |
-Beheerd: String -Vbscript: String |
De naam van de actie die moet worden verwijderd. Dit kan worden verkregen uit de eigenschap SMS_TaskSequenceAction.Name . |
De code compileren
Voor dit C#-voorbeeld is het volgende vereist:
Naamruimten
Systeem
System.Collections.Generic
System.Text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Vergadering
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Robuust programmeren
Zie Over Configuration Manager fouten voor meer informatie over foutafhandeling.
.NET Framework Beveiliging
Zie Configuration Manager op rollen gebaseerd beheer voor meer informatie over het beveiligen van Configuration Manager toepassingen.
Zie ook
Overzicht van objectenEen stap toevoegen aan een besturingssysteemimplementatiegroep
Verbinding maken met een SMS-provider in Configuration Manager met behulp van beheerde code
Verbinding maken met een SMS-provider in Configuration Manager met behulp van WMI
Een stap verplaatsen naar een andere takenreeksgroep voor besturingssysteemimplementatie
Een takenreeksgroep voor besturingssysteemimplementatie maken
Takenreeksoverzicht