Ta bort ett steg från en distributionsgrupp för operativsystem
I Configuration Manager tar du bort ett steg (en åtgärd eller en grupp) från en aktivitetssekvensgrupp för operativsystemdistribution genom att ta bort steget från gruppens lista över aktivitetssekvenssteg.
Ta bort ett steg från en grupp
Konfigurera en anslutning till SMS-providern. Mer information finns i grunderna för SMS-provider.
Hämta det SMS_TaskSequence_Group objekt som du vill lägga till steget i. Mer information finns i Skapa en aktivitetssekvensgrupp för operativsystemdistribution.
Ta bort åtgärden från matrisegenskapen SMS_TaskSequence_Group.Steps.
Exempel
Följande exempelmetod tar bort en åtgärd från en aktivitetssekvensgrupp.
Information om hur du anropar exempelkoden finns i Anropa Configuration Manager kodfragment.
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;
}
}
Exempelmetoden har följande parametrar:
Parameter | Typ | Beskrivning |
---|---|---|
taskSequenceGroup |
– Hanterad: IResultObject – VBScript: SWbemObject |
Aktivitetssekvensgruppen som innehåller åtgärden 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örsamlingen
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 ett steg i en distributionsgrupp för operativsystem
Ansluta till en SMS-provider i Configuration Manager med hjälp av hanterad kod
Ansluta till en SMS-provider i Configuration Manager med hjälp av WMI
Flytta ett steg till en annan aktivitetssekvensgrupp för operativsystemdistribution
Så här skapar du en aktivitetssekvensgrupp för operativsystemdistribution
Översikt över aktivitetssekvens