Tzutil in vbscript help

Hi guys i need a bit of help.

I am creating a SOE image for a rollout of about 500 pc's.  These pc's will be all over australia so i am in the process of creating a vb script that will allow the users to select the state they are in and it will change the timezone on the machine accordingly.

I am using vbscript to call on the command line tool TZutil.exe. This is a summary of the code i am trying to get working

ChangeTimeZone("Aus Eastern Standard Time")

Sub ChangeTimeZone(strTimeZone)
   Set objShell = CreateObject("WScript.shell")  
   objShell.Run "tzutil.exe /s" & strTimeZone
   wscript.echo ("Timezone changed to " & strTimeZone)
End Sub


However i think the above code is presenting TZutil.exe /s Aus Eastern Standard Time instead of what i need in TZUTIL /s "Aus Eastern Standard Time"

The missing " " around the timezone name is what seems to be breaking this for me.  I need to find some what to ensure that the time zone is passed through to the command line with the " " around it

The question is how do i get this to work.  I have only started learning VB so this is a new thing for me.  Any assistace will be greatly appreciated. As this is the last thing of a long complicated process.

Is it simple process to get the command parsed through including the " " around the timezoneID or is there a major complicated re-write of code  I need to do.
LVL 2
tetran_auAsked:
Who is Participating?
 
Tompa99Connect With a Mentor Commented:
Hi

Try this

objShell.Run "tzutil.exe /s" & chr(34) & strTimeZone & chr(34)

best Regards Tompa
0
 
tetran_auAuthor Commented:
Hi Tompa

Thanks for the quick response

I have modified the script to now be



ChangeTimeZone("Fiji Standard Time")

Sub ChangeTimeZone(strTimeZone)
   Set objShell = CreateObject("WScript.shell")  
   objShell.Run "c:\windows\system32\tzutil.exe /s" & chr(34) & strTimeZone & chr(34)
   wscript.echo ("Timezone changed to " & chr(34) & strTimeZone & chr(34))
End Sub

The good point is while it is showing the " " in the wscript.echo it is still not running the command correctly. ;(

0
 
tetran_auAuthor Commented:
Hi Tompa,

Ignore my last post, You are truely a god

I modified the script to try and see what was going wrong

ChangeTimeZone("Aus Eastern Standard Time")

Sub ChangeTimeZone(strTimeZone)
   Set objShell = CreateObject("WScript.shell")  
   objShell.Run "c:\windows\system32\tzutil.exe /s" & chr(34) & strTimeZone & chr(34)
   wscript.echo ("c:\windows\system32\tzutil.exe /s " & chr(34) & strTimeZone & chr(34))
   wscript.echo ("Timezone changed to " & chr(34) & strTimeZone & chr(34))
End Sub

With the line you provided it was parsing thru the following

c:\windows\system32\tzutil.exe /s"TimeZoneID"

I tried this command from the cmd.exe and it bombed out.

i have since identified that it needed space between the /s and the "timezoneID"

So i changed
objShell.Run "c:\windows\system32\tzutil.exe /s" & chr(34) & strTimeZone & chr(34)
to
objShell.Run "c:\windows\system32\tzutil.exe /s " & chr(34) & strTimeZone & chr(34)

and it worked perfectly...

cant thank you enough for your help.

THANK YOUUUUUUUU

0
 
tetran_auAuthor Commented:
Truely helpful expert.

eternally grateful
0
 
Tompa99Commented:
Good good always happy to help.

Regards Tompa
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.