GPO, WMI, jazykové mutace podruhé
V předchozím článku (již je opraven) jsem uvedl několik příkladů, které chybně počítaly s tím, že český lokalizovaný systém se jmenuje stejně jako anglický. Dnes jsem zažil velké překvapení, když jsem zjistil, že anglické Windows XP mají korektně definované nastavení firewallu přes GPO, zatímco české nikoliv. S WMI jsem nebyl moc kamarád a tak mi nezbylo, než zapátrat, jak snadno ověřit funkčnost WMI filtru z GPO přímo na konkrétní pracovní stanici.
Vlevo je výpis z anglické verze Windows XP, vpravo je výpis z české verze. Nabízí se otázka - byla tato lokalizace opravdu nutná?
Když jsem uviděl český obsah Caption, tak bylo jasné, v čem je zakopaný pes neuplatňování GPO. Pro příště tedy budu muset testovat WMI GPO filtry přímo na klientských stanicích a to na všech jazykových mutacích, které se v daném případě vyskytují.
Chybný tvar
SELECT * FROM Win32_OperatingSystem WHERE Caption = "Microsoft Windows XP Professional" AND CSDVersion = "Service Pack 2"
Správný tvar
SELECT * FROM Win32_OperatingSystem WHERE Caption LIKE "%Windows XP Professional" AND CSDVersion = "Service Pack 2"
WMIC testovací varianta
wmic path win32_operatingsystem WHERE (Caption LIKE "%Microsoft Windows XP Professional" AND CSDVersion = "Service Pack 2") get Caption,CSDVersion
Chybný tvar
Select * from Win32_OperatingSystem where Caption = "Microsoft Windows XP Professional" and OSLanguage = "1029"
Správný tvar
SELECT * FROM Win32_OperatingSystem WHERE Caption = "Systém Microsoft Windows XP Professional" AND OSLanguage = "1029"