Showing posts with label WMI. Show all posts
Showing posts with label WMI. Show all posts

Friday, October 25, 2013

Windows Management Framework 4.0 (PowerShell 4, PowerShell ISE, Management OData, WMI, etc.) now available

Keith Hill's Blog - PowerShell 4.0 Now Available

You can get PowerShell 4.0 for down level operating systems now via the WMF 4.0 download.  NOTE: Be sure you have .NET 4.5 installed *before* you install WMF 4.0....

Windows PowerShell Blog - Windows Management Framework 4.0 is now available

Windows Management Framework 4.0, our package that lets you use management technologies from Windows 8.1 and Windows Server 2012 R2 on some of Microsoft’s older operating systems, is now available for you to download and install. This full-release version of Windows Management Framework 4.0 includes even more improvements than our Preview release. Be certain to read this blog post fully before installing, especially because WMF 4.0 is not compatible with certain versions of server products.


IMPORTANT: Not all Microsoft server applications are currently compatible with WMF 4.0. Before installing WMF 4.0, be sure to read the WMF 4.0 Release Notes. Specifically, systems that are running the following server applications should not run WMF 4.0 at this time:

  • System Center 2012 Configuration Manager (not including SP1)
  • System Center Virtual Machine Manager 2008 R2 (including SP1)
  • Microsoft Exchange Server 2013, Microsoft Exchange Server 2010 and Microsoft Exchange Server 2007
  • Microsoft SharePoint 2013 and Microsoft SharePoint 2010
  • Windows Small Business Server 2011Standard

We acknowledge that there is still a need for management of Windows Server 2008, and Windows Management Framework 3.0 remains the answer for Windows Server 2008.


Microsoft Downloads - Windows Management Framework 4.0

Windows Management Framework 4.0 includes updates to Windows PowerShell, Windows PowerShell ISE, Windows PowerShell Web Services (Management OData IIS Extension), Windows Remote Management (WinRM), Windows Management Instrumentation (WMI), the Server Manager WMI provider, and a new feature for 4.0, Windows PowerShell Desired State Configuration (DSC).

Version: 1.0

Date Published: 10/24/2013

  • Windows Management Framework 4.0 Release Notes.docx, 89 KB
  • Windows PowerShell Desired State Configuration Quick Reference for Windows Management Framework 4.0.pdf, 244 KB
  • Windows PowerShell Desired State Configuration Quick Reference for Windows Management Framework 4.0.pptx, 73 KB
  • Windows6.1-KB2819745-x64-MultiPkg.msu, 18.4 MB
  • Windows6.1-KB2819745-x86-MultiPkg.msu, 14.1 MB
  • Windows8-RT-KB2799888-x64.msu, 17.5 MB

This release includes new features and functionality in Windows Management Framework 4.0, including the following:

  • Windows PowerShell 4.0
  • Windows PowerShell ISE
  • Windows PowerShell Web Services (Management OData IIS Extension)
  • Windows Remote Management (WinRM)
  • Windows Management Instrumentation (WMI)
  • The Server Manager WMI provider
  • A new feature for 4.0, Windows PowerShell Desired State Configuration (DSC)

Windows Management Framework 4.0 makes updated management functionality available for installation on Windows 7 SP1, Windows Server 2008 R2 SP1, and Windows Server 2012.

Windows PowerShell 4.0
Some of the new features in Windows PowerShell 4.0 include:

  • Support for workflow and remote script debugging
  • Improved workflow authoring experience to make it more consistent with script authoring
  • Added PipelineVariable as a common parameter
  • Better support for downloading updatable help by using Save-Help and Update-Help in offline scenarios
  • Updated version from 3.0 to 4.0
  • Several bug fixes and performance improvements
Windows PowerShell Integrated Scripting Environment
Windows PowerShell ISE in Windows Management Framework 4.0 introduces:
  • Support for Windows PowerShell Workflow debugging
  • Support for remote script debugging
  • IntelliSense support for Windows PowerShell Desired State Configuration resources and configurations
Windows PowerShell Web Services
Windows PowerShell Web Services (Management OData IIS Extension) enables an administrator to expose a set of Windows PowerShell cmdlets as a RESTful web endpoint accessible by using OData (Open Data Protocol). This provides remote access to run cmdlets from both Windows-based and non-Windows-based client computers or devices.
  • Improved error messages in event logs
  • Endpoint versioning support
  • Autopopulation of OData dispatch schema fields
  • Support for complex types
  • Multilevel association support
  • Ability to perform large binary stream transfers
  • Support for non-Create/Read/Update/Delete (CRUD) actions
  • Key-As-Segment URL syntax support
  • Constrained resource operations

WMI, WinRM, and Server Manager CIM Provider
These features were included with WMF 3.0, and continue to be included in WMF 4.0. There are no significant changes to these features.

Windows PowerShell Desired State Configuration
Windows Management Framework 4.0 introduces Windows PowerShell Desired State Configuration (DSC), with the following highlights:

  • Local configuration manager for applying configurations on the local computer
  • Windows PowerShell language extensions for authoring DSC documents
  • PSDesiredStateConfiguration module and DSC-related cmdlets
  • A set of built-in DSC configuration resources
  • DSC service for distributed access to DSC resources

Tuesday, July 09, 2013

Find the "Missing LINQ" - Future project of "hard to find Linq providers." Currently home of Linq2Management (WMI)

CodePlex - Missing LINQ


MissingLinq is a .NET library containing hard to find Linq providers. Current Linq providers include:
  • Linq2Management: Linq provider for WMI.


Linq2Mangement is a C# library that allows access to WMI object instances using Linq expressions. Queries are performed in the style of the Entity Framework using a context:


First I just liked the project name, but the Linq2Management (aka Linq2WMI) was what kept me there...


Related Past Post XRef:
LINQ To WMI – A marriage made in Heaven?

Sunday, October 28, 2012

Two WMI Cheat sheets (One for Dev's, one for PowerShell'ers)

Windows Management Infrastructure Blog - WMI cheat sheet and link to MSDN documentation

"WMI team created a useful cheat sheet summarizing what's new in WMI. This is a great reference doc for developers. We are making them available through this blog post - as is.

The real documentation is still on MSDN (and it is being regularly updated). Cheat sheets are just a quick reference to get people started.





Windows PowerShell Blog - WMI cheat sheet for PS users

"We got multiple requests to publish the cheat sheet for CIM Cmdlets that was distributed in Tech Ed NA this year. Responding to popular demand, this document is attached as PDF . This is a great resource put together by WMI team for people who want to get started with CIM cmdlets.

Standard disclaimer :-). Cheat sheet is just for a quick start to get people started - real documentation is here

Osama Sajid..."



Why Must I love WMI? Because it's just so damn useful! If you don't WMI, you should. These two cheatsheets (and the links in the posts) will get you started...

Monday, May 07, 2012

Remember the WMI Code Creator? Here's a Visual Basic fan reboot of it...

PC's Xcetra Support - WMI Code Creator For Windows Forms For VB.Net


This is a project for creating code like the WMI Code creator but the output is for VB.Net and Windows Forms Instead of for a Console Application.

The Project Reason

Anyone that has used the WMI Code Creator knows how fast you can get up and going. Since most of my programs that use WMI are Windows forms it was becoming a time consuming thing to create the code with the selected properties from the WMI Code Creator and then port that code to a Windows forms style application.

So I decided to see if I could build my own code creator for faster builds. When you have 15 properties is takes a lot of time, and to make sure you spell them correctly or you end up with a “Not Found” error for a property name that was misspelled.

This project is still a work in progress. There are a few known Issues.


The Building of the program:

I first started out by looking at the WMI Code Creator wanting to keep some of the same feel of that program.

My first version had a checked list box, but you had to click twice for every property you wanted to select. So I later changed that to a regular list box. One left click does it.

Then I used a rich text box but you don’t get the instant right click copy ability so I changed that to a regular text box.(was having to use CTL+ C to do it while testing)


Using the program

To use this program right click and run as admin (just to avoid some problems).

After the splash screen closes, the main form will open and the Namespace list will be filled.

Select a namespace, then the Classes list will fill. The number above tells how many classes or name spaces were found.(still need to work on that part)

