Avatar billede azerty Juniormester
24. maj 2011 - 16:29 Der er 6 kommentarer og
1 løsning

VBS-script til OS language

Det er muligt at lave et vbs-script, der fastslår den aktuelle computers Windows-versions "OS language":

---
Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set oss = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")

For Each os in oss

    Wscript.Echo "OS Language: " & os.OSLanguage
Next
---

Output er "OS Language: 1030" .... som er koden for "dansk installation"


Jeg kunne godt tænke mig at lave et "If-Else"-script, hvor jeg undersøger, om brugerens kode er "1030" eller ikke "1030". Hvis den er "1030", vil jeg åbne en exefil, og hvis den ikke er "1030", vil jeg åbne en anden exefil.

Jeg tænker mig noget a la dette udløbsdato-script:

http://www.eksperten.dk/spm/938510#reply_7777330


På forhånd tak!
Avatar billede collin Nybegynder
28. maj 2011 - 01:16 #1
Det må være:


Set oShell = WScript.CreateObject("WSCript.shell")
If os.OSLanguage = 1030 then
oShell.run "mit program"
else
oShell.run "mit andet program"
end if
Set oShell = Nothing
Avatar billede azerty Juniormester
30. maj 2011 - 09:04 #2
Takker, collin. Jeg prøver, når jeg kommer hjem fra arbejde i aften. :-)
Avatar billede azerty Juniormester
30. maj 2011 - 19:10 #3
Jeg får denne fejl (i XP):

Script:  oscheck.vbs
Linje;    2
Tegn:    1
Fejl:      Et objekt er obligatorisk: 'os'
Kode:  800A01A8
Kilde:  Der opstod en Microsoft VBScript-kørselsfejl

Hvad kan det være, tror du? Selv ved jeg ikke ret meget om *.vbs-filer. Jeg har prøvet at rykke rundt, slette lidt, tilføje lidt, men det duer slet ikke.
Avatar billede collin Nybegynder
30. maj 2011 - 20:39 #4
Undskyld jeg ikke var mere tydeligt; du skal integrere min script i din. Således:


    strComputer = "."
    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set oss = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
    Set oShell = WScript.CreateObject("WSCript.shell")

    For Each os in oss

        If os.OSLanguage = 1030 then
        oShell.run "mit program.exe"
        else
        oShell.run "mit andet program.exe"
        end if

    Next

    Set oShell = Nothing

Den første linie i din script  (  Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")  ) bruges ikke her. Hvis du vil bruge den til noget kan du få den til at fortælle præcist hvornår din OS(er)  blev installeret.

Ny script: afslør installationsdato.vbs

    Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")   
    For Each os in GetObject( "winmgmts:").InstancesOf ("Win32_OperatingSystem")
    dtmConvertedDate.Value = os.InstallDate
      MsgBox "Præcis installationsdato for denne OS var:  " & dtmConvertedDate.GetVarDate
    next


For 'mit program.exe' skal du selvfølgelig skrive det fulde sti til og navnet på det program du vil køre.
Avatar billede azerty Juniormester
30. maj 2011 - 21:25 #5
Wow, det er såååååå smukt...... det virker perfekt.

På mit danske windows går scriptet til "mit program".

Jeg prøvede for sjov at ændre "1030" til "1031", og så går den til "mit andet program" - som den jo skal.

Læg  venligst et svar, collin, og få dine velfortjente points :-)
Avatar billede azerty Juniormester
30. maj 2011 - 21:26 #6
Jeg glemte at skrive "1000 tak", collin.
Avatar billede collin Nybegynder
31. maj 2011 - 20:40 #7
Det var så lidt..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester