SCRIPT HORARIO DE VERAO 2010/2011

PATRICIALINDA 11/10/2010 16:07:47
#354865
Vou contribuir com vocês o script VBS que fiz para correção do TimeZone (Horário de Verão) para correção em massa através de um [txt-color=#e80000]ScriptLogon[/txt-color]:
Minha empresa possui 890 workstations e para garantir, já fiz o script de 2010 até 2016

Espero que o ano não acabe em 2012...


Suporta:
  • Windows 2000
  • Server 2003
  • Server 2008
  • XP-SP3
  • Win 7


    Softwares adicionais para execução com permissão administrativa:
  • [txt-color=#0000f0] psexec [/txt-color] = executa tarefas com passagem de usuario e senha (adm) por parâmetro para modificar o registro do windows, pois o usuario comum não tem permissão.
  • [txt-color=#0000f0] cmdhv [/txt-color] = corrige o time-zone no windows


    Citação:


    [ô]=============================================================================
    [ô] Function : Corrigir o TimeZone do Horário de verão de 2010 à 2015
    [ô] Developed : Peterson Menezes Trindade
    [ô] Company : GTS DIGITAL - www.gtsdigital.com.br
    [ô] Date modify : 11/10/2010
    [ô] Support : Windows 2000, Server 2003, Server 2008, XP-SP3 e 7
    [ô]=============================================================================
    Option Explicit
    On Error Resume Next

    Dim objShell : Set objShell = CreateObject([Ô]WScript.Shell[Ô])
    Dim objNetwork : Set objNetwork = CreateObject([Ô]WScript.Network[Ô])
    Dim WshShell : Set WshShell = WScript.CreateObject([Ô]WScript.Shell[Ô])



    [ô]===========================================
    [ô] 1º) VERIFICAR A VERSÃO DO SISTEMA OPERACIONAL
    [ô]===========================================
    Dim objWMIService: Set objWMIService = GetObject([Ô]winmgmts:{impersonationLevel=impersonate}!\\.oot\cimv2[Ô])
    Dim colOperatingSystems: Set colOperatingSystems = objWMIService.ExecQuery ([Ô]Select * from Win32_OperatingSystem[Ô])
    Dim objOperatingSystem

    For Each objOperatingSystem in colOperatingSystems
    [ô][Ô]Microsoft Windows 7 Professional[Ô]
    If Trim(objOperatingSystem.Caption) = [Ô]Microsoft ® Windows Server ® 2008 Standard[Ô] Then
    Wscript.Quit
    End If
    Next




    [ô]===========================================
    [ô] 2º) ATIVAR A OPÇÃO: [Ô]AJUSTAR AUTOMATICAMENTE O RELÓGIO PARA O HORÁRIO DE VERÃO[Ô]
    [ô]===========================================
    If KeyExists([Ô]HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\DynamicDaylightTimeDisabled[Ô]) = True Then
    objShell.RegWrite [Ô]HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\DynamicDaylightTimeDisabled[Ô], [Ô]0[Ô], [Ô]REG_DWORD[Ô]
    End If




    [ô]===========================================
    [ô] 3º) CORRIGIR O TIME-ZONE DO S.O. COM A DATA DE INÍCIO E TéRMINO DO [Ô]HORÁRIO DE VERÃO[Ô] REFERENTE AO ANO VIGENTE
    [ô]===========================================
    If CDate(FU_Data_Hora_Atual) <= [Ô]20/02/2011[Ô] Then [ô]HV 2010/2011 = 17/10/2010 à 20/02/2011
    objShell.Run [Ô]\\server01\NETLOGON\HorarioVerao\psexec -accepteula -e -u corp\pmtrindade -p senha@123 -c -s CMDHV.exe /TZ:E. South America Standard Time /HI:2010-10-17 /HF:2011-02-20[Ô]

    ElseIf CDate(FU_Data_Hora_Atual) >= [Ô]21/02/2011[Ô] And CDate(FU_Data_Hora_Atual) <= [Ô]26/02/2012[Ô] Then [ô]HV 2011/2012 = 16/10/2011 à 26/02/2012
    objShell.Run [Ô]\\server01\NETLOGON\HorarioVerao\psexec -accepteula -e -u corp\pmtrindade -p senha@123 -c -s CMDHV.exe /TZ:E. South America Standard Time /HI:2011-10-16 /HF:2012-02-26[Ô]

    ElseIf CDate(FU_Data_Hora_Atual) >= [Ô]27/02/2012[Ô] And CDate(FU_Data_Hora_Atual) <= [Ô]17/02/2013[Ô] Then [ô]HV 2012/2013 = 21/10/2012 à 17/02/2013
    objShell.Run [Ô]\\server01\NETLOGON\HorarioVerao\psexec -accepteula -e -u corp\pmtrindade -p senha@123 -c -s CMDHV.exe /TZ:E. South America Standard Time /HI:2012-10-21 /HF:2013-02-17[Ô]

    ElseIf CDate(FU_Data_Hora_Atual) >= [Ô]18/02/2013[Ô] And CDate(FU_Data_Hora_Atual) <= [Ô]16/02/2014[Ô] Then [ô]HV 2013/2014 = 20/10/2013 à 16/02/2014
    objShell.Run [Ô]\\server01\NETLOGON\HorarioVerao\psexec -accepteula -e -u corp\pmtrindade -p senha@123 -c -s CMDHV.exe /TZ:E. South America Standard Time /HI:2013-10-20 /HF:2014-02-16[Ô]

    ElseIf CDate(FU_Data_Hora_Atual) >= [Ô]17/02/2014[Ô] And CDate(FU_Data_Hora_Atual) <= [Ô]22/02/2015[Ô] Then [ô]HV 2014/2015 = 19/10/2014 à 22/02/2015
    objShell.Run [Ô]\\server01\NETLOGON\HorarioVerao\psexec -accepteula -e -u corp\pmtrindade -p senha@123 -c -s CMDHV.exe /TZ:E. South America Standard Time /HI:2014-10-19 /HF:2015-02-22[Ô]

    ElseIf CDate(FU_Data_Hora_Atual) >= [Ô]23/02/2015[Ô] And CDate(FU_Data_Hora_Atual) <= [Ô]21/02/2016[Ô] Then [ô]HV 2015/2016 = 18/10/2015 à 21/02/2016
    objShell.Run [Ô]\\server01\NETLOGON\HorarioVerao\psexec -accepteula -e -u corp\pmtrindade -p senha@123 -c -s CMDHV.exe /TZ:E. South America Standard Time /HI:2015-10-18 /HF:2016-02-21[Ô]
    End If


    [ô]===============================================================================================
    [ô] SINCRONIZAR A DATA/HORA COM A DO SERVIDOR
    [ô]===============================================================================================
    WshShell.Run [Ô]net time \\server01 /set /YES[Ô], 0, TRUE


    Wscript.Quit







    Function FU_Data_Hora_Atual()
    Dim dd, mt, yy, hora

    dd = Right([Ô]00[Ô] & Day(Now), 2)
    mt = Right([Ô]00[Ô] & Month(Now), 2)
    yy = Right(Year(Now), 4)

    FU_Data_Hora_Atual = dd & [Ô]/[Ô] & mt & [Ô]/[Ô] & yy
    End Function


    Function KeyExists(key)
    On Error Resume Next
    objShell.RegRead(key)
    If Err.number <> 0 Then
    KeyExists = False
    Err.Clear
    Else
    KeyExists = True
    End If
    End Function

    TECLA 11/10/2010 19:13:01
    #354881
    Como se trata de uma DICA e não uma DÚVIDA, peço que utilize a ferramenta de UPLOAD de materiais do site (cujo link está na HOME) e envie o texto em forma de ARTIGO. Creio que desta forma sua dica será melhor aproveitada pelos colegas.

    O tópico será encerrado.
    Tópico encerrado , respostas não são mais permitidas