Partager via


Découverte de profil DMTF par le biais d’une traversée d’association

Un composant clé de l’infrastructure WMI (Windows Management Instrumentation) est un modèle orienté objet des entités gérables dans un système. Le modèle est conforme à une norme gérée par le Groupe de travail de gestion des bureaux (DMTF) et est appelé Common Information Model (CIM). Certaines classes du modèle, telles que CIM_DataFile ou Win32_Process, correspondent directement aux entités gérables. D’autres classes du modèle, telles que Win32_SystemServices, représentent les relations entre les entités gérables. Ces classes de modélisation de relation sont appelées classes d’association.

À l’aide du langage de requête spécifique à WMI, WQL, vous pouvez récupérer des instances de classes qui représentent des entités gérables ou des instances de classes Association. Mais WQL est spécifique à l’implémentation. Il fonctionne uniquement avec l’implémentation Windows de la norme DMTF (WMI). En outre, la syntaxe WQL pour la récupération des classes Association est plutôt compliquée.

L’infrastructure Windows Remote Management (WinRM) offre un excellent moyen de tirer parti des fonctionnalités de WMI. Les premières versions de WinRM ont dû utiliser WQL pour récupérer des instances de classes Association. WinRM 2.0 inclut une nouvelle fonctionnalité appelée découverte de profil DMTF par le biais d’une traversée d’association. La traversée d’association permet à un utilisateur de WinRM de récupérer des instances de classes Association à l’aide d’un mécanisme de filtrage standard, le dialecte AssociationFilter, défini dans la spécification de liaison CIM DMTF. Pour plus d’informations sur la traversée d’association, consultez la spécification de liaison CIM WS-Management (Web Services Management).

L’utilitaire winrm fournit un mécanisme simple pour parcourir l’association appropriée et récupérer un profil d’appareil.

Détails de l’implémentation de la configuration

L’utilitaire winrm prend désormais en charge un dialecte pour la demande d’association. L’URI ou l’alias peuvent être spécifiés à l’aide de l’utilitaire winrm.

Alias URI
association https://www.dmtf.org/sites/default/files/standards/documents/DSP0227_1.0.0.pdf

 

Récupération d’instances d’une classe d’association à l’aide du dialecte AssociationFilter

L’utilitaire winrm peut récupérer des instances de classe d’association WMI d’une instance source particulière. La commande suivante montre comment utiliser l’utilitaire winrm pour récupérer des instances de classes d’association Win32_Service. Le commutateur « associations » doit être utilisé pour retourner des classes d’association.

winrm énumérer wmicimv2/* -dialect :association -associations -filter :{object=win32_service ?name=winrm ; resultclassname=win32_dependentservice ; role=dépendant}

L’extrait de code texte suivant est la sortie de la commande ci-dessus :

Win32_DependentService
    Antecedent
        Address = https://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
        ReferenceParameters
            ResourceURI = http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
            SelectorSet
                Selector: Name = RpcSs
    Dependent
        Address = https://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
        ReferenceParameters
            ResourceURI = http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
            SelectorSet
                Selector: Name = WinRM
    TypeOfDependency = null

Win32_DependentService
    Antecedent
        Address = https://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
        ReferenceParameters
            ResourceURI = http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_SystemDriver
            SelectorSet
                Selector: Name = HTTP
    Dependent
        Address = https://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
        ReferenceParameters
            ResourceURI = http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
            SelectorSet
                Selector: Name = WinRM
    TypeOfDependency = null

Récupération d’instances d’une classe associée à l’aide du dialecte AssociationFilter

L’utilitaire winrm peut récupérer des instances de classe WMI associées à une instance source particulière. La commande suivante montre comment utiliser l’utilitaire winrm pour récupérer des instances de Win32_Service classes associées.

winrm énumérer wmicimv2/* -dialect :association -filter :{object=win32_service ?name=winrm ; associationclassname=win32_dependentservice ; resultclassname=win32_service ; resultrole=antécédent ; role=dépendant}

L’extrait de code texte suivant est la sortie de la commande ci-dessus :

Win32_Service
    AcceptPause = false
    AcceptStop = false
    Caption = Remote Procedure Call (RPC)
    CheckPoint = 0
    CreationClassName = Win32_Service
    Description = The RPCSS service is the Service Control Manager for COM and DCOM servers. It performs object activations requests, object exporter resolutions and distributed garbage collection for COM and DCOM servers. If this service is stopped or disabled, programs using COM or DCOM will not function properly. It is strongly recommended that you have the RPCSS service running DesktopInteract = false
    DisplayName = Remote Procedure Call (RPC)
    ErrorControl = Normal
    ExitCode = 0
    InstallDate = null
    Name = RpcSs
    PathName = C:\Windows\system32\svchost.exe -k rpcss
    ProcessId = 716
    ServiceSpecificExitCode = 0
    ServiceType = Share Process
    Started = true
    StartMode = Auto
    StartName = NT AUTHORITY\NetworkService
    State = Running
    Status = OK
    SystemCreationClassName = Win32_ComputerSystem
    SystemName = myComputer
    TagId = 0
    WaitHint = 0