mofcomp
De Managed Object Format (MOF) compiler parseert een bestand met MOF-instructies en voegt de klassen en klasse-exemplaren die in het bestand zijn gedefinieerd, toe aan de WMI-opslagplaats. MOF-bestanden worden meestal automatisch gecompileerd tijdens de installatie van de systemen waarmee ze worden geleverd, maar u kunt ook MOF-bestanden compileren met behulp van dit hulpprogramma.
Zie WMI Management Tools gebruikenvoor meer informatie over het zoeken en gebruiken van mofcomp.exe. Zie de opdracht pragma deleteclass preprocessor voor meer informatie over het verwijderen van klassen en exemplaren uit de WMI-opslagplaats.
In het volgende codevoorbeeld ziet u hoe u de MOF-compiler uitvoert op een bestand.
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>
Switches
-
-autoherstel-
-
Voegt het benoemde MOF-bestand toe aan de lijst met bestanden die zijn gecompileerd tijdens het herstellen van de opslagplaats. De lijst met autoherstel-MOF-bestanden wordt opgeslagen in de registersleutel:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\
De MOF-bestanden die in deze registervermelding worden vermeld, moeten zich op de lokale computer bevinden omdat MOF-bestanden die gebruikmaken van de autoherstel opdracht MOF-bestanden op een externe computer niet kunnen herstellen.
Notitie
Als u ervoor wilt zorgen dat al uw WMI-klassedefinities voor beheerde objecten worden hersteld naar de WMI-opslagplaats als WMI een fout heeft en opnieuw wordt opgestart, gebruikt u de #pragma autoherstel-instructie preprocessorinstructie in uw MOF-bestand (Managed Object Format).
-
- controleren
-
Vraagt dat de compiler alleen een syntaxiscontrole uitvoert en de juiste foutberichten afdrukt. Er kan geen andere switch worden gebruikt met deze switch. Wanneer deze switch wordt gebruikt, wordt er geen verbinding met WMI (Windows Management Instrumentation) tot stand gebracht en worden er geen wijzigingen aangebracht in de WMI-opslagplaats.
-
-N:<naamruimtepad>
- Vraagt of de compiler het MOF-bestand in de naamruimte laadt die is opgegeven als *namespacepath*. De gecompileerde MOF wordt geladen in de standaard Mofcomp-naamruimte, root\\default, tenzij deze switch wordt gebruikt. U kunt ook de preprocessoropdracht **\#pragma naamruimte ("**naamruimtepad**")** invoegen in het MOF-bestand om hetzelfde effect te bereiken. Als zowel de schakeloptie **-N:** als de \#pragma-naamruimte opdracht worden gebruikt, heeft \#**pragma-naamruimte** **autoherstel** prioriteit. In dit geval kunt u de MOF alleen compileren in een andere naamruimte door het MOF-bestand te bewerken en de opdracht \#**pragma namespace** te wijzigen. Een externe computer kan worden opgegeven met \\\\machinename\\root\\default.
-
-class:createonly-
-
Aanvragen dat de compiler geen wijzigingen aanbrengt in bestaande klassen. Wanneer deze schakeloptie wordt gebruikt, wordt de compileerbewerking beëindigd als er al een klasse bestaat die is opgegeven in het MOF-bestand.
-
-class:forceupdate
-
Dwingt updates van klassen af wanneer er conflicterende onderliggende klassen bestaan. Stel dat een klassekwalificatie is gedefinieerd in een onderliggende klasse en dat de basisklasse dezelfde kwalificatie probeert toe te voegen. In -class:forceupdate-modus lost de MOF-compiler dit conflict op door de conflicterende kwalificatie in de onderliggende klasse te verwijderen. Als de onderliggende klasse exemplaren heeft, mislukt de geforceerde update.
-
-class:safeupdate
-
Staat updates van klassen toe, zelfs als er onderliggende klassen zijn, zolang de wijziging geen conflicten veroorzaakt met onderliggende klassen. Met deze vlag kunt u bijvoorbeeld een nieuwe eigenschap toevoegen aan de basisklasse die niet eerder is vermeld in onderliggende klassen. Als de onderliggende klassen exemplaren hebben, mislukt de update.
-
-class:updateonly
-
Hiermee wordt aangevraagd dat de compiler geen nieuwe klassen maakt. Wanneer deze schakeloptie wordt gebruikt, wordt de compileerbewerking beëindigd als er geen klasse bestaat die is opgegeven in het MOF-bestand.
-
-instance:updateonly
-
Vraagt of de compiler geen nieuwe exemplaren maakt. Wanneer deze schakeloptie wordt gebruikt, wordt de compileerbewerking beëindigd als er geen exemplaar bestaat dat is opgegeven in het MOF-bestand.
-
-instance:createonly
-
Aanvragen dat de compiler geen wijzigingen aanbrengt in bestaande exemplaren. Wanneer deze schakeloptie wordt gebruikt, wordt de compileerbewerking beëindigd als er al een exemplaar bestaat dat is opgegeven in het MOF-bestand.
-
-B:<bestandsnaam>
-
Vraagt of de compiler een binaire versie van het MOF-bestand maakt met de naam bestandsnaam zonder wijzigingen aan te brengen in de WMI-opslagplaats.
Als u de -B:<bestandsnaam> optie voor het maken van een binair MOF-bestand gebruikt, worden alleen standaardkwalificaties opgeslagen in de WMI-opslagplaats.
Binaire MOF-indeling is de tussenliggende indeling voor het combineren van een WDM-stuurprogramma met de MOF als resource. Het binaire MOF vertegenwoordigt klassen en exemplaren, net zoals een MOF-bestand dat doet en wordt gecomprimeerd voordat het op schijf wordt opgeslagen.
-
-WMI-
-
Vraagt of de compiler een WMI-syntaxiscontrole uitvoert. De -B: schakelaar moet worden gebruikt met deze schakelaar. De -WMI switch wordt alleen gebruikt voor het bouwen van binaire MOF-bestanden voor gebruik door WDM-apparaatstuurprogramma's. Met deze schakeloptie wordt een afzonderlijke binaire MOF-bestandscontrole aangeroepen, die wordt uitgevoerd nadat het binaire MOF-bestand is gemaakt.
-
-P:<Wachtwoord>
-
Hiermee geeft u wachtwoord als het wachtwoord dat de computergebruiker moet invoeren bij het aanmelden.
-
-U: gebruikersnaam<>
-
Hiermee geeft u UserName op als de naam van de gebruiker die zich aanmeldt.
-
-A:<Autoriteit>
-
Hiermee geeft u Authority als de instantie (domeinnaam) die moet worden gebruikt wanneer u zich aanmeldt bij WMI.
-
-MOF:<pad>
-
Naam van de taalneutrale uitvoer. Wordt gebruikt met de schakeloptie -AMENDMENT om de naam op te geven van het taalneutraal MOF-bestand dat wordt gegenereerd.
-
-MFL:<pad>
-
Naam van de taalspecifieke uitvoer. Wordt gebruikt met de schakeloptie -AMENDMENT om de naam op te geven van het taalspecifieke MOF-bestand dat wordt gegenereerd.
-
-AMENDEMENT:<landinstellingen>
-
Splitst het MOF-bestand in taalneutraal en -specific versies. De MOF-compiler maakt een taalneutrale vorm van het MOF-bestand waarop alle gewijzigde kwalificaties zijn verwijderd. Er wordt ook een gelokaliseerde versie van het MOF-bestand gemaakt met een MFL-bestandsnaamextensie. De parameter Landinstelling geeft de naam op van de onderliggende naamruimte die de gelokaliseerde klassedefinities bevat. De notatie van de parameter Locale is MS_xxx waarbij xxx de hexadecimale waarde van de Windows LCID is. De landinstelling voor Amerikaans Engels is bijvoorbeeld MS_409.
-
-ER <ResourceName->
-
Extraheert binaire MOF uit een benoemde resource. Met deze switch wordt de binaire MOF opgehaald uit de klasse in de WMI-opslagplaats terwijl de -B switch de binaire MOF-indeling maakt op basis van een MOF-bestand.
-
-L:<ResourceLocale->
-
Facultatief. Extraheert de gelokaliseerde MOF-beschrijvingen uit het binaire MOF bij gebruik met -ER switch.
-
< MOFfile->
-
De naam van het bestand dat moet worden geparseerd.
Retourwaarden
Als eerste bewerking voert de MOF-compiler een syntaxiscontrole uit op het MOF-bestand. Als de compiler fouten vindt, wordt er een foutbericht afgedrukt en wordt het proces beëindigd.
De MOF-compiler kan de volgende waarden retourneren:
-
0
-
De MOF-compileerbewerking is geslaagd.
-
1
-
De MOF-compiler kan geen verbinding maken met de WMI-server. Dit komt door een semantische fout, zoals een incompatibiliteit met de bestaande WMI-opslagplaats of een werkelijke fout, zoals de fout van de WMI-server die moet worden gestart.
-
2
-
Een of meer opdrachtregelopties waren ongeldig.
-
3
-
Er is een MOF-syntaxisfout opgetreden.
Als het MOF-bestand correct wordt geparseerd, maar er wordt geprobeerd een bewerking uit te voeren die niet is toegestaan door een opdrachtregelswitch, retourneert de compiler een foutcode die door WMI wordt gegenereerd in plaats van een van de retourcodes die in de voorgaande lijst worden vermeld. Er wordt bijvoorbeeld een WMI-foutcode geretourneerd wanneer de -instance:updateonly switch is opgegeven en het MOF-bestand probeert een exemplaar te maken.
Als de #pragma autoherstel-instructie preprocessor niet in het bestand staat, wordt de volgende waarschuwing geretourneerd:
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.
Opmerkingen
De MOF-compiler is beschikbaar in de map %Windir%\System32\wbem. U moet het MOF-bestand opgeven als de parameter van de MOF-compiler. U kunt ook een AutoHerstel-switch opgeven als u wilt dat het MOF-bestand automatisch opnieuw wordt gecompileerd als de CIM-opslagplaats ooit automatisch moet worden hersteld. Typ Mofcomp /? voor meer informatie bij de opdrachtprompt.
Een MOF-bestand dat gebruikmaakt van de Unicode-tekenset bevat een handtekening als de eerste twee bytes van het bestand. Deze handtekening is U+FFFE of U+FEFF, afhankelijk van de bytevolgorde van het bestand.
Wanneer er geen fouten optreden in het parseringsproces, maakt de MOF-compiler verbinding met de WMI-server die wordt uitgevoerd op de lokale computer, tenzij de -check switch is opgegeven. Klassen en exemplaren die zijn gedefinieerd in het MOF-bestand, worden toegevoegd aan de WMI-opslagplaats.
Wanneer er een fout optreedt bij het bijwerken van de WMI-opslagplaats, probeert de compiler de opslagplaats niet terug te sturen naar de status ervan voordat de compiler begint met verwerken.
Windows 8: Bij het installeren van een provider behandelt mofcomp de kwalificaties [Sleutel] en [Statisch] als waar als ze aanwezig zijn, ongeacht hun werkelijke waarden. Andere kwalificaties worden behandeld als onwaar als ze aanwezig zijn, maar niet expliciet zijn ingesteld op waar.
Eisen
Eis | Waarde |
---|---|
Minimaal ondersteunde client |
Windows Vista |
Minimaal ondersteunde server |
Windows Server 2008 |