Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
U verwijdert een taakreeksactie voor de implementatie van het besturingssysteem in Configuration Manager door de actie uit de takenreeksstappen te verwijderen.
Een takenreeksactie verwijderen
Stel een verbinding in met de sms-provider. Zie Basisprincipes van sms-provider voor meer informatie.
Een taakreeksobject (SMS_TaskSequence verkrijgen. Zie How to create an Operating System Deployment task Sequence (Een takenreeks voor de implementatie van een besturingssysteem maken) voor meer informatie.
Verwijder de actie uit de
SMS_TaskSequence.Stepsmatrixeigenschap.
Voorbeeld
Met de volgende voorbeeldmethode wordt een actie verwijderd uit de taakreeks. De actie wordt geïdentificeerd als een actie door de eigenschap WMI (Windows Management Instrumentation) __SUPERCLASS te controleren om na te gaan of deze is afgeleid van SMS_TaskSequenceAction.
Zie Codefragmenten van Configuration Manager aanroepen voor meer informatie over het aanroepen van de voorbeeldcode.
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;
}
}
De voorbeeldmethode heeft de volgende parameters:
| Parameter | Type | Beschrijving |
|---|---|---|
Connection |
- Beheerd:WqlConnectionManager- VBScript: SWbemServices |
Een geldige verbinding met de sms-provider. |
taskSequence |
- Beheerd: IResultObject- VBScript: SWbemObject |
De takenreeks met de actie die moet worden verwijderd. |
actionName |
- Beheerd: String- VBScript: String |
De naam van de actie die moet worden verwijderd. Deze is te verkrijgen bij de SMS_TaskSequenceAction.Name woning. |
De code compileren
Dit C#-voorbeeld vereist:
Naamruimten
Systeem
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
bijeenkomst
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Robuust programmeren
Zie Info over fouten in Configuration Manager voor meer informatie over foutafhandeling.
.NET Framework-beveiliging
Zie Rolgebaseerd beheer van Configuration Manager voor meer informatie over het beveiligen van Configuration Manager-toepassingen.
Zie ook
Overzicht van objectenEen taakvolgorde-actie voor de implementatie van een besturingssysteemtoevoegen Verbinding maken met een SMS-provider in Configuration Manager met behulp van beheerde codeVerbinding maken met een SMS-provider in Configuration Manager met behulp van WMIOverzicht van de taakreeks