Once you have selected a class, the list box will fill with the properties. Select the properties you want by left clicking on them(unless your buttons are reversed), if the property name is highlighted, then it is selected. You can left click again to unselect.(the select method in the list box properties page is multi simple)

Then Just click on the Create code button and the output text box will fill.



Again, not all classes will return information, you may want to use one of the following application to see what gets returned before building a new application, and to help pick any properties you may want use. Some property names never return anything, so no point cluttering up your output with the extra property names. The selected class also may not return anything at all.



What I really liked about this article, besides the fact it's WMI, VB.Net and the source is available, is how the author goes into some details on the problems he ran into and solved, what his thinking was.  Finally the reference list was nice touch.


Related Past Post XRef:
WMI Code Creator v1.0 - Scriptomatic 2.0
PowerShell Scriptomatic - Scriptomatic Goodness with a PowerShell Flavor

Thursday, April 09, 2009

PowerShell, OpenXML, WMI and the PowerTools for OpenXML = Doc generation for our inner geek - Generating a document using PowerTools for Open XML and PowerShell

“In this article I have a go at creating an Open XML Document using Microsoft’s excellent PowerShell command-line environment. To do so I use PowerTools for Open XML, recently updated on CodePlex (

As you’ll see it makes an otherwise difficult task really quite easy.

The scenario

To demonstrate this I’ve come up with what I think might be a reasonably real-world scenario. If not, hopefully it’s enough to get the concept across.

The scenario I chose is one of an SLA (service level agreement) type report. Imagine you’re a company providing an agreed level of service on servers for various clients. It’s quite likely you’d want to send your client details on how well you are fulfilling the SLA.

Here are the basic requirements for this report:

  • Create a PowerShell script that can be run for a specified client and computer name, and produces a single Word document.

  • The beginning of the output document will be tailored for the particular client.

  • The middle will be built up from 1 or more SLA metrics, using WMI information.

    • For simplicity’s sake I’m going to use simple WMI metrics for Processor Time % and Disk Time %

    • Depending on these metrics the appropriate Pass/Fail content will be output.

  • The end will be standard for all clients.

Getting Started

All going well you should end up with an output.docx file in the current directory looking like this...



Thanks to the PowerTools for Open XML we have a simple, but powerful way of building up a document using PowerShell.

PowerShell is very powerful in its own right, but I do believe it would have been a fairly painful to achieve this result without the PowerTools for Open XML.


For whatever reason I find OpenXML doc gen via PowerShell weirdly attractive (like a moth to flame? ;)

(via US ISV Developer Evangelism Team - Generate a Server-side Documents Using PowerTools for OpenXML)


Related Past Post XRef:
Because it’s a PowerShell kind of day… PowerTools for Open XML V1.1 Released
OpenXML PowerTools updated – Cell your Excel via PowerShell
Powering into OpenXML with PowerShell

Friday, November 07, 2008

NetMon Parsers – Existing parsers available and more coming via CodePlex

Network Monitor - Open Source Parsers for Network Monitor 3.2

“With the release of NM3.2, we revamped the parser management so that we can support parser upgrades. So I’m pleased to announce that we just released a new version of the parsers on As new parsers become available or the current parsers become extended or improved, you’ll be able to get the latest version.

The Plan

Our plan is to release a new set parsers every month. The updates will be based on your feedback and bug/issue reports that are filed on the site. It may take us a bit of time to completely convert our development over to CodePlex. In the meantime there may be fixes for bugs that have been filed internally. But soon you’ll see the parser files updated live along with a matching MSI installer each month. We have already released a new MSI with the current parser changes. Just look at the Release tab off of our CodePlex site and choose the MSI package that matches your installed Network Monitor OS version.

Eventually, we will document and expose the code for MSI creation so that you can create packages for your own parser sets. Also, we are planning to provide documentation for how to test parsers so that you can understand how we test internally for regressions and compatibility.


CodeProject - Network Monitor Open Source Parsers

“Welcome to the Network Monitor Open Protocol CodePlex Project!
This project will contain the latest updates for the Network Monitor parsers. All parser development will be done through this CodePlex site starting in November 2008, and we welcome your input as well as your parser bug reports.

This project will contain the latest updates for Network Monitor parsers. All parser development will be done through this Codeplex site starting in November 2008 and we welcome your input as well as your parser bug reports.

While parsers for many protocols have always shipped with Network Monitor, we have now decided to ship parsers for the protocols described in the Windows Open Protocol Specifications and to move parser development into the CodePlex open source environment. This is a big step for us, so please be patient as we get settled in.

With the launch of this portal, we have also released an updated set of parsers for Network Monitor 3.2. Over the course of the next month, we’ll be moving to develop completely within CodePlex so parser developers, enthusiasts, and the like can have access to the latest parser changes immediately. In the meantime, we’ll be synching the CodePlex branch with our internal development once a week and dropping a couple of new tested parser installation packages every couple of weeks.


Just looking at the amount of NetMon parsing code now in the CodePlex project is making my eyes bleed… Man I love open source (or Source Available or what ever ;)

To give you a feel for what the NetMon Team is releasing check out these two snaps of the source code trees. Each listed item is a parser (i.e. protocol)

Change Set 16184 / NPL / common


Change Set 16184 / NPL / Windows


See what I mean? That’s a ton-o-NetMon parsing!  :)


