Comment interrogez-vous les espaces de noms WMI?
Je sais donc des espaces de noms WMI parce que je lis qu'ils sortent et je sais que je peux me connecter à dire: p> Ma question est de savoir si je ne savais pas quels espaces de noms étaient là, comment allez-y interrogé pour les espaces de noms disponibles? P> Je veux juste avoir envie d'explorer le WMI et de ne pas avoir à rechercher chaque Espace de noms. P> J'utilise WBemTest, mais je prendrai n'importe quoi ,.NET, Winapi.h, qu'avez-vous? P> P>
6 Réponses :
Pour énumérer tous les espaces de noms, vous devez d'abord vous connecter à l'espace de noms code> root code> de la requête pour tous les instances code> __ __ __ __ __, et pour chaque instance répéter récursivement ce processus.
Vérifiez ces échantillons p>
delphi strong> p> vbscript strong> p>
Je comprends que vous avez eu votre réponse, mais je voulais montrer à quel point il est facile de trouver une liste d'espaces de noms:
Pour répertorier tout l'espace de noms Nom code> Valeurs de la propriété pour tous les espaces de noms (racine) pour un serveur nommé serveur em> in c # (dans linqpad ):
ManagementClass nsClass =
new ManagementClass(
new ManagementScope(@"\\server\root"),
new ManagementPath("__namespace"),
null);
foreach(ManagementObject ns in nsClass.GetInstances())
{
ns["Name"].Dump();
}
pour Python (avec les extensions requises WMI et PYWIN32 installées):
import wmi c = wmi.WMI (moniker='//./root') wql = "SELECT * FROM __NAMESPACE" for __NAMESPACE in c.query(wql): print __NAMESPACE.Name
Utiliser Ceci fonctionne également pour Windows Nano Server P> get-cimininstance -query "Sélectionnez * à partir de __namespace" -Namespace "root" code> de PowerShell. P>
Vous pouvez utiliser vbscript strud> pour obtenir tous les espaces de noms code> à partir de voici le script d'échantillon em> p> sortie attendue em> p> root code>.