none
WMI Filter für OS Language RRS feed

  • Frage

  • Hallo zusammen,

    ich habe eine Gruppenrichtlinie erstellt, mit welcher ich Betriebssystemsprachen basiert Einstellungen vornehmen möchte.

    Als Beispiel: Windows Systeme mit deutschem OS sollen ein anderes Hintergrundbild haben, als ein englisches OS.

    Dazu habe ich mir die folgenden WMI Filter gebaut:

    DE

    root\CIMv2: Select * from Win32_OperatingSystem WHERE Locale=0407

    EN

    root\CIMv2: Select * from Win32_OperatingSystem WHERE Locale=0409

    Wenn ich auf den Systemen (Get-Wmiobject Win32_OperatingSystem).Locale eintippe, werden mir auch die jeweiligen o.g. Locale angezeigt.

    Leider funktioniert der WMI Filter so nicht.

    Hat jemand eine Idee woran es liegt oder wie man es anders machen kann?

    Die AD-Struktur lässt es nicht zu, nach Sprachen zu unterscheiden mittels OUs.

    Es sollte für alle Systeme ab Windows 7 lauffähig sein.

    Vielen Dank!

    Freundliche Grüße

    Sandro

    Dienstag, 6. Oktober 2015 07:56

Antworten

  • Mit

    root\CIMv2: Select * from Win32_OperatingSystem WHERE Locale ="0407"

    funktioniert es wie gewünscht :)

    • Als Antwort markiert SandroReiter Dienstag, 6. Oktober 2015 09:02
    Dienstag, 6. Oktober 2015 09:02
  • Mit

    root\CIMv2: Select * from Win32_OperatingSystem WHERE Locale ="0407"

    funktioniert es wie gewünscht :)

    Das ist (technisch) richtig (die String-Aussage), aber (inhaltlich) nicht. 

    Die Frage war nach der OS-Sprache, nicht nach der "Locale". Ich habe ein englisches Windows 7, mit deutschen "Regionalen Einstellungen" - das Ergebnis von Win32_OperatingSystem.Locale spuckt "0407" (Deutsch) aus, obwohl die Betriebssystem Sprache "Englisch" ist. 

    Korrekt wäre die Abfrage nach "OSLanguage" anstatt von "Locale". Und dies ist ein UINT, also für "Englisch" 1033 / Deutsch: 1031

    select * FROM Win32_OperatingSystem WHERE OSLanguage=1031


    ergibt ein "Deutsches Betriebssystem" ungeachtet der Locale.

    https://www.autoitscript.com/autoit3/docs/appendix/OSLangCodes.htm

    vg,
    dognose





    • Bearbeitet dognose Freitag, 2. Dezember 2016 19:40
    • Als Antwort markiert SandroReiter Sonntag, 4. Dezember 2016 07:52
    Freitag, 2. Dezember 2016 19:35

Alle Antworten

  • Mit

    root\CIMv2: Select * from Win32_OperatingSystem WHERE Locale ="0407"

    funktioniert es wie gewünscht :)

    • Als Antwort markiert SandroReiter Dienstag, 6. Oktober 2015 09:02
    Dienstag, 6. Oktober 2015 09:02
  • > root\CIMv2: Select * from Win32_OperatingSystem WHERE Locale ="0407"
     
    Ja - "Locale" ist keine Zahl, sondern ein String :)
     
     

    Greetings/Grüße, Martin

    Mal ein gutes Buch über GPOs lesen?
    Good or bad GPOs? - my blog…
    And if IT bothers me - coke bottle design refreshment (-:
    Dienstag, 6. Oktober 2015 10:27
    Beantworter
  • Mit

    root\CIMv2: Select * from Win32_OperatingSystem WHERE Locale ="0407"

    funktioniert es wie gewünscht :)

    Das ist (technisch) richtig (die String-Aussage), aber (inhaltlich) nicht. 

    Die Frage war nach der OS-Sprache, nicht nach der "Locale". Ich habe ein englisches Windows 7, mit deutschen "Regionalen Einstellungen" - das Ergebnis von Win32_OperatingSystem.Locale spuckt "0407" (Deutsch) aus, obwohl die Betriebssystem Sprache "Englisch" ist. 

    Korrekt wäre die Abfrage nach "OSLanguage" anstatt von "Locale". Und dies ist ein UINT, also für "Englisch" 1033 / Deutsch: 1031

    select * FROM Win32_OperatingSystem WHERE OSLanguage=1031


    ergibt ein "Deutsches Betriebssystem" ungeachtet der Locale.

    https://www.autoitscript.com/autoit3/docs/appendix/OSLangCodes.htm

    vg,
    dognose





    • Bearbeitet dognose Freitag, 2. Dezember 2016 19:40
    • Als Antwort markiert SandroReiter Sonntag, 4. Dezember 2016 07:52
    Freitag, 2. Dezember 2016 19:35
  • Korrekt wäre die Abfrage nach "OSLanguage" anstatt von "Locale". Und dies ist ein UINT, also für "Englisch" 1033 / Deutsch: 1031

    select * FROM Win32_OperatingSystem WHERE OSLanguage=1031


    ergibt ein "Deutsches Betriebssystem" ungeachtet der Locale.

    https://www.autoitscript.com/autoit3/docs/appendix/OSLangCodes.htm

    Hallo dognose,

    in den meisten Fällen dürfte es keine Rolle spielen ob man die Locale oder OSLanguage per WMI abfragt um die Sprache des Ziel-OS herauszufinden. Du hast aber natürlich recht mit Deiner Version, da diese nicht "meistens" sondern "immer" zur korrekten Client-Zielgruppe führt.

    Vielen Dank! :)



    Freundliche Grüße

    Sandro
    MCSA: Windows Server 2012
    Fachinformatiker Fachrichtung Systemintegration (IHK, 07/2013)



    Sonntag, 4. Dezember 2016 07:52