How It Works

The basic goal of this library is to make querying information from Windows systems on your network as easy as possible. This is accomplished by adopting an active record approach similar to Laravel's Eloquent.

The WMI Scripting library consists of models that represent the WMI Win32 Provider classes and a basic query builder using WQL as it's target language.

I also take advantage of Laravel's Collections via the extraction done by TightenCo, so you are not bound directly to the Laravel framework. Anytime you query a model you will get back an instance of ModelCollection which extends Laravel's Collection. This allows for fluent access to this data: $modelCollection->map->getAttribute('name); returns a collection of only the model names.

The Win32Models extend either another Win32 model, or more likely, a CIM object. This follows the way that Win32 models are composed.

Todo

I'm still working through the API and some of the core code to make this library as clean and resilient as possible. The current wish list consists of at least the following:

  • Near 100% test coverage
  • Expand testing system
  • Event system