Udostępnij za pośrednictwem


mofcomp

Kompilator Managed Object Format (MOF) analizuje plik zawierający instrukcje MOF i dodaje klasy i wystąpienia klas zdefiniowane w pliku do repozytorium usługi WMI. Pliki MOF są zwykle automatycznie kompilowane podczas instalacji systemów, z którymi są dostarczane, ale można również skompilować pliki MOF przy użyciu tego narzędzia.

Aby uzyskać więcej informacji na temat lokalizowania i używania mofcomp.exe, zobacz Using WMI Management Tools. Aby uzyskać informacje na temat usuwania klas i wystąpień z repozytorium WMI, zobacz pragma deleteclass preprocesor polecenia.

W poniższym przykładzie kodu pokazano, jak uruchomić kompilator MOF w pliku.

mofcomp
  [-autorecover]
  [-check]
  [-N:<namespacepath>]
  [-class:createonly | -class:forceupdate | 
   -class:safeupdate | -class:updateonly ] 
  [-instance:updateonly | -instance:createonly]
  [-B:<filename>]
  [-WMI]
  [-P:<Password>]
  [-U:<UserName>]
  [-A:<Authority>]
  [-MOF:<path>] 
  [-MFL:<path>] 
  [-AMENDMENT:<Locale>]
  [-ER:<ResourceName>]
  [-L:<ResourceLocale>] 
  <MOFfile>

Przełączniki

-autorecover

Dodaje nazwany plik MOF do listy plików skompilowanych podczas odzyskiwania repozytorium. Lista plików MOF autorecover jest przechowywana w kluczu rejestru:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\

Pliki MOF wymienione w tym wpisie rejestru muszą znajdować się na komputerze lokalnym, ponieważ pliki MOF korzystające z autorecover polecenia nie mogą odzyskać plików MOF znajdujących się na komputerze zdalnym.

Nuta

Aby upewnić się, że wszystkie definicje klas WMI dla obiektów zarządzanych zostaną przywrócone do repozytorium usługi WMI, jeśli w usłudze WMI wystąpi awaria i ponowne uruchomienie, użyj instrukcji #pragma autorecover preprocesora w pliku Managed Object Format (MOF).

— sprawdź

Żądań, aby kompilator sprawdzał składnię tylko i wyświetlał odpowiednie komunikaty o błędach. Z tym przełącznikiem nie można używać żadnego innego przełącznika. Gdy ten przełącznik jest używany, nie zostanie nawiązane żadne połączenie z instrumentacją zarządzania Windows (WMI) i nie zostaną wprowadzone żadne modyfikacje w repozytorium WMI.

-N: ścieżka przestrzeni nazw<>

Żąda, aby kompilator załadował plik MOF do przestrzeni nazw określonej jako *ścieżka przestrzeni nazw*. Skompilowany plik MOF jest ładowany do domyślnej przestrzeni nazw Mofcomp, root\\default, chyba że ten przełącznik jest używany. Możesz również wstawić polecenie preprocesora **\#pragma przestrzeni nazw ("***ścieżka przestrzeni nazw***")** w pliku MOF, aby osiągnąć ten sam efekt. Jeśli używany jest przełącznik **-N:** i \#przestrzeń nazw pragma, \#**pragma namespace** **autorecover** przyjmuje priorytet. W takim przypadku jedynym sposobem skompilowania moF do innej przestrzeni nazw jest edytowanie pliku MOF i zmiana polecenia \#**pragma namespace**. Komputer zdalny można określić przy użyciu \\\\machinename\\root\\default.

-class:createonly

Żąda, aby kompilator nie wprowadzał żadnych zmian w istniejących klasach. Gdy ten przełącznik jest używany, operacja kompilowania kończy się, jeśli klasa określona w pliku MOF już istnieje.

-class:forceupdate

