Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Certain monitoring programs such as Spiceworks list not only the memory sticks in use in a machine, but also somehow show which specific slots on the board are in use and which is using them. With WMI I can obtain a total number of slots and also I can get a list of all of the devices, but the "DeviceLocator" field in Win32_PhyiscalMemory seems cryptic and can be completely different from motherboard to motherboard.

My question is with WMI and/or remote registry, how can I find out which specific slots are in use like Spiceworks does? I'm developing a simple script to easily find all this information in a somewhat large network with many different hardware platforms, but all running Windows Server.

share|improve this question
up vote 0 down vote accepted

What about using WMIC MEMORYCHIP? There are quite a few options available under the diffent sub-commands (and sub-sub-commands for that matter.) Click HERE for a bit more of a walkthrough.

share|improve this answer
That also returns essentially the same information, not making it clear which slots are vs aren't in use. I guess what I'm looking for in a sense is a way to list all of the slots and their contents if possible. It's possible because somehow Spiceworks does it, but I can't figure out how. – The Real Roxette Oct 20 '11 at 7:05
I've never used spiceworks but it's probably preconfigured with a model list that knows how many slots already. Then it searches for what's in use and lines both up for you. That's an educated guess... Belarc does the same thing. It was clear on my workstations which were and werent in use. If it listed a size, it was in use. How many different models of server do you have? It's readily available info as to the spec of any given server, so comparing what's in use vs. a baseline per model (csproduct command) should do it. – Ben Campbell Oct 20 '11 at 11:36
It doesn't appear to be possible to do what I want. Ben - SysAdminCircus's comment on using some sort of hardware profile and going against that seems to be the way Spiceworks does it, and I was never able find another way. – The Real Roxette Oct 23 '11 at 13:50

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.