• Windows Server 2008 R2 Task Scheduler: Error 2147943712

    Столкнулся с ситуацией, когда при создании нового задания в планировщике задач (Task Scheduler) на Windows Server 2008 R2 возникла необходимость запускать это задание в фоновом режиме от имени определенной учетной записи доменного пользователя. Попытка сохранения задания с введенными учетными данными завершалась ошибкой

    image

    Как выяснилось, ОС попросту блокировала попытку сохранения учетных данных, так как была изменена политика безопасности Network access: Do not allow storage of passwords and credentials for network authentication
    По умолчанию эта политика находится в состоянии Disabled, и её включение приводит к вышеописанной проблеме.

    image

    Найти этот параметр можно в оснастке Local Security Policy (Панель управления (Control Panel) > Администрирование (Administrative Tools) > Local Security Policy). Параметр может изменяться как на уровне локальной политики компьютера, так и задаваться доменными GPO.

  • Долгая обработка GPP на этапе “Applying Group Policy Drive Maps policy” на клиентах RODC Windows Server 2008 R2

    На этапе внедрения RODC на базе Windows Server 2008 R2 была замечена проблема связанная с увеличением времени входа в систему на клиентских ПК. Проблема была выявлена на всех площадках где для авторизации в домене и применения групповых политик клиенты использовали RODC. После ввода учетных данных процесс входа в систему на несколько минут «замерзал» на этапе «Applying Group Policy Drive Maps policy». Разумеется, подозрение сразу пало на обработку Group Policy Preferences (GPP) в части обработки подключения сетевых дисков, так как в одной из групповых политик, применяемых в части User Configuration у меня было n-ное количество таких подключаемых дисков через механизмы GPP с использованием для каждого подключения нацеливания (Item-level targeting)

    clip_image001

    Для подключения разных дисков использовались три вида нацеливания: по членству пользователя в доменной группе, по NetBios имени компьютера и по вхождению пользователя в определенный OU в домене.
    Для того чтобы выяснить то, обработка какого именно подключения являлась корнем проблемы пришлось прибегнуть к включению трейсов для обработки параметров GPP. Для этого пришлось в групповой политике применяемой к испытуемому клиентскому компьютеру в разделе Computer Configuration активировать и настроить параметр Policies > Administrative Templates > System > Group Policy >Logging and tracing > Drive Maps Policy Processing.

    clip_image002

    По умолчанию ведение трейсов выключено и параметры для определения размещения лог файлов ссылаются на каталог %COMMONAPPDATA%GroupPolicyPreferenceTrace.

    Как ни странно, я не обнаружил в своих испытуемых системах Windows 7/Windows Server 2008 R2 переменной окружения %COMMONAPPDATA% и поэтому изменил путь для хранения логов с использованием существующей переменной окружения - %programDATA%. В данном случае меня интересовал параметр User trace и его значение получилось у меня таким: %programDATA%GroupPolicyPreferenceTraceUser.log

    Уровень логирования пришлось использовать максимальный, чтобы получить весь доступный объем информации о происходящем в процессе обработки GPP. И на всякий случай увеличено было значение максимального размера лог-файла.

    clip_image003

    После того как новая политика, включающая логирование применения GPP была применена на клиенте с помощью команды gpupdate, был сделано logoff/logon чтобы спровацировать обработку GPP в части подключения сетевых дисков пользователю. Теперь на испытуемом клиентском компьютере в указанном каталоге (C:ProgramDataGroupPolicyPreferenceTrace) был обнаружен файл трассировки User.log

    После изучения лога стало понятно, что обработка GPP всех сетевых дисков проходила «на одном дыхании» и заметный провал во времени обработки (более 1 минуты) происходил именно на одном определенном диске - “H:”

    clip_image004

    Оказалось что это единственный сетевой диск, в котором для нацеливания использовался признак вхождения пользователя в определенный OU в домене. Было принято решение для пробы изменить нацеливание для данного сетевого диска по признаку членства пользователя в доменной группе… Каково же было моё удивление когда время входа в систему сократилось в разы :) Даже покажу лог обработки после внесённых изменений, чтобы не быть голословным

    clip_image005

    Причем повторюсь, - проблема наблюдалась только на клиентах, которые сидели в сайте с RODC, на клиентах же имеющих в сайте полноценные DC такой «бяки» замечено не было.
    Исходя из этой истории, напрашивается вывод о том, что к применению Item-Level targeting нужно подходить с аккуратностью и предварительной обкаткой разных вариантов, тем более GPP предоставляет нам хороший выбор таких вариантов.

  • GPO: The client-side extension could not remove computer policy setting…because it failed with error code '0x8007000d The data is invalid.' (Event ID 8194 Source Group Policy Registry)

    imageВ один момент заметил, что на одном из контроллеров домена под управлением Windows Server 2008 перестал работать механизм GP Preferences. При этом в логе System периодически фиксировалась ошибка

    Log Name:      Application 
    Source:        Group Policy Registry 
    Date:          08.06.2010 6:04:43 
    Event ID:      8194 
    Task Category: (2) 
    Level:         Error 
    Keywords:      Classic 
    User:          SYSTEM 
    Computer:      DC02.mydom.com 
    Description: 
    The client-side extension could not remove computer policy settings for 'Default Domain Controllers Policy {6AC1786C-016F-11D2-945F-00C04fB984F9}' because it failed with error code '0x8007000d The data is invalid.' See trace file for more details.

    Как выяснилось, проблема связана с тем, что по какой-то причине ломается кэш преференций какой-либо групповой политики, что в дальнейшем приводит к проблеме обработки преференций и в других политиках применяемых на данном компьютере.

    Читать далее...

  • SCCM & Double UUID

    imageРабота с SCCM продолжает приносить нам сюрпризы. В ходе того как мы начали использовать функционал OS Deployment вскрылись новые подробности.

    При очередном развертывании целевой компьютер (HP DX7400) упорно отказывался начинать процесс установки ОС.

    Для изучения проблемы пришлось в загружаемом образе WinPE включить возможность отладки, после чего мы получили доступ к логам WinPE клиента и обнаружили что на этапе когда загруженный WinPE клиент обращается на SCCM сервер для получения задания развертывания ОС – происходит коллизия. А именно, SCCM сервер почему то определяет этого клиента как уже существующий в БД SCCM компьютер (совершенно другой но такой же модели - HP DX7400)…Далее  путём долгих мытарств выяснилось что эти два компьютера имеют одинаковый аппаратный UUID, который прошит в DMI области BIOS материнской платы на заводе производителе.
    Выяснилось что если SCCM находит в своей базе данных совпадающий UUID то он как принимает два разных компьютера за один и тот же…что и является причиной отказа в развертывании… По доступной в интернете информации - дублирующимися UUID отличаются некоторые производители оборудования, дочерние предприятия DELL и HP. Сначала мы попробовали решить эту проблему «софтверно», то есть я открывал кейс в тех.поддержке MS…но как и следовало ожидать их ответ был неутешительным- «Обращайтесь к разработчику оборудования». Пока изучал проблему узнал интересную вещь -  в свое время компания Microsoft для получения производителями статуса «Сертифицировано для Microsoft Windows» одним из условий выдвигала наличие у производителя поддержки RFC определяющего наличие и уникальность аппаратного UUID…но как оказалось наши «славянские братья» (если не путаю страна-производитель этих рабочих станций HP была Румыния) забили на все эти глупости )))
    Потом была долгая переписка с тех.поддержкой HP…и пока она длилась было найдено обходное решение по сносу с таких компьютеров всех данных BIOS из области DMI. Но при этом из BIOS, как следствие, вытирался не только UUID но и S/N и P/N девайса, что уже само по себе не очень красиво получалось…хотя при желании эти данные можно было вернуть назад с помощью ещё одной немецкой хакерской тулзы … но все эти операции выглядели очень муторно и неудобно...
    Совсем недавно наша переписка с инженером HP из !!!Индии!!! закончилась. Мы получили и успешно провели испытания утилиты SMBCFG от Phoenix Technologies. Данная тулза позволяет в режиме MS-DOS выполнить команду по регенерации аппаратного UUID не теряя при этом прочих данных их DMI области BIOS.

    Делается это одной командой:

    SMBCFG.EXE /UUID

    Столкнувшиеся с подобной проблемой могу стянуть утилиту отсюда

    PS: Обращаю ваше внимание на то что корректность работы утилиты проверена только на рабочих станциях HP DX7400 (Bios AWARD-Phoenix)

  • Интересный параметр GPO: Удалить команду "Выполнить" из меню "Пуск"

    В процесс настройки ужесточенной групповой политики для применения на терминальных серверах наткнулся на интересное поведение одного из параметров GPO.

    Путь в GPO:
    Конфигурация пользователя/Административные шаблоны/Меню "Пуск" и панель задач

    Параметр:
    Удалить команду "Выполнить" из меню "Пуск"

    image 

    Cуть в том, что при включении данного параметра, как выяснилось, в системе перестает корректно работать переход по UNC пути не только в Explorer и IE но и во всех других приложениях, например в той же 1С…т.е. переход с диска на диск в GUI путём клацанья мышкой как бы работает, но например из командного интерпретатора Cmd.exe при попытке подключения сетевого диска утилитой net – возникают ошибки по типу ограничения доступа…что само по себе не очень логично, и мне пришлось убить почти час времени чтобы среди кучи выставленных параметров GPO на терминальном сервере найти виновника странного поведения системы…
    В описании к данному параметру GPO конечно есть какая-то далеко неоднозначная фраза что-то типа «перестает работать интерфейс»…но что она значит на деле приходиться узнавать путем хождения по граблям …

  • Event ID 1511 и 1515 при загрузке пользовательского профиля на Windows Vista и Windows Server 2008

    Если на компьютере под управлением Windows Vista и Windows Server 2008 при входе в систему в момент загрузки пользовательского профиля пользователь получает сообщение о том что его профиль загрузить не удалось и будет использоваться временный профиль, это значит что его основной профиль по какой-то причине повреждён и его восстановленная копия безуспешно пытается загрузиться из реестра при логоне пользователя на компьютер. При этом в системном логе фиксируются события с кодом Event ID 1511 и 1515 Лечится это так:

    1. Для начала завершим все сессии пользователя с неисправным профилем и удалим его из списка профилей (если он там отображается, если не отображается переходим к пункту 2):

    - открываем snap-in "Свойства системы"
    - переходим на закладку "Дополнительно"
    - открываем "Профили пользователей"
    - удаляем неисправный профиль пользователя.

    2. Теперь надо вычистить информацию об этом профиле из реестра:

    - для этого определяем SID пользователя. сделать это можно например с помощью утилиты psgetsid.exe

    D:winToolsSysinternalsPsTools>psgetsid.exe MyDompetrov-va
    
    PsGetSid v1.43 - Translates SIDs to names and vice versa
    Copyright (C) 1999-2006 Mark Russinovich
    Sysinternals - www.sysinternals.com
    
    SID for MyDompetrov-va:
    S-1-5-21-2882866809-389392232-255224647-3057
    
    

    - далее открываем редактор реестра и переходим в куст: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList
    - находим в этой ветке SID полученный ранее (возможно имя будет иметь формат SID.bak) и удаляем это ветку реестра.
    - снова логинимся этим пользователем и проверяем то что в каталоге пользователей профиль создался корректно и сообщений об ошибках не фиксируется.

    Дополнительная информация:
    1. Error message when you log on to a Windows Vista-based computer by using a temporary profile: "The User Profile Service failed the logon. User profile cannot be loaded"
    2. Vista - Event ID 1511, 1515 Profile loss to TEMP

  • Проблема с подключением сетевого ресурса размещенного на Windows Server при обращении по DNS-алиасу (CNAME)

    Есть сервер под управлением Windows Server 2003/2008. На этом сервере размещён общий сетевой ресурс. Ну скажем например выставлен в общий доступ каталог ShareDocuments$. Реальное имя сервера - Server001.domain.com. Соответственно при необходимости подключения с этого сервера на клиентских компьютерах нашего каталога ShareDocuments$ используем команду

    D:> net use Z: \Server001.domain.com\Share\Documents$
    Команда выполнена успешно.

    Тут всё понятно. Но в жизни может возникнуть такая ситуация, когда нужно подключить данный ресурс используя DNS-алиас (CNAME) этого сервера (например AnyServerWhithMyShare.domain.com). В таком случае попытка подключения сетевого каталога может завершиться неудачей, причем выдаваемый текст ошибки достаточно загадочен.

    D:>net use Z: \AnyServerWhithMyShare.domain.com\Share\Documents$
    Системная ошибка 52.
    Вы не подключены, поскольку такое же имя уже существует в этой сети.
    Для присоединения к домену откройте компонент панели управления "Система",
    измените имя компьютера и повторите попытку.
    Для присоединения к рабочей группе выберите другое имя рабочей группы.


    Информацию по этому поводу удалось найти в статье Базы знаний Microsoft 281308 Подключение с общим доступом по протоколу SMB на компьютерах с операционной системой Windows 2000 или Windows Server 2003 не всегда работает с псевдонимом
    Данную особенность можно назвать фичей, хотя весьма странной в статье выглядит фраза "Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в начале данной статьи. Первое исправление этой проблемы появилось в пакете обновлений 3 (SP3) для Windows 2000"

    После соответствующих изменений реестра на сервере:
    В разделе реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters
    был создан параметр DisableStrictNameChecking с типом данных REG_DWORD и значением 1 (десятичное)
    и последующей перезагрузки сервера, подключение по CNAME заработало:

    D:> net use Z: \AnyServerWhithMyShare.domain.com\Share\Documents$
    Команда выполнена успешно.

  • Диспетчер устройств не отображает устройства, не подключенные к компьютеру под управлением Windows

    Бывало что меняли сетевую карточку на новую, а ОС Windows помнит старые настройки и мешает использовать их на новом устройстве?
    Или например несколько раз устанавливали какие-либо устройства, которые в дальнейшем использовать не планируется, а система оставляет после их использования в своих недрах "мусор"...

    Решение, которое позволит включить отображение таких устройств в оснастке "Диспетчер устройств" и затем удалить их из системы, выглядит так:

    1. В командной строке введите следующую команду и нажмите клавишу ВВОД:

    set devmgr_show_nonpresent_devices=1

    (Устанавливаем системную переменную для включения отображения устройств-призраков в оснастке "Диспетчер устройств")

    2. В командной строке введите следующую команду и нажмите клавишу ВВОД:

    start devmgmt.msc

    (Запускаем оснастку "Диспетчер устройств")

    Примечание. В открытой оснастке выберите пункт "Показать скрытые устройства" в меню "Вид" для того, чтобы отобразить устройства, которые не подключены к компьютеру.

    Обратите внимание, что после закрытия окна командной строки Windows обнуляет переменную devmgr_show_nonpresent_devices=1, установленную на шаге 2, и устройства-призраки перестают отображаться при выборе пункта Показать скрытые устройства.
    Если вы хотите чтобы неподключенные к компьютеру устройства отображались в диспетчере устройств всегда - задайте это в глобальных переменных системы.

    Описание данного вопроса освещено в статье KB315539 Базы знаний Microsoft