Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usuwasz akcję sekwencji zadań wdrażania systemu operacyjnego w programie Configuration Manager, usuwając akcję z kroków sekwencji zadań.
Aby usunąć akcję sekwencji zadań
Konfigurowanie połączenia z dostawcą usługi SMS. Aby uzyskać więcej informacji, zobacz Podstawy dostawcy wiadomości SMS.
Uzyskiwanie obiektu sekwencji zadań (SMS_TaskSequence). Aby uzyskać więcej informacji, zobacz Jak utworzyć sekwencję zadań wdrażania systemu operacyjnego.
Usuń akcję z właściwości tablicy
SMS_TaskSequence.Steps.
Przykład
Poniższa przykładowa metoda usuwa akcję z sekwencji zadań. Akcja jest identyfikowana przez sprawdzenie właściwości WMI (Windows Management Instrumentation) __SUPERCLASS w celu upewnienia się, że pochodzi ona z SMS_TaskSequenceAction.
Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu programu Configuration Manager.
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;
}
}
Przykładowa metoda ma następujące parametry:
| Parametr | Wpisać | Opis |
|---|---|---|
Connection |
- Zarządzane:WqlConnectionManager- VBScript: SWbemServices |
Prawidłowe połączenie z dostawcą SMS. |
taskSequence |
- Zarządzane: IResultObject- VBScript: SWbemObject |
Sekwencja zadań zawierająca akcję do usunięcia. |
actionName |
- Zarządzane: String- VBScript: String |
Nazwa akcji do usunięcia. Można go uzyskać na miejscu SMS_TaskSequenceAction.Name . |
Kompilowanie kodu
Ten przykład języka C# wymaga:
Przestrzenie nazw
System
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Montaż
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Wydajne programowanie
Aby uzyskać więcej informacji na temat obsługi błędów, zobacz Informacje o błędach programu Configuration Manager.
Zabezpieczenia platformy .NET Framework
Aby uzyskać więcej informacji na temat zabezpieczania aplikacji programu Configuration Manager, zobacz Administracja oparta na rolach programu Configuration Manager.
Zobacz też
Omówienie obiektówJak dodać akcję sekwencji zadań wdrażania systemu operacyjnego Jak nawiązaćpołączenie z dostawcą wiadomości SMS w programie Configuration Manager przy użyciu kodu zarządzanegoJak połączyć się z dostawcą wiadomości SMS w programie Configuration Manager przy użyciu usługi WMIOmówienie sekwencji zadań