npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@intelcorp/wmi-native-module

v1.0.1

Published

WMI Native Module

Downloads

14

Readme

WMI Native Module

Overview

The wmi-native-module is a native module for Node.js applications to query WMI on a local Windows system using native C++.

Install

npm install @intelcorp/wmi-native-module

Usage

Example queries can be found in tests\exampleQueries.js

Methods

function query(namespace: string, query: string, properties?: string[]): object;

Arguments

  • namespace: Namespace of the class to query. Examples: 'root\wmi' or 'root\cimv2'
  • query: WQL query string. Examples: 'SELECT * FROM Win32_Processor' or 'SELECT Caption,DeviceID FROM Win32_Processor
  • properties: Optional parameter to limit the properties returned. Example: query('root\wmi', 'SELECT * FROM Win32_Processor', ['Caption','DeviceID'])

Namespace Whitelist

There is a whitelist for supported namespaces defined in namespaces.h.

  • To allow the module to query any namespace, the IsSupportedNamespace() method can be modified to always return true.
  • To add additional namespaces to the whitelist, add the new namespace to the vector returned by GetWhitelist(). Namespaces should always be added to the whitelist as all lowercase values.

Return Value

  • Object containing the results found by the query.
  • If the query fails or does not return any results an empty object will be returned: {}

Examples

const wmi = require('@intelcorp/wmi-native-module');
let result = wmi.query('root/cimv2', 'SELECT * FROM Win32_Processor');
const wmi = require('@intelcorp/wmi-native-module');
const properties = ['Caption', 'DeviceID', 'Manufacturer', 'MaxClockSpeed', 'Name', 'SocketDesignation'];
const query = `SELECT ${properties.join(',')} FROM Win32_Processor`;
let result = wmi.query('root/cimv2', query, properties);