Related Past Post XRef:
NetMon API – Capture, Parse and and Capture File Access (with Managed P/Invoke example too)
Network Monitor 3.2 (aka NetMon, NM3) Beta Released – Now with application network conversation tracking UI
NetMon 3.1 Released
Network Monitor 3 (aka NetMon 3, aka NM3) Re-released for Vista
NetMon 3.0 RTW

Tuesday, July 29, 2008

GetVirtualSystemThumbnailImage – HyperV, WMI and Virtual Machine “Screen” Thumbnail

Taylor Brown's Blog - Hyper-V WMI: Creating a Thumbnail Image

“Hyper-V has a WMI API that will allow you to create a thumbnail image of any running or paused virtual machine.  You can create any sized thumbnail you want (640x480, 800x600, 1024x768 etc…).  Creating the image is pretty easy, you just call GetVirtualSystemThumbnailImage passing a reference to an Msvm_VirutalSystemSettingData instance and the size of the image you want…  However getting something useful from the returned data is a bit tricky…  You get an array of unit8’s that represent pixels, the API doesn’t have much choice and luckily Powershell makes this not an impossible feat.  All you have to do is create a new bitmap object and read (marshal) the pixel data into the object…

…” [Post leach level: 90%]

Oh… that’s neat! And being WMI this should be do’able remotely (given the right permissions of course).

So you could integrate this into a custom application, which joins line of business status, control, etc with a thumbnail view of a HyperV VM. Nice.

I can see how I might be able to use this… maybe. With Virtual Server there was VMRC, does that work with HyperV too? Or is it easier to Remote Desktop into the VM’s? And if so, when you disconnect (not log off, but disconnect), then the VM would lock? And so the Virtual System Thumbnail would be of a locked system? Or am I just being stupid? I guess I’ll just have to wait and see.... ;)

Saturday, July 19, 2008

LINQ To WMI – A marriage made in Heaven?

Linq2WMI - LinqToWMI Release 0.3

“This release is the latest available edition originating from Emily Bosch, later rewritten for the RTM of .NET 3.5 by Eden Ridgway.

Additional features, bugs, documentation and samples shall be released as the project progresses.

To use LinqToWMI, simply do the following:

  • Download the zip (latest release)
  • Unzip the download and open the Visual Studio Solution
  • Build the Solution to obtain the library reference
  • Add to a project of yours and use :)


CodeProject - Linq2WMI

“Linq to WMI is a project which was originally created by Emile Bosch ( However, the project was created under an earlier version of the .NET 3.5 framework in 2005. It was later updated by Eden Ridgway ( This CodePlex project was added to maintain an open source version of those implementations for using WMI through Linq.

Enjoy :)

The project is broken up into three libraries.

  • LinqToWmi.ClassGenerator
  • LinqToWmi.Core
  • LinqToWmi.Tests

Documentation is used throughout the code and should be fairly straight forward to use. However, the following links are the originating posts for this project.

  • Eden Ridgway:
  • Emily Bosch:[Project Description leached in full]
  • Given the scope and depth of WMI, accessing via LINQ seems like a no-brainer doesn’t it?