Hiërarchieën maken binnen WMI
WMI-naamruimte is een programmeerobject dat het bereik voor een set klassen en exemplaren definieert. WMI-providerklassen moeten worden gedefinieerd in een naamruimte.
Naamruimten beschrijven verschillende beheerde omgevingen, zoals de SMS-omgeving. Omdat de klassen en exemplaren van een schema de onderdelen van een beheerde omgeving definiëren, vereist elk nieuw schema een nieuwe naamruimte. De hoofdnaamruimte\cimv2 bevat bijvoorbeeld de klassen en exemplaren die zijn gedefinieerd in het Win32-schema, evenals de bovenliggende CIM-klassen (Common Information Model) waaruit het Win32-schema overneemt. CIM-klassen worden gedefinieerd door de Distributed Management Task Force (DMTF-).
Notitie
Als u ervoor wilt zorgen dat alle 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).
WMI definieert een naamruimte als een exemplaar van de __Namespace systeemklasse of een klasse die is afgeleid van __Namespace. De systeemklasse __Namespace heeft één eigenschap met de naam Name, die uniek moet zijn binnen het bereik van de bovenliggende naamruimte. De eigenschap Name moet ook een tekenreeks bevatten die begint met een letter. Alle andere tekens in de tekenreeks kunnen letters, cijfers of onderstrepingstekens zijn. Alle tekens zijn niet hoofdlettergevoelig.
Naast het bepalen van de unieke naam voor een onderliggende naamruimte, kan de bovenliggende WMI-naamruimte de statische exemplaren van uw klassen beschermen tegen onbedoelde wijziging door andere providers. Het is bijvoorbeeld handig om een nieuwe naamruimte te nesten onder een bestaande naamruimte voor een andere provider. De oorspronkelijke provider kan echter proberen alle klasse-exemplaren bij te werken zodat deze overeenkomen met een nieuw schema. Hierdoor kan de oorspronkelijke provider alle subeenheden in een naamruimte verwijderen. Hoewel dit mogelijk een geschikte actie is voor de doelnaamruimte, kan dit van invloed zijn op niet-gerelateerde klasse-exemplaren in een onderliggende naamruimte (dat wil zeggen uw eigen providerklassen).
Daarom wordt het over het algemeen aanbevolen dat u uw naamruimte maakt en registreert als gescheiden van naamruimten die u niet rechtstreeks beheert. Dit geldt met name als uw klassen alleen zijn afgeleid van algemene CIM-klassen of andere klassen van uw bedrijf. Uw naamruimte kan zich onder de hoofdnaamruimte bevinden, zoals:
Root/myCompany/myProduct
Als uw nieuwe klasse daarentegen is afgeleid van de klasse van een andere provider, moet u mogelijk uw klasse opslaan in een subnaamruimte van die provider. Houd er rekening mee dat uw nieuwe klasse wordt blootgesteld aan onbedoelde verwijdering door de oorspronkelijke provider.
WMI biedt verschillende manieren om een naamruimte te maken:
- Een subnaamruimte maken met behulp van MOF-code
- Een gelijkwaardige namespace creëren met MOF-code
- Een naamruimte maken met de WMI-API
Verwante onderwerpen