• WSUS Troubleshooting: WebException: Базовое соединение закрыто: Не удалось установить доверительные отношения для защищенного канала SSL/TLS. ---> System.Security.Authentication.AuthenticationException

    При поднятии роли WSUS на только что установленном сервере Windows Server 2008 столкнулся с проблемой при попытке синхронизации с Microsoft:

    WebException: Базовое соединение закрыто: Не удалось установить доверительные отношения для защищенного канала SSL/TLS. ---> System.Security.Authentication.AuthenticationException: Удаленный сертификат недействителен согласно результатам проверки подлинности.

    Изучил лог клиента который напрямую обращается на MS WSUS (c:WindowsWindowsUpdate.log) и обнаружил что клиент обращается на узел https://update.microsoft.com.

    Решив воспроизвести ситуацию вручную, открыл этот узел в IE - и посмотрел свойства сертификата.
    Цепочка сетификатов ведёт к корневому сертификату ЦС - GTE CyberTrust Global Root
    Открыл на своем WSUS сервере остнастку certmgr.msc и выполнив поиск обнаружил что у меня нет такого корневого сертификата...

    Пришлось скачать отсюда http://support.microsoft.com/default.aspx/kb/931125 файл rootsupd.exe...далее, по причине того, что этот пакет предназанчен только для WinXP (по крайней мере в Win2008 он просто не запускался) - пришлось распаковать и оттуда открыть файл сauthroots.sst
    В нём то и оказался нужный мне сертификат КЦС - GTE CyberTrust Global Root..Импортировал этот сертификат через Мастер импорта сертификатов в хранилище Доверенные корневые центры сертификации (в хранилище Локальный компьютер)
    ...
    Открываю остнастку WSUS, запускаю синхронизацию с MS WSUS... синхронизация заработала

  • Установка сертификата от Windows Server CA на веб-сервер Apache

    imageРассмотрим пример установки цифрового сертификата X509 на веб-сервер Apache, выданного локальным корневым Центром сертификации, работающим на Windows Server 2008. Пошагово решение задачи состоит из нескольких последовательных шагов:

    • Генерация запроса на сертификат средствами OpenSSL к ЦС Windows;
    • Получение от ЦС файла сертификата (.cer) в формате DER X509
    • Конвертация полученного сертификата в .pem и прикручивание оного к веб-серверу Apache

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

  • 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

  • Forefront Client Security Troubleshooting: The following non-MOM API has failed: objMomServerUtils.GetScriptResponseParameterValue(). Error code: -2147024891

    После развертывания сервера Forefront Client Security на Windows Server 2008 в топологии с одним сервером на консоли FCS можно обнаружить периодически (примерно раз в час) появляющиеся предупреждения о проблемах на FCS сервере. В отчетах это может выглядеть примерно так:

    image

    Также на сервере в логе Application параллельно фиксируются предупреждения подобного содержания.

    image

    Проблема решается включением доменной учетной записи пользователя DAS (в нашем случае это MyDoms-user) в локальную группу безопасности FCS сервера с именем MOM Administrators

  • Проблема с подключением сетевого ресурса размещенного на 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$
    Команда выполнена успешно.

  • WebDAV клиенты не могут загрузить в каталог на сервере файл размером более 30 Mb

    Окружение: Windows Server 2008, IIS 7.0, расширение для IIS - WebDAV 7.5
    Решение: Открываем на файловой системе сервера виртуальный каталог IIS в который необходимо разрешить загрузку больших файлов, там находим файл конфигурации web.config (если не находим - создаем).
    В этот файл вносим следующие изменения:

    <security>
    <requestFiltering>
    <requestLimits maxAllowedContentLength="104857600"/>
    </requestFiltering>
    </security>

    Таким образом мы установим разрешение на загрузку в виртуальный каталог через WebDAV файлов размером до 100 Mb.
    Можно также воспользоваться командой

    %windir%system32inetsrvappcmd set config -section:system.webServer/security/requestFiltering -requestLimits.maxAllowedContentLength:104857600

    Она установит данное разрешение на уровне сервера, что делать – далеко не во всех случая правильно.

  • Ускорение запуска PowerShell v1

    Из доклада Дмитрия Сотникова на TechDays.ru узнал несколько полезных вещей о PowerShell, в частности давно мучил вопрос о том как ускорить запуск оболочки версии 1. Как оказалось исправить проблему можно простейшим скриптом полученным на блоге команды разработчиков PowerShell: Speeding Up PowerShell Startup - Updating Update-Gac.ps1

    Вот собственно содержимое скрипта:

    Set-Alias ngen (Join-Path ([System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()) ngen.exe)
    [AppDomain]::CurrentDomain.GetAssemblies() |
    sort {Split-path $_.location -leaf} |
    %{
    $Name = (Split-Path $_.location -leaf)
    if ([System.Runtime.InteropServices.RuntimeEnvironment]::FromGlobalAccessCache($_))
    {
    Write-Host "Already GACed: $Name"
    }else
    {
    Write-Host -ForegroundColor Yellow "NGENing      : $Name"
    ngen $_.location | %{"`t$_"}
    }
    }

    После отработки скрипта на моей машине PowerShell стал запускаться действительно быстро.

  • Расширение размера тома NTFS

    Бывает такая ситуация, когда в ОС Windows требуется выполнить расширение тома NTFS, например есть свободное нераспределенное место на физическом диске и мы хотим "растянуть" имеющийся логический том до большего размера, использовав нераспределенное пространство диска... или другой пример - в виртуальной среде возникает необходимость увеличения выделенного для виртуальной машины диска, в таких случаях мы средствами платформы виртуализации (VMWare ESX, MS Hyper-V и т.п.) увеличиваем размер виртуального жесткого диска.

    Задача заключается в том, что нужно заставить ОС Windows использовать свободное дисковое пространство и, собственно говоря, "растянуть" логический том NTFS до допустимого размера.

    В ОС начиная с Vista/Server2008 эту операцию с легкостью можно проделать в online-режиме (без перезагрузки системы) встроенными средствами ОС - используя административную оснастку "Управление дисками": Выбираем интересующую нас партицию NTFS > Открываем контекстное меню и выбираем нужное действие "Расширить том...". Таким же образом мы с легкостью можем выполнить и обратную операцию - Сжатие тома. На мой взгляд, это очень полезное и удобное нововведение системы управления дисковыми томами в ОС.

    А как же решить данную задачу в системах Windows 2000/XP/Server 2003? В данном случае нам приходит на выручку бесплатная утилита от компании Dell - ExtPart.exe

    Параметры работы утилиты узнаем с помощью ключика /?

    D:ExtPart>extpart.exe /?

    ExtPart - Utility to extend basic disks (Build 1.0.4)
    (c) Dell Computer Corporation 2003

    Usage: extpart [volume size]
    volume  - volume to expand. eg. f:, g: etc. (only basic volumes)
    size    - size in megabytes to expand the volume

    Return codes for script mode
    (If parameters are not specified extpart will run in interactive mode)
    0       - Success
    1       - Parameter error. size parameter is invalid
    2       - Invalid volume or failed to connect to volume
    3       - Invalid volume type or failed to get volume properties
    4       - Requested size is invalid or volume expansion operation failed
    5       - Unable to retrieve volume properties after expansion completed
    6       - Invalid size requested for expansion (minimum value is 8 MB)

    Соответственно, например для того чтобы расширить том D: на 2 Gb будем использовать команду:
    ExtPart.exe D: 2048

    Дополнительная информация:
    Увеличение размера виртуального диска не приводит к автоматическому изменению размера тома
    VMware: Extend the OS disk the easy way (ExtPart.exe)

  • Дополнительная настройка баз данных SQL Server используемых для Forefront Client Security

    Дополнительная настройка баз данных SQL Server используемых для Forefront Client Security

    В процессе установки серверных компонент Forefront Client Security предлагаемые по умолчанию значения для размеров баз данных Collection Database (OnePoint) и Reporting Database (SystemCenterReporting) достаточно далеки от истины. Дело в том, что OnePoint это фактически оперативная база данных, которая хранит значения сбора статистики за последние 72 часа (хотя данные могут в ней накапливаться за период до 10 дней), в то время как SystemCenterReporting это база для хранения исторических данных периодом до 395 дней (значение «по умолчанию»). Именно это объясняет то, что размер базы данных SystemCenterReporting должен быть на порядок больше чем у  OnePoint. Дополнительную информацию можно найти в документе Forefront Client Security - Database sizing.

    Максимальный размер базы OnePoint30 Gb, в то время как для базы SystemCenterReporting таких ограничений не установлено. Для обеих этих баз функция Autogrow не поддерживается и поэтому важно правильно рассчитать и выставить размер этих БД ещё в начале эксплуатации Forefront Client Security.

    Осмелюсь предположить, что в продуктивном окружении наверняка нет необходимости сохранять исторические данные антивирусной статистики в базе SystemCenterReporting на протяжение 395 дней. Предположим, что нас вполне устроит период в 30 дней (в основном исходя из возможных ограничений в дисковой подсистеме). Сократив период, мы можем уменьшить размер базы данных SystemCenterReporting и соответственно сократить накладные расходы сервера на её обслуживание.
    Воспользуемся
    информацией из статьи базы знаний Microsoft KB887016 - How to modify the number of days to retain data in the SystemCenterReporting database in Microsoft Operations Manager 2005 для того, чтобы сократить это значение.
    Изменить установленные в процессе развертывания серверных компонент FCS значения можно с помощью SQL Server Management Studio.
    Для начала выполним запрос к базе данных SystemCenterReporting , чтобы получить текущие значения 'Groom Days' для 6 главных таблиц:

    SELECT cs.cs_tablename 'Table Name', wcs.wcs_groomdays 'Groom Days' from warehouseclassschema wcs

    Join classschemas cs

    On cs.cs_classID = wcs.wcs_classID

    Where cs.cs_tablename = 'SC_AlertFact_Table'

    And wcs.wcs_mustbegroomed = 1

     

    SELECT cs.cs_tablename 'Table Name', wcs.wcs_groomdays 'Groom Days' from warehouseclassschema wcs

    Join classschemas cs

    On cs.cs_classID = wcs.wcs_classID

    Where cs.cs_tablename = 'SC_AlertHistoryFact_Table'

    And wcs.wcs_mustbegroomed = 1

     

    SELECT cs.cs_tablename 'Table Name', wcs.wcs_groomdays 'Groom Days' from warehouseclassschema wcs

    Join classschemas cs

    On cs.cs_classID = wcs.wcs_classID

    Where cs.cs_tablename = 'SC_AlertToEventFact_Table'

    And wcs.wcs_mustbegroomed = 1

     

    SELECT cs.cs_tablename 'Table Name', wcs.wcs_groomdays 'Groom Days' from warehouseclassschema wcs

    Join classschemas cs

    On cs.cs_classID = wcs.wcs_classID

    Where cs.cs_tablename = 'SC_EventFact_Table'

    And wcs.wcs_mustbegroomed = 1

     

    SELECT cs.cs_tablename 'Table Name', wcs.wcs_groomdays 'Groom Days' from warehouseclassschema wcs

    Join classschemas cs

    On cs.cs_classID = wcs.wcs_classID

    Where cs.cs_tablename = 'SC_EventParameterFact_Table'

    And wcs.wcs_mustbegroomed = 1

     

    SELECT cs.cs_tablename 'Table Name', wcs.wcs_groomdays 'Groom Days' from warehouseclassschema wcs

    Join classschemas cs

    On cs.cs_classID = wcs.wcs_classID

    Where cs.cs_tablename = 'SC_SampledNumericDataFact_Table'

    And wcs.wcs_mustbegroomed = 1


    image

    Убедившись в том, что срок хранения данных действительно установлен в значении «по молчанию», т.е. в 395 дней, следующим запросом изменим эти значения:

    Exec p_updategroomdays SC_AlertFact_Table, 30

    Exec p_updategroomdays SC_AlertHistoryFact_Table, 30

    Exec p_updategroomdays SC_AlertToEventFact_Table, 30

    Exec p_updategroomdays SC_EventFact_Table, 30

    Exec p_updategroomdays SC_EventParameterFact_Table, 30

    Exec p_updategroomdays SC_SampledNumericDataFact_Table, 30

    image

    После этого можно выполнить повторный запрос к базе данных SystemCenterReporting , чтобы получить текущие значения 'Groom Days' для 6 главных таблиц и убедиться в том, что установлено новое значение в 30 дней.

    Расчет размера файлов баз данных.

    Нам необходимо определиться с размерами баз данных OnePoint и SystemCenterReporting. Для этого можно воспользоваться таблицей ориентировочного расчета из руководства
    Forefront Client Security - Impact on server system resources

    То есть, если придерживаться данного расчета, то для обслуживания около 3000 клиентов на редакции SQL Server Standard, - размер базы OnePoint должен быть не менее  5 Gb а размер базы SystemCenterReporting около 22 Gb при условии хранения данных в базе SystemCenterReporting не более 30 дней.

    Расчет размера файлов логов транзакций.

    Размер лога транзакций базы OnePoint должен быть не менее 1/3 размера самой базы.
    К примеру, если мы установили размер файла базы OnePoint в 5120 Mb, то размер лога транзакций должен быть ориентировочно 1707 Mb. Изменить установленные в процессе развертывания серверных компонент FCS значения можно с помощью SQL Server Management Studio, открыв свойства базы данных OnePoint на закладке Files

    image

    Что нужно знать для расчета размера файла лога транзакция для базы SystemCenterReporting:
    1.
    Задача планировщика задач Windows с именем SystemCenterDTSPackageTask копирует данные из базы OnePoint в базу SystemCenterReporting с возрастом  72 часа и более. Поэтому важно обратить внимание на то, успешно ли это задание отрабатывает.
    2. Лог транзакций базы SystemCenterReporting должен быть не менее чем  в пять раз больше размера файла данных базы OnePoint.  То есть если размер базы OnePoint  5120
    Mb то размер лога транзакций базы SystemCenterReporting должен быть не менее 25600 Mb. Такой большой размер рекомендуется советами бывалых «заводчиков» FCS как исторически устоявшаяся истина. Примем её на веру  J.
    В итоге исходя из ранее взятых нами за пример значений размеров базы и логов OnePoint в размере 5120
    Mb / 1707 Mb соответственно и приведенных выше рекомендаций, - для БД SystemCenterReporting эти значения получатся соответственно  22528 Mb / 25600 Mb.

    Значение размера файла данных БД SystemCenterReporting 22528 Mb получено путём расчета из вышеприведенной таблицы в расчете на 3000 клиентов и 30 дней хранения данных, т.е. (128Gb * 30 дней)/180 дней = 22 Gb или 22528 Mb.
    Значение размера файла лога тразакций БД SystemCenterReporting получено путём вышеописанного расчета, т.е. (5120 Mb * 5) = 25600 Mb

    image

    Данный пост размещен как вольный перевод статьи  FCS with MOM 2005 Database Guidance .
    В оригинальной статье можно найти дополнительную информацию о том, как делать
    shrink large Databases, в случае если мы всё-таки по какой-то причине вышли за рассчитанные пределы размеров баз данных FCS.

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

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

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

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

    set devmgr_show_nonpresent_devices=1

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

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

    start devmgmt.msc

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

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

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

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