Maison > développement back-end > Golang > Comment puis-je facilement interroger WMI depuis Go ?

Comment puis-je facilement interroger WMI depuis Go ?

Mary-Kate Olsen
Libérer: 2024-11-28 18:38:11
original
312 Les gens l'ont consulté

How Can I Easily Query WMI from Go?

Interrogation WMI depuis Go

Pour exécuter des requêtes WMI depuis Go, il est possible d'utiliser des appels DLL. Cependant, naviguer dans la complexité des API Windows basées sur COM peut s'avérer intimidant. Heureusement, il existe des solutions alternatives qui offrent une approche plus simple.

Une solution recommandée consiste à exploiter le référentiel GitHub de StackExchange/wmi. Ce package encapsule les techniques décrites dans la réponse acceptée, offrant une interface pratique pour les requêtes WMI.

Utilisation du package StackExchange/wmi

Voici un extrait de code qui montre comment pour utiliser le package StackExchange/wmi :

package main

import (
        "context"
        "fmt"
        "log"

        "github.com/StackExchange/wmi"
)

func main() {
        query := wmi.CreateQuery(&wmi.Query{
                Namespace:  "root\cimv2",
                Query:      "SELECT * FROM Win32_Process",
                Projection: []string{"Caption", "ProcessId"},
        })
        processes, err := query.Execute(context.Background())
        if err != nil {
                log.Fatal(err)
        }
        fmt.Printf("%-5s%-20v", "PID", "Name")
        fmt.Println()
        for _, p := range processes {
                fmt.Printf("%-5v%-20v\n", p.Properties["ProcessId"].Value.Value().(uint32), p.Properties["Caption"].Value.Value().(string))
        }
}
Copier après la connexion

Cet exemple récupérera des informations sur l'exécution processus, y compris leurs ID et noms de processus. Le package StackExchange/wmi gère les subtilités de COM et WMI, simplifiant ainsi le processus d'interrogation pour les développeurs Go.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal