Verificamos exhaustivamente cada artículo en nuestra página web con la meta de enseñarte siempre la información con la mayor veracidad y actual.
Solución:
En la línea del enfoque de Keith
using System;
using System.Management.Automation;
namespace ConsoleApplication1
class Program
static void Main(string[] args)
Foreach $_.Name
";
var powerShell = PowerShell.Create();
powerShell.AddScript(script);
foreach (var className in powerShell.Invoke())
Console.WriteLine(className);
No estoy seguro de por qué mencionó PowerShell; puede hacer esto en C# puro y WMI (el System.Management
espacio de nombres, eso es).
Para obtener una lista de todas las clases de WMI, utilice el SELECT * FROM Meta_Class
consulta:
using System.Management;
...
try
EnumerationOptions options = new EnumerationOptions();
options.ReturnImmediately = true;
options.Rewindable = false;
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\cimv2", "SELECT * FROM Meta_Class", options);
ManagementObjectCollection classes = searcher.Get();
foreach (ManagementClass cls in classes)
Console.WriteLine(cls.ClassPath.ClassName);
catch (ManagementException exception)
Console.WriteLine(exception.Message);
Solo tenga en cuenta que hay una herramienta disponible que le permite crear, ejecutar y guardar secuencias de comandos WMI escritas en PowerShell, la herramienta PowerShell Scriptomatic, disponible para descargar desde el sitio de Microsoft TechNet.
Con esta herramienta, puede explorar todas las clases de WMI dentro de rootCIMV2 o cualquier otro espacio de nombres de WMI.
No se te olvide comunicar esta noticia si te valió la pena.