Informacje o Configuration Manager niestandardowych plikach MOF akcji
W Configuration Manager akcje wdrażania systemu operacyjnego są definiowane w pliku MOF (Managed Object Format), %ProgramFiles%\Microsoft Configuration Manager\bin\i386\_tasksequenceprovider.mof.
Podczas tworzenia akcji niestandardowej należy utworzyć plik MOF, który deklaruje akcję niestandardową. Następnie użyjesz Mofcomp.exe, aby dodać zmiany do dostawcy programu SMS. Aby uzyskać więcej informacji, zobacz How to Create a MOF File for a Configuration Manager Custom Action (Jak utworzyć plik MOF dla Configuration Manager akcji niestandardowej).
Administrator konfiguruje akcję niestandardową zgodnie z definicją w pliku MOF przy użyciu niestandardowej kontrolki akcji. Aby uzyskać więcej informacji, zobacz Informacje o Configuration Manager akcjach niestandardowych.
Zawartość pliku MOF
Akcja niestandardowa pochodzi z klasy WMI serwera SMS_TaskSequence_Action. Deklaracja pliku MOF zawiera definicję klasy i różne kwalifikatory dla wiersza polecenia, zmiennych sekwencji zadań, kategorii i niestandardowej lokalizacji zestawu kontrolki akcji.
Właściwości zadeklarowane w klasie, z wyjątkiem właściwości z CommandLineArg
kwalifikatorem, są dostępne jako zmienne sekwencji zadań podczas wdrażania klienta. Aby uzyskać więcej informacji, zobacz How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence (Jak używać zmiennych sekwencji zadań w uruchomionej sekwencji zadań Configuration Manager).
Przestrzeń nazw akcji niestandardowej to \\root\SMS_Site_SITECODE. Po skompilowaniu pliku MOF akcja niestandardowa jest podrzędna klasy WMI serwera SMS_TaskSequence_Action.
Uwaga
Aby uzyskać przykład mof, zobacz akcję sekwencji zadań MOF zadeklarowaną w pliku _tasksequenceprovider.mof.
Sekcja pliku MOF dla deklaracji akcji niestandardowej będzie wyglądać podobnie do następującego przykładu:
[ CommandLine("smsswd.exe /run:%1 Application.exe /user:%2"),
VariablePrefix("MyCustomActionPrefix"),
ActionCategory("My Custom Action Category,7,1"),
ActionName{"ConfigMgrTSAction.dll", "ConfigMgrTSAction.Properties.Resources", "ConfigMgrTSAction"},
ActionUI{"ConfigMgrTSAction.dll", "ConfigMgrTSAction","ConfigMgrTSActionControl",
"ConfigureTSActionOptions"}
]
class ConfigMgrTSActionControl : SMS_TaskSequence_Action
{
[TaskSequencePackage, CommandLineArg(1)]
string PackageIDForApplicationExe;
[Not_Null, CommandLineArg(2)]
string User;
[VariableName("CustomLocation")]
string Location;
};
Kompletny plik MOF określa również przestrzeń nazw i inne informacje,
Aby uzyskać pełną dokumentację mof dla tego przykładu, zobacz How to Create a MOF File for a Configuration Manager Custom Action (Jak utworzyć plik MOF dla Configuration Manager akcji niestandardowej).
Wiersz polecenia
Wiersz polecenia akcji jest opisany w kwalifikatorze CommandLine
klasy. Definiuje ona wywoływana aplikację i różne argumenty, które można dostarczyć. Dla każdego argumentu wiersza polecenia istnieje CommandLineArg
kwalifikator klasy dla argumentu dla odpowiedniej właściwości klasy.
CommandLine
zazwyczaj przyjmuje formularz:
CommandLine("smsswd.exe /run:%1 Application.exe %2 %3")
Smsswd.exe jest używany do uruchamiania programu w pakiecie. Wymaga to następujących argumentów:
Argument | Opis |
---|---|
/run:%1 | Identyfikuje pakiet, w ramach który znajduje się aplikacja. %1 to identyfikator pakietu (właściwość klasy WMIPackageID serwera SMS_Package). |
Application.exe | Aplikacja akcji niestandardowej, która jest wykonywana. |
%2 — %n | Co najmniej jeden argument wiersza polecenia dla Application.exe. |
Ciągi podstawiania wiersza polecenia% 1, %2 i tak dalej są definiowane przez CommandLineArg
kwalifikator klas. Na przykład poniższa deklaracja to %1.
[TaskSequencePackage, CommandLineArg(1)]
string PackageIDForApplicationExe;
Kontrolka akcji niestandardowej PackageIDForApplicationExe
służy do konfigurowania identyfikatora pakietu za pomocą właściwości .
Uwaga
Właściwości zadeklarowane przy użyciu kwalifikatora CommandLineArg
nie są dostępne jako zmienne sekwencji zadań podczas wdrażania klienta.
Kategoria akcji
Akcję można skojarzyć z określoną kategorią w menu rozwijanym edytora sekwencji zadań przy użyciu kwalifikatora ActionCategory
klasy.
Uwaga
Nie używaj kategorii, która jest już używana przez inną akcję.
Składnia to:
ActionCategory{CategoryName,ActionOrder,CategoryOrder}
CategoryName
Nazwa kategorii.
ActionOrder
Kolejność akcji w kategorii.
CategoryOrder
Kolejność kategorii we wszystkich kategoriach.
Domyślne Configuration Manager kategorie, do których można dodać akcję:
Ogólne
Dysków
Stan użytkowników
Obrazów
Sterowniki
Ustawienia
Możesz również utworzyć nową kategorię, określając nową kategorię w kwalifikatorze
ActionCategory
klas. Na przykład poniższy plik MOF tworzy nową kategorię o nazwie Moja kategoria niestandardowa. Akcja zajmuje drugie miejsce w kategorii, a kategoria zajmuje piąte miejsce w klasyfikacji generalnej.ActionCategory{"My Custom Category",2,5"},
ActionName
Kwalifikator ActionName
klasy definiuje nazwę kontrolki akcji niestandardowej. Kwalifikator ma następującą składnię:
ActionName{"Assembly", "Namespace.Properties.Resources", "Control"}
Assembly
Zestaw zawierający kontrolkę akcji.
Namespace.Properties.Resources
Przestrzeń nazw zasobu zawierającego wyświetlane ciągi nazw akcji. Aby uzyskać więcej informacji, zobacz How to Create a Configuration Manager Custom Action Control (Jak utworzyć Configuration Manager niestandardowej kontrolki akcji).
Control
Kontrolka zawierająca zasoby ciągu.
Interfejs użytkownika akcji
Kwalifikator ActionUI
klasy definiuje lokalizację zestawu i klas używanych przez akcję. Kwalifikator ma następującą składnię:
ActionUI{"Assembly","Namespace", "Control", "Option control"}
Assembly
Zestaw zawierający kontrolkę akcji.
Namespace
Przestrzeń nazw, w której znajduje się kontrolka akcji.
Control
Kontrolka akcji wyświetlana w edytorze sekwencji zadań. Hostuje stronę kontrolki opcji.
Option control
Strona używana do zarządzania opcjami akcji w edytorze sekwencji zadań.
Wiele kart kontrolek można zaimplementować, dołączając więcej nazw klas kontroli rozdzielonych przecinkami. Przykład:
ActionUI{"Assembly","Namespace", "Control1", "Control2", "Control3", "Option control"}
Zmienne akcji
Kwalifikator VariableName
służy do zastępowania domyślnej nazwy zmiennej właściwości.
Właściwość klasy można zdefiniować jako zmienną sekwencji zadań, dodając VariableName
kwalifikator klasy. W powyższym przykładzie właściwość MessageTimeout
jest zmienną akcji o nazwie RebootTimeout
.
VariablePrefix
Jeśli jest używany kwalifikator klasy, zmienne są poprzedzone wartością kwalifikatora klasy.
Aby uzyskać więcej informacji na temat użycia zmiennych, zobacz How to Use Task Sequence Variables in a Running Configuration Manager Task Sequence (Jak używać zmiennych sekwencji zadań w sekwencji zadań uruchomionej Configuration Manager)
Właściwości
Kwalifikatory
Istnieje kilka kwalifikatorów, które można zastosować do właściwości MOF. Często używane są następujące elementy:
Kwalifikator | Opis |
---|---|
CommandLineArg | Właściwość, która powinna zostać wstawiona w wierszu polecenia |
Not_null | Dla tej właściwości jest wymagana wartość. |
Mapa wartości | Określa listę dozwolonych wartości ciągu. |
ValueRange | Określa zakres dozwolonych wartości (pola int). |
RequiredIfNull | Wartość jest wymagana dla tej właściwości, jeśli inna właściwość ma wartość null. |
TaskSequencePackage | Identyfikuje właściwość jako identyfikator pakietu. |
Variablename | Określa inną nazwę właściwości w środowisku sekwencji zadań. |
AllowedLen | Określa minimalną i maksymalną liczbę znaków w ciągu. |
SuccessCodes | Określa co najmniej jeden kod zwracany z pliku wykonywalnego, który wskazuje na powodzenie. |
Ograniczenia
Regularne ograniczenia kwalifikatora mogą być stosowane do właściwości klasy. Na przykład w powyższym przykładzie argumentami wiersza polecenia nie może być
null
. Aby uzyskać więcej informacji, zobacz Zestaw SDK instrumentacji zarządzania windows (WMI).Upewnij się, że nazwy właściwości i kwalifikatory są synchronizowane między plikiem MOF, niestandardową kontrolą akcji i aplikacją kliencką. Nazwy właściwości muszą być zgodne, a także wszelkie ograniczenia. Jeśli na przykład
int
właściwość jest wymagana i musi znajdować się w zakresie od 1 do 512, plik MOF powinien miećNot_Null
kwalifikator iValueRange
, kontrolka niestandardowa powinna upewnić się, że właściwość jest ustawiona i znajduje się w zakresie, a aplikacja kliencka powinna zweryfikować wartość przed jej użyciem.
Zobacz też
Informacje o Configuration Manager akcjach niestandardowych
How to Create a Configuration Manager Custom Action Control (Jak utworzyć kontrolkę akcji niestandardowej Configuration Manager)
Jak utworzyć plik MOF dla Configuration Manager akcji niestandardowej
Jak używać zmiennych sekwencji zadań w uruchomionej sekwencji zadań Configuration Manager
Informacje o Configuration Manager niestandardowych aplikacji klienckich akcji