Kommentar
Å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 distribution av operativsystem i Configuration Manager genom att ta bort åtgärden från aktivitetssekvensstegen.
Så här tar du bort en aktivitetssekvensåtgärd
Konfigurera en anslutning till SMS-leverantören. Mer information finns i Grunderna för SMS-providern.
Hämta ett task sequence-objekt (SMS_TaskSequence). Mer information finns i Så här skapar du en aktivitetssekvens för distribution av operativsystem.
Ta bort åtgärden från array-egenskapen
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 egenskapen Windows Management Instrumentation (WMI) __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 |
- Hanterad:WqlConnectionManager- VBScript: SWbemServices |
En giltig anslutning till SMS-leverantören. |
taskSequence |
- Hanterad: IResultObject- VBScript: SWbemObject |
Aktivitetssekvensen som innehåller åtgärden som ska tas bort. |
actionName |
- Hanterad: String- VBScript: String |
Namnet på åtgärden som ska tas bort. Detta kan erhållas från SMS_TaskSequenceAction.Name fastigheten. |
Kompilerar koden
Det här C#-exemplet kräver:
Namnområden
System
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Montering
Microsoft.ConfigurationManagement.ManagementProvider
adminui.wqlqueryengine
Robust programmering
Mer information om felhantering finns i Om Configuration Manager fel.
.NET Framework Security
Mer information om hur du skyddar Configuration Manager program finns i Configuration Manager rollbaserad administration.
Se även
Översikt över objektLägga till en operativsystemdistribution AktivitetssekvensåtgärdSå 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Översikt över aktivitetssekvens