none
не выполняется скрипт в GPO RRS feed

  • Вопрос

  • Здравствуйте всем.

    У меня дурацкая проблема и не могу ее разрешить, прошу помощи.

    В свете последних постановлений партии и правительства...
    Пардон, зарапортовался, де-жа-вю какая-то с нынешней политикой...

    Так вот, вышел патч (ну, Майкрософт выпустил, конечно-же) по изменению (очередному) временных зон и на некоторых клиентских машинах уехало время на один час. И никакая это не проблема, ни разу. TZUTIL /s "Ekaterinburg Standard Time" и всё (!!!), ну, я так думал. Правильно думал, кстати, работает на "ура!", НО... не тогда, когда назначен через доменную политику в стартап-скрипт.

    Короче, не работает и не могу это побороть.

    Скрипт находится в файлике TimeZone.cmd который расположен в \\МОЙ_ДОМЕН\sysvol\МОЙ_ДОМЕН\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\Machine\Scripts\Startup

    именно это расположение открывается при нажатии кнопочки "Show Files..."

    при перегрузке компа юзера ничего не происходит (на тестовом Вин-7 компе специально сбита настройка тай-зоны)

    долго бился, потом изменил скрипт на TZUTIL /s "Ekaterinburg Standard Time" > C:\TimeS2.txt

    так ведь отрабатывает скрипт!!! а в файле  C:\TimeS2.txt содержится текст "TZUTIL: Insufficient privileges to set the current time zone."

    убиться ап стол, но какие права нужны для выполнения?!!! я даже дал право ЭвриВане менять системное время!

    Хелп и помогите!


    Не игнорируйте встроенную справку, читайте ее и большинство вопросов будет решено гораздо быстрее.

    3 октября 2014 г. 14:11

Ответы

  • Коллеги есть КБ http://support.microsoft.com/kb/2880607. При добавлении привилегий как там описано скрипт начинает отрабатывать нормально.
    На тесте выполнил следующее. С машины в которой поправили привилегии выгружаем ветку реестра. Далее этот набор вставляем в рек файл, и так же применяем его в стартап скрипте. У Local System есть полные права на данную ветку , поэтому ключ реестра обновляется без проблем. После этого TZUtil работает нормально. Не говорю что это верное решение и устраивать такой трешь изза временной зоны это дело каждого, но факт остается фактом.

    Ниже лог выполнения скрипта.

    C:\Windows>whoami /priv 

    PRIVILEGES INFORMATION
    ----------------------

    Privilege Name                Description                               State  
    ============================= ========================================= ========
    SeAssignPrimaryTokenPrivilege Replace a process level token             Disabled
    SeIncreaseQuotaPrivilege      Adjust memory quotas for a process        Disabled
    SeTcbPrivilege                Act as part of the operating system       Enabled
    SeSecurityPrivilege           Manage auditing and security log          Disabled
    SeTakeOwnershipPrivilege      Take ownership of files or other objects  Disabled
    SeLoadDriverPrivilege         Load and unload device drivers            Disabled
    SeCreatePermanentPrivilege    Create permanent shared objects           Enabled
    SeBackupPrivilege             Back up files and directories             Disabled
    SeRestorePrivilege            Restore files and directories             Disabled
    SeShutdownPrivilege           Shut down the system                      Disabled
    SeChangeNotifyPrivilege       Bypass traverse checking                  Enabled
    SeImpersonatePrivilege        Impersonate a client after authentication Enabled
    SeTimeZonePrivilege           Change the time zone                      Enabled

    C:\Windows>whoami /user

    USER INFORMATION
    ----------------

    User Name           SID    
    =================== ========
    nt authority\system S-1-5-18

    C:\Windows>regedit.exe /s win7.reg

    C:\Windows>tzutil.exe /S "Russian Standard Time"

    Особое спасибо моему коллеге Илье Порываеву :-) !


    Sergey Seryogin


    • Изменено Sergey V. Seregin 8 октября 2014 г. 5:49
    • Помечено в качестве ответа Mih Miheev 8 октября 2014 г. 6:15
    8 октября 2014 г. 5:34

Все ответы

  • Неплохо было бы указать версии ОС клиентов, на которых возникает проблема (вряд ли это Windows server 2012, для которой создана данная ветка форума).

    Потому что, начиная с Windows Vista, для изменения временной зоны требуется другая привилегия: "Change the time zone".

    Для более старых версий действительно требовалась именно привилегия "Change the system time" (плюс, разрешения Query Value, Set Value, Create Subkey, Enumerate Subkeys, Notify, Read Control на ключ реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation ).


    Слава России!

    • Предложено в качестве ответа Alexander RusinovModerator 3 октября 2014 г. 19:40
    • Отменено предложение в качестве ответа Mih Miheev 6 октября 2014 г. 5:29
    3 октября 2014 г. 14:28
  • Прошу прощения за неполную инфу.

    1) Проблемы обнаружены только на ОС Виндовс 7, на восьмерках все прошло нормально.

    2) неправильно информировал "я даже дал право ЭвриВане менять системное время! " - на самом деле выданы права на Change the Time Zone. Через политику (локальную, на тестовой машинке) даны права на изменение тайм-зоны группам Administrators, Users, System, Local Service, Everyone

    и все равно "TZUTIL: Insufficient privileges to set the current time zone."


    Не игнорируйте встроенную справку, читайте ее и большинство вопросов будет решено гораздо быстрее.

    6 октября 2014 г. 5:29
  • Скрипт сделайте не на машину, а на пользователя.

    Сазонов Илья http://isazonov.wordpress.com/

    6 октября 2014 г. 15:25
    Модератор
  • Добрый день коллеги !

    Точно такое же поведение именно на Windows 7. Причем новые машины только что введенные в домен отрабатывают нормально.

    PS. Скрипты сделаны на машину. Через WMI фильтры на Windows XP и Windows 7 применяются различные GPO. c Windows XP все в порядке.


    Sergey Seryogin


    7 октября 2014 г. 6:07
  • Мих Михев, добавьте в скрипт whoami /priv...  Получим список привилегий для пользователя от которого выполняется скрипт. Это учетная запись COMPUTER$.

    Смотрите список привилегий должна быть SeTimeZonePrivilege. На тех машинах у которых данная привилегия есть смена проходит нормально. Осталось выяснить откуда ноги растут по набору данных привилегий.

    Модераторы, перенесите ветку пожалуйста в соответствующий форм, тема интересная.


    Sergey Seryogin

    7 октября 2014 г. 9:23
  • Коллеги есть КБ http://support.microsoft.com/kb/2880607. При добавлении привилегий как там описано скрипт начинает отрабатывать нормально.
    На тесте выполнил следующее. С машины в которой поправили привилегии выгружаем ветку реестра. Далее этот набор вставляем в рек файл, и так же применяем его в стартап скрипте. У Local System есть полные права на данную ветку , поэтому ключ реестра обновляется без проблем. После этого TZUtil работает нормально. Не говорю что это верное решение и устраивать такой трешь изза временной зоны это дело каждого, но факт остается фактом.

    Ниже лог выполнения скрипта.

    C:\Windows>whoami /priv 

    PRIVILEGES INFORMATION
    ----------------------

    Privilege Name                Description                               State  
    ============================= ========================================= ========
    SeAssignPrimaryTokenPrivilege Replace a process level token             Disabled
    SeIncreaseQuotaPrivilege      Adjust memory quotas for a process        Disabled
    SeTcbPrivilege                Act as part of the operating system       Enabled
    SeSecurityPrivilege           Manage auditing and security log          Disabled
    SeTakeOwnershipPrivilege      Take ownership of files or other objects  Disabled
    SeLoadDriverPrivilege         Load and unload device drivers            Disabled
    SeCreatePermanentPrivilege    Create permanent shared objects           Enabled
    SeBackupPrivilege             Back up files and directories             Disabled
    SeRestorePrivilege            Restore files and directories             Disabled
    SeShutdownPrivilege           Shut down the system                      Disabled
    SeChangeNotifyPrivilege       Bypass traverse checking                  Enabled
    SeImpersonatePrivilege        Impersonate a client after authentication Enabled
    SeTimeZonePrivilege           Change the time zone                      Enabled

    C:\Windows>whoami /user

    USER INFORMATION
    ----------------

    User Name           SID    
    =================== ========
    nt authority\system S-1-5-18

    C:\Windows>regedit.exe /s win7.reg

    C:\Windows>tzutil.exe /S "Russian Standard Time"

    Особое спасибо моему коллеге Илье Порываеву :-) !


    Sergey Seryogin


    • Изменено Sergey V. Seregin 8 октября 2014 г. 5:49
    • Помечено в качестве ответа Mih Miheev 8 октября 2014 г. 6:15
    8 октября 2014 г. 5:34
  • Сергей Серегин, большое русское Мерси!!!

    А я столько времени искал в инетах и не мог найти эту статью, не попалась :-)

    и самостоятельно вычислить тоже не получилось

    Сейчас переделаю на повершелл с проверкой версии винды и сюда скину


    Не игнорируйте встроенную справку, читайте ее и большинство вопросов будет решено гораздо быстрее.

    8 октября 2014 г. 6:20