none
Скрипт редактирования времени RRS feed

  • Вопрос

  • Здравствуйте,

    утром задался задачей, под управлением w2k3 ent sp2 , средствами gpo обновить пользователям временные зоны и установить корректные даты/время. 

    был найден скрипт и кинут в %logonserver%\netlogon

    @echo off
    
    regedit /s \\server\NETLOGON\Script\TZupdate.reg
    
    rem For English name of time zone
    set varen=Russian Standard Time
    rem For Russian name of time zone
    set varru=Российское время
    rem For Windows XP and 2003
    if exist %windir%\system32\tzchange.exe (
    reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v StandardName|find "%varen%"||reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v StandardName|find "%varru%"
    if errorlevel == 1 (
    tzchange.exe /c "%varen%"
    )
    ) else (
    rem For Windows 7 and Server 2008 R2
    if exist %windir%\system32\tzutil.exe (
    tzutil.exe /g|find "%varen%"
    if errorlevel == 1 (
    tzutil.exe /s "%varen%"
    )
    ) else (
    rem For Windows 2000 without reg.exe
    if not exist %windir%\system32\reg.exe (
    RunDLL32.exe shell32.dll,Control_RunDLL timedate.cpl,,/Z %varen%
    ) else (
    reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v TimeZoneKeyName
    rem For Windows 2000 with reg.exe
    if errorlevel == 1 (
    reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v StandardName|find "%varen%"||reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v StandardName|find "%varru%"
    if errorlevel == 1 (
    RunDLL32.exe shell32.dll,Control_RunDLL timedate.cpl,,/Z %varen%
    ) else (
    exit
    )
    ) else (
    rem For Windows Vista and Server 2008
    reg query HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /f "%varen%" /d
    if errorlevel == 1 (
    reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v TimeZoneKeyName /t REG_SZ /d "%varen%" /f
    net stop w32time
    net start w32time
    )))))


    обновления для временных зон

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Russian Standard Time]
    "MUI_Display"=-
    "Display"="(GMT+04:00) Волгоград, Москва, Санкт-Петербург"
    "TZI"=hex:10,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,\
      00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

    собственно кинул в стартап гпо и с нужными правами админа он работает, 

    вопрос возможно ли заставить это работать под правами пользователей?

    из того, что попробовал, 

    в гпо добавить разрешение на редактирование реестра, а именно ветка HKLM текущему пользователю, группе пользователей, всем, итд.. 

    в гпо разрешить измненение времени текущему пользователю .. 

    где-то вычитал что reg add может сработать с ограниченными правами 

    попробовал изобразить 

    REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Russian Standard Time" /v MUI_Display /t REG_SZ /d - /f
    REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Russian Standard Time" /v Display /t REG_SZ /d "(GMT+04:00) Волгоград, Москва, Санкт-Петербург" /f
    REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Russian Standard Time" /v TZI /t REG_BINARY /d 10ffffff00000000c4ffffff0000000000000000000000000000000000000000000000000000000000000000 /f
    

    жаловался на возможность импорта только двоичных данных. (?)


    подумал о adm шаблонах, но они не поддерживают бинарный код.

    как быть?

    машины в сети winxp sp2-sp3, win7 x86/x64, 

    собственно мб есть вариант более простой ? не прибегающий к включению пользователей в группу администраторов? 

    спасибо.


    12 февраля 2013 г. 19:44

Ответы

  • 1) Почему бы на winxp sp3, win7 x86/x64 не поставить обновление решающее эту проблему? - http://support.microsoft.com/kb/2756822

    2) Зачем применять скрипт на пользователя,когда требуется на компьютер?

    1. опять жеж скрипты и гпо)

    2.


    вы имеете ввиду что правильнее SYSVOL? реестр вроде ожил, новая временная зона добавилась. 

    и все же непонятно как средствами юзера сменить временную зону.. ибо даже с разрешением в локальных политиках, оно этого не делает)


    1) Если в системе бардак,то да,все можно сделать через одно место.А так для этого существует WSUS,автоматическое обновление и т.д.

    2) HKLM системная ветка,то и писать туда должна система,а не пользователи. Данная привилегия по умолчанию разрешена пользователям Windows 7 и они могут менять часовой пояс,в Windows Xp надо явно задать эту привилегию - Change the system time. Если политику назначить на компьютер, то выполнение будет происходит от System,данная учетная запись умеет доступ к HKLM и может изменить часовой пояс.

    13 февраля 2013 г. 6:09
    Отвечающий

Все ответы

  • 1) Почему бы на winxp sp3, win7 x86/x64 не поставить обновление решающее эту проблему? - http://support.microsoft.com/kb/2756822

    2) Зачем применять скрипт на пользователя,когда требуется на компьютер?

    12 февраля 2013 г. 19:52
    Отвечающий
  • 1) Почему бы на winxp sp3, win7 x86/x64 не поставить обновление решающее эту проблему? - http://support.microsoft.com/kb/2756822

    2) Зачем применять скрипт на пользователя,когда требуется на компьютер?

    1. опять жеж скрипты и гпо)

    2.


    вы имеете ввиду что правильнее SYSVOL? реестр вроде ожил, новая временная зона добавилась. 

    и все же непонятно как средствами юзера сменить временную зону.. ибо даже с разрешением в локальных политиках, оно этого не делает)


    • Изменено BBC2k 12 февраля 2013 г. 20:56
    12 февраля 2013 г. 20:52
  • 1) Почему бы на winxp sp3, win7 x86/x64 не поставить обновление решающее эту проблему? - http://support.microsoft.com/kb/2756822

    2) Зачем применять скрипт на пользователя,когда требуется на компьютер?

    1. опять жеж скрипты и гпо)

    2.


    вы имеете ввиду что правильнее SYSVOL? реестр вроде ожил, новая временная зона добавилась. 

    и все же непонятно как средствами юзера сменить временную зону.. ибо даже с разрешением в локальных политиках, оно этого не делает)


    1) Если в системе бардак,то да,все можно сделать через одно место.А так для этого существует WSUS,автоматическое обновление и т.д.

    2) HKLM системная ветка,то и писать туда должна система,а не пользователи. Данная привилегия по умолчанию разрешена пользователям Windows 7 и они могут менять часовой пояс,в Windows Xp надо явно задать эту привилегию - Change the system time. Если политику назначить на компьютер, то выполнение будет происходит от System,данная учетная запись умеет доступ к HKLM и может изменить часовой пояс.

    13 февраля 2013 г. 6:09
    Отвечающий
  • 1) Почему бы на winxp sp3, win7 x86/x64 не поставить обновление решающее эту проблему? - http://support.microsoft.com/kb/2756822

    2) Зачем применять скрипт на пользователя,когда требуется на компьютер?

    1. опять жеж скрипты и гпо)

    2.


    вы имеете ввиду что правильнее SYSVOL? реестр вроде ожил, новая временная зона добавилась. 

    и все же непонятно как средствами юзера сменить временную зону.. ибо даже с разрешением в локальных политиках, оно этого не делает)


    1) Если в системе бардак,то да,все можно сделать через одно место.А так для этого существует WSUS,автоматическое обновление и т.д.

    2) HKLM системная ветка,то и писать туда должна система,а не пользователи. Данная привилегия по умолчанию разрешена пользователям Windows 7 и они могут менять часовой пояс,в Windows Xp надо явно задать эту привилегию - Change the system time. Если политику назначить на компьютер, то выполнение будет происходит от System,данная учетная запись умеет доступ к HKLM и может изменить часовой пояс.

    1. тут не поспоришь, бардак. стремимся к автоматизации)

    2. 

    имеете ввиду создать ou, добавить нужный компьютер из ad/computers 

    и попробовать навесить gpo ? 



    13 февраля 2013 г. 9:26
  • Спасибо, вопрос решен.
    16 февраля 2013 г. 8:32