Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Tzutil in vbscript help

Posted on 2011-02-15
5
2,340 Views
Last Modified: 2012-05-11
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.
0
Comment
Question by:tetran_au
  • 3
  • 2
5 Comments
 
LVL 5

Accepted Solution

by:
Tompa99 earned 500 total points
ID: 34904303
Hi

Try this

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

best Regards Tompa
0
 
LVL 2

Author Comment

by:tetran_au
ID: 34904609
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
 
LVL 2

Author Comment

by:tetran_au
ID: 34905038
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
 
LVL 2

Author Closing Comment

by:tetran_au
ID: 34905048
Truely helpful expert.

eternally grateful
0
 
LVL 5

Expert Comment

by:Tompa99
ID: 34906230
Good good always happy to help.

Regards Tompa
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Welcome, welcome!  If you are new to the series and haven't been following along, please take a brief moment to review the first three installments: Part 1 (http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/A_266-VBScri…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

861 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question