Beispiel #1
0
func main() {
	// wm, err := wmi.NewConnection(".", `\root\CIMV2`)
	// if err != nil {
	// 	fmt.Println("NewConnection", err)
	// 	return
	// }
	// qParams := []wmi.WMIQuery{
	// 	&wmi.WMIAndQuery{wmi.QueryFields{Key: "MACAddress", Value: "78-0C-B8-EF-0F-CE", Type: wmi.Equals}},
	// }
	// sw, _ := wm.GetOne("Win32_NetworkAdapterConfiguration", []string{}, qParams)
	// t, _ := sw.Get("IPAddress")

	// test, _ := t.GetText(0)
	// fmt.Println(test)

	type s struct {
		Name string
	}

	var dst []s

	wm, _ := wmi.NewConnection(".")
	sw, _ := wm.Get("Win32_Process")
	ra := sw.Raw()
	result := ra.ToIDispatch()
	defer ra.Clear()
	enupty, _ := result.GetProperty("_NewEnum")
	enum, _ := enupty.ToIUnknown()
	defer enum.Release()
	n, _ := sw.Count()
	sw.Set("Win32_Process", 0, n)

	count
}
Beispiel #2
0
func main() {
	w, err := wmi.NewConnection(".", `\Root\CIMV2`, nil, nil, nil, nil)
	if err != nil {
		fmt.Println("NewConnect", err)
		os.Exit(1)
	}

	// AddressFamily:
	//  2 - IPv4
	//  23 - IPv6
	// qParams := []wmi.WMIQuery{
	// 	&wmi.WMIAndQuery{wmi.QueryFields{Key: "TotalVirtualMemory", Value: 2, Type: wmi.Equals}},
	// }
	// See documentation on MSFT_NetIPAddress class at: https://msdn.microsoft.com/en-us/library/hh872425(v=vs.85).aspx
	netip, err := w.Gwmi("Win32_USBController", []string{}, nil)
	if err != nil {
		fmt.Println("Gwmi", err)
		os.Exit(1)
	}

	// TotalVirtualMemory, _ := netip.GetProperty("Name")
	// fmt.Println(TotalVirtualMemory.Value())
	elements, err := netip.Elements()
	if err != nil {
		fmt.Println("element", err)
		os.Exit(1)
	}

	if len(elements) > 0 {
		for i := 0; i < len(elements); i++ {
			address, err := elements[i].GetProperty("Description")
			if err != nil {
				fmt.Println("Description", err)
				os.Exit(1)
			}
			iface, err := elements[i].GetProperty("DeviceID")
			if err != nil {
				fmt.Println("DeviceID", err)
				os.Exit(1)
			}
			fmt.Printf(" %v -->  %v\n\n", address.Value(), iface.Value())
		}
	}

	// elements, err := netip.Elements()
	// if err != nil {
	// 	fmt.Println("element", err)
	// 	os.Exit(1)
	// }
	// if len(elements) > 0 {
	// 	for i := 0; i < len(elements); i++ {
	// 		address, err := elements[i].GetProperty("TotalVirtualMemory")
	// 		if err != nil {
	// 			fmt.Println(err)
	// 			os.Exit(1)
	// 		}
	// 		iface, err := elements[i].GetProperty("TotalPhysicalMemory")
	// 		if err != nil {
	// 			fmt.Println(err)
	// 			os.Exit(1)
	// 		}
	// 		fmt.Printf("Found IP %v on interface %v\n", address.Value(), iface.Value())
	// 	}
	// }

	// tmp, _ := elements[0].GetProperty("TotalVirtualMemory")

	return
}