Wymusza aktualizacje klas, gdy istnieją klasy podrzędne powodujące konflikt. Załóżmy na przykład, że kwalifikator klasy jest zdefiniowany w klasie podrzędnej, a klasa bazowa próbuje dodać ten sam kwalifikator. W trybie -class:forceupdate kompilator MOF rozwiązuje ten konflikt, usuwając kwalifikator powodujący konflikt w klasie podrzędnej. Jeśli klasa podrzędna ma wystąpienia, wymuszona aktualizacja zakończy się niepowodzeniem.

-class:safeupdate

Umożliwia aktualizacje klas, nawet jeśli istnieją klasy podrzędne, o ile zmiana nie powoduje konfliktów z klasami podrzędnymi. Na przykład ta flaga umożliwia dodanie nowej właściwości do klasy bazowej, która nie została wcześniej wymieniona w klasach podrzędnych. Jeśli klasy podrzędne mają wystąpienia, aktualizacja zakończy się niepowodzeniem.

-class:updateonly

Żąda, aby kompilator nie tworzył żadnych nowych klas. Gdy ten przełącznik jest używany, operacja kompilowania kończy się, jeśli klasa określona w pliku MOF nie istnieje.

-instance:updateonly

Żąda, aby kompilator nie tworzył żadnych nowych wystąpień. Gdy ten przełącznik jest używany, operacja kompilowania kończy się, jeśli wystąpienie określone w pliku MOF nie istnieje.

-instance:createonly

Żąda, aby kompilator nie wprowadzał żadnych zmian w istniejących wystąpieniach. Gdy ten przełącznik jest używany, operacja kompilowania kończy się, jeśli wystąpienie określone w pliku MOF już istnieje.

-B: nazwa pliku<>

Żąda, aby kompilator utworzył binarną wersję pliku MOF o nazwie nazwa pliku bez wprowadzania żadnych modyfikacji w repozytorium WMI.

Jeśli używasz pliku -B:<nazwa pliku>, aby utworzyć binarny plik MOF, w repozytorium WMI są przechowywane tylko domyślne smaki kwalifikatora.

Binarny format MOF jest formatem pośrednim do łączenia sterownika WDM z moF jako zasobu. Binarny moF reprezentuje klasy i wystąpienia tak samo jak plik MOF tekstu i jest kompresowany przed jego zapisaniem na dysku.

-WMI

Żądania, które kompilator wykonuje sprawdzanie składni usługi WMI. Przełącznik -B: musi być używany z tym przełącznikiem. Przełącznik -WMI służy tylko do tworzenia binarnych plików MOF do użytku przez sterowniki urządzeń WDM. Ten przełącznik wywołuje oddzielny binarny kontroler plików MOF, który jest uruchamiany po utworzeniu binarnego pliku MOF.

-P:<hasło>

Określa hasło jako hasło dla użytkownika komputera, które należy wprowadzić podczas logowania.

-U:<UserName>

Określa UserName jako nazwę logowania użytkownika.

-A:<Authority>

Określa urząd jako urząd (nazwa domeny), który ma być używany podczas logowania się do usługi WMI.

-MOF: ścieżka<>

Nazwa danych wyjściowych neutralnego języka. Używany z przełącznikiem -POPRAWKA, aby określić nazwę pliku MOF neutralnego dla języka, który zostanie wygenerowany.

-MFL: ścieżka<>

Nazwa danych wyjściowych specyficznych dla języka. Używany z przełącznikiem -POPRAWKA, aby określić nazwę pliku MOF specyficznego dla języka, który zostanie wygenerowany.

- POPRAWKA:<ustawienia regionalne>

Dzieli plik MOF na wersje neutralne dla języka i -specific. Kompilator MOF tworzy neutralną dla języka formę pliku MOF, który został usunięty ze wszystkich zmienionych kwalifikatorów. Zlokalizowana wersja pliku MOF jest również tworzona z rozszerzeniem nazwy pliku MFL. Parametr ustawień regionalnych określa nazwę podrzędnej przestrzeni nazw zawierającej zlokalizowane definicje klas. Format parametru ustawień regionalnych jest MS_xxx, gdzie xxx to wartość szesnastkowa identyfikatora LCID systemu Windows. Na przykład ustawienia regionalne dla amerykańskiego języka angielskiego to MS_409.

-ER <ResourceName>

Wyodrębnia binarny moF z nazwanego zasobu. Ten przełącznik pobiera binarny moF z klasy w repozytorium WMI, podczas gdy przełącznik -B tworzy binarny format MOF z pliku MOF.

-L:<ResourceLocale>

Fakultatywny. Wyodrębnia zlokalizowane opisy MOF z binarnego MOF używanego z przełącznikiem -ER.

> MOFfile <

Nazwa pliku do przeanalizowana.

Zwracane wartości

Jako pierwsza operacja kompilator MOF przeprowadza sprawdzanie składni w pliku MOF. Jeśli kompilator znajdzie jakiekolwiek błędy, zostanie wyświetlony komunikat o błędzie i proces zakończy się.

Kompilator MOF może zwrócić następujące wartości:

0

Operacja kompilowania MOF zakończyła się pomyślnie.

1

Kompilator MOF nie mógł nawiązać połączenia z serwerem WMI. Jest to spowodowane błędem semantycznym, takim jak niezgodność z istniejącym repozytorium usługi WMI lub rzeczywisty błąd, taki jak niepowodzenie uruchomienia serwera WMI.

2

Co najmniej jeden przełącznik wiersza polecenia był nieprawidłowy.

3

Wystąpił błąd składni MOF.

Jeśli plik MOF jest poprawnie analizowany, ale podjęto próbę wykonania operacji zabronionej przez przełącznik wiersza polecenia, kompilator zwraca kod błędu wygenerowany przez usługę WMI zamiast dowolnego z kodów zwracanych wymienionych na powyższej liście. Na przykład kod błędu usługi WMI jest zwracany, gdy określono przełącznik -instance:updateonly, a plik MOF próbuje utworzyć wystąpienie.

Jeśli instrukcja preprocesora#pragma autorecover nie znajduje się w pliku, zostanie zwrócone następujące ostrzeżenie:

WARNING: FileYourMof.Mof does not contain #PRAGMA AUTORECOVER.
If the WMI repository is rebuilt in the future, the contents of this 
MOF file   will not be included in the new WMI repository.
To include this MOF file when the WMI Repository is automatically 
reconstructed, place the #PRAGMA AUTORECOVER statement on the first 
line of the MOF file.

Uwagi

Kompilator MOF jest dostępny w katalogu %Windir%\System32\wbem. Należy określić plik MOF jako parametr kompilatora MOF. Możesz również określić przełącznik Autorecover, jeśli plik MOF ma być automatycznie ponownie skompilowany, jeśli repozytorium CIM kiedykolwiek musi zostać automatycznie odzyskane. Aby uzyskać więcej informacji, wpisz Mofcomp /? w wierszu polecenia.

Plik MOF, który używa zestawu znaków Unicode, zawiera podpis jako pierwsze dwa bajty pliku. Ten podpis to U+FFFE lub U+FEFF, w zależności od kolejności bajtów pliku.

Jeśli w procesie analizowania nie wystąpią żadne błędy, kompilator MOF łączy się z serwerem WMI uruchomionym na komputerze lokalnym, chyba że określono przełącznik -check. Klasy i wystąpienia zdefiniowane w pliku MOF są dodawane do repozytorium WMI.

Gdy wystąpi błąd podczas aktualizowania repozytorium WMI, kompilator nie próbuje przywrócić repozytorium do stanu przed rozpoczęciem przetwarzania kompilatora.

Windows 8: Podczas instalowania dostawcy mofcomp traktuje kwalifikatory [Key] i [Static] tak, jakby były obecne, niezależnie od ich rzeczywistych wartości. Inne kwalifikatory są traktowane jako fałszywe, jeśli są obecne, ale nie są jawnie ustawione na wartość true.

Wymagania

Wymaganie Wartość
Minimalny obsługiwany klient
Windows Vista
Minimalny obsługiwany serwer
Windows Server 2008

Zobacz też

przestrzeni nazw pragma

kompilowanie plików MOF

kompilowanie zlokalizowanych plików MOF

rejestrowanie dostawcy

IMOFCompiler::CompileFile