Le concours de filtre de WMI - êtes-vous le chevalier dans l'armure brillante ?
Bienvenue à « La recherche pour le filtre saint de l'ordinateur de bureau WMI », c'est une recherche globale de ce que vous pourriez appeler « Le filtre parfait de l'ordinateur de bureau WMI". Un filtre de WMI qui, en employant le langage d'interrogation de WMI (WQL), devrait pouvoir repèrer des ordinateurs de bureau seulement. Ce devrait être une question générale - signification qu'il devrait être possible d'utiliser le filtre dans la plupart des environnements actifs d'annuaire autour du globe pour le filtrage de politique de groupe.
Ainsi, quel est un ordinateur de bureau vraiment ? Bien, réellement dans ce cas-ci nous dirons que c'est l'opposé d'un ordinateur portable. Hmm, alors ce qui est un ordinateur portable ? Assez facile : un ordinateur avec une batterie ! Nous avons le filtre de WMI pour trouver des ordinateurs portables déjà :
Choisissez * à partir de Win32_Battery - juste n'aimez-vous pas la simplicité dans cette question ?
Ce filtre fera un ordinateur avec une batterie répondre en arrière avec « VRAI » (parce que l'exemple de classe de WMI est présent), signifiant qu'un GPO avec ce filtre appliquera aux ordinateurs avec des batteries. Droite simple ? Et vous pourriez penser qu'il est facile juste « de le tourner autour de » aux ordinateurs de bureau de trouvaille, comme :
Choisissez * à partir de Win32_Battery où disponibilité ! = 2
ou
Choisissez * à partir de Win32_Battery où la disponibilité N'EST PAS NULLE
ou
« Où pas X aiment Y » ou quoi que
Peut-être il est, peut-être il n'est pas… Je pense que c'est dur assez fichu ! Pour repèrer des ordinateurs portables nous pourrions avoir examiné les classes Win32_PortableBattery, Win32_PCMCIAController, Win32_POTSModem aussi bien - mais de façon ou d'autre je pense que la plupart des personnes conviendront, que « ting essentiel », qui fait à un ordinateur portable un ordinateur portable, est en fait la présence de batterie !
Mais, nos essais pour repèrer des ORDINATEURS DE BUREAU seulement (des machines sans batterie - oui, je sais que ceci inclura des serveurs en tant qu'eux un « stationnaire » trop) n'ont pas été un succès encore ! Nous avons besoin probablement juste de la syntaxe correcte ? Et c'est où vous entrez dans l'image !
Pouvez-vous fendre ouvert cet écrou ? Il y a un prix frais !
Le ce tout commencé sur une liste de expédition pour des types de politique de groupe et les filles - GPTalk appelé - créées et maintenues par le gourou et le MVP Darren de Group Policy Troublent-Elia - le type derrière GPOguy.com et Logiciel de SDM. Vous pouvez joindre la liste DROITE ICI et participez à ce concours à GAGNEZ une copie libre du :
GPExpert™ dépannant Pak
MAIS vous devez être la première personne pour fendre cette chose, là serez seulement UN GAGNANT que pourriez être vous !
J'évaluerai des réponses entrantes - Fifo: " D'abord dedans d'abord dehors" method is used. Hopefully we'll see the most simple solution first - simplicity works, right? Actually I wouldn't know in this case would I...
One important thing! We will ask you kindly to TEST any WMI query submissions before sending them to everybody on the list. During your testing, you should use a tool to verify the WMI filter against a minimum of 2 desktops and 2 laptops. You can use the free WMI Filter Validation Tool to test you WMI filters in your environment. Personally I’m also using Scriptomatic version 2 and WBEMTEST for finding the available classes, items, queries etc.
Please have a look at the "rules" further down!
Why do this? Well, because it's fun - and useful at the same time... When looking at it generally, the purpose of this filter is to say: "I want these user settings to apply, but only when the user logs on to stationary machines". This can be used for a lot of security related setting, eg. in the case where Automatically cached Offline Files/Folders are unwanted on stationary machines for certain users etc. The job of most WMI filters placed on User policies is to limit which machines the policy setting(s) should apply to (even though WMI filters could check for user specific things too). Besides from that it's a nice challenge, we can pretty easily "spot" laptops, as they have batteries – and desktops don’t, but that’s not good enough for Mr. WQL, is it?!
Stuff we have tried - and the rules
We’ve been around solutions looking for Win32_SystemEnclosure > ChassisType before - which basically doesn’t work in a WMI filter because that’s an Array (and yes, I've also seen lots of posts on forums out there claiming that particular class is the solution – but for WMI/WQL queries it’s not). If would work in a script (because you can add additional logic to scripts), but we are searching for a WMI Filter - not workarounds of any kind!
As mentioned we tried with the Win32_Battery WMI class. However, as desktops don’t know this class at all, they'll return FALSE no matter what. Basically a desktop computer is gonna say “Heck, I don’t know anything about that class *Panic* I’m out!” – or just “False”... Bummer!
We have also tried PowerSupplyState, Win32_DesktopMonitor, Win32_DisplayConfiguration, Win32_SystemSlot, Win32_Fan and other classes – just haven’t found the perfect “this is definitely a desktop WMI item value or class”…
We're basically looking for something like:
A) Select * from Win32_SomeClassOnlyDesktopsHave
Or
B )Select * from Win32_SomeClass.SomeItem = “SomeValueOnlyDesktopsHave”
Or
C) Some way of saying “if you don’t know the class (eg. Win32_Battery), then apply the GPO anyway”
Again, the “quest” is to find the perfect, *universal*, way of spotting “Non-laptops” or Desktops – it can of course be done by looking for some special computer Manufacturer/Model, BIOS version, specific hardware driver or whatever – but that stuff it most likely gonna be different from environment to environment. Also, if we all just used computer names like “DESKxxx” for desktops and “LAPTxxx” for laptops, we could have used WMI filters for computer name – but unfortunately that’s not the case - or at least I won't consider that a valid solution :)
The thing is, that normally it’s the LAPTOPS that have special hardware – like Batteries and built-in Modems, PCMCIA slots etc. – so they are pretty easy to find. With desktop computers it’s another story – hope you can help us out here!
Please, again, we know lot’s of “workarounds”, but what we need is a *WMI filter* and it has to return *TRUE* for *DESKTOPS* (or let’s call the NON-LAPTOPS or NON-PORTABLES, it doesn’t really matter).
Remember, simplicity works - maybe the answer/solution is pretty straight forward? Feel free to post any additional questions to the mailing list!
Another example of what has been tried
We could maybe try to go for presence of PCI (and not Mini-PCI) or AGP slots, as we expect most desktops to have PCI slots (and laptops to have Mini-PCI, but that would depend on the form factor) – or maybe AGP (but does onboard VGA count as AGP? Any PCI VGA cards left out there? Yeah, probably...). If not we could maybe go for something like this:
A) Select * From Win32_SystemSlot Where SlotDesignation = “PCI%”
Or
B) Select * From Win32_SystemSlot Where SlotDesignation = “AGP”
However, this is not accepted as a solution as we cannot say that all desktop computers have AGP slots. But - maybe you can convince us otherwise?
Other cool Group Policy information:
You'll find additional Group Policy information at these sites:
www.gpanswers.com - The home of Group Policy guru and MVP Jeremy Moskowitz, check out the community there too!
TechNet Group Policy Forum - A brand new Group Policy forum on Microsoft TechNet
The Group Policy Team - The home of the Microsoft Group Policy Team
Jakob H. Heidelberg blog - My own blog, mostly about Group Policy and Security
www.heidelbergit.dk - My website with blog RSS, certifications, LinkedIn info etc.
Hope to hear from you soon - O' Yee Knight of the Microsoft Group Policy Table!
Popularity: 18%
Written by Jakob H. Heidelberg. Read more great feeds at is source WEBSITE
no comments.
Read more articles on Jeremy Moskowitz and otherSoftware and MVP and technet and Group Policy and Microsoft.
- [+] Digg: Feature this article
- [+] Del.icio.us: Bookmark this article
- [+] Furl: Bookmark this article














