Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du tar bort en aktivitetssekvensåtgärd för operativsystemdistribution i Configuration Manager genom att ta bort åtgärden från aktivitetssekvensstegen.
Ta bort en aktivitetssekvensåtgärd
Konfigurera en anslutning till SMS-providern. Mer information finns i grunderna för SMS-provider.
Hämta ett aktivitetssekvensobjekt (SMS_TaskSequence). Mer information finns i Skapa en aktivitetssekvens för operativsystemdistribution.
Ta bort åtgärden från matrisegenskapen
SMS_TaskSequence.Steps.
Exempel
Följande exempelmetod tar bort en åtgärd från aktivitetssekvensen. Åtgärden identifieras som en åtgärd genom att kontrollera WMI-egenskapen (Windows Management Instrumentation) __SUPERCLASS för att säkerställa att den härleds från SMS_TaskSequenceAction.
Information om hur du anropar exempelkoden finns i Anropa Configuration Manager kodfragment.
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;
}
}
Exempelmetoden har följande parametrar:
| Parameter | Typ | Beskrivning |
|---|---|---|
Connection |
-Hanterade:WqlConnectionManager– VBScript: SWbemServices |
En giltig anslutning till SMS-providern. |
taskSequence |
-Hanterade: IResultObject– VBScript: SWbemObject |
Aktivitetssekvensen som innehåller den åtgärd som ska tas bort. |
actionName |
-Hanterade: String– VBScript: String |
Namnet på den åtgärd som ska tas bort. Detta kan hämtas från egenskapen SMS_TaskSequenceAction.Name . |
Kompilera koden
Det här C#-exemplet kräver:
Namnområden
System
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Församling
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Robust programmering
Mer information om felhantering finns i Om Configuration Manager fel.
.NET Framework Säkerhet
Mer information om hur du skyddar Configuration Manager program finns i Configuration Manager rollbaserad administration.
Se även
ObjektöversiktSå här lägger du till en aktivitetssekvensåtgärd för operativsystemdistributionSå här ansluter du till en SMS-provider i Configuration Manager med hjälp av hanterad kodSå här ansluter du till en SMS-provider i Configuration Manager med hjälp av WMI-aktivitetssekvensöversikt