• Ускорение запуска 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

  • Развертывание и конфигурирование клиентских компонент Forefront Client Security с помощью GPO

    В предыдущем посте Установка серверных компонент Microsoft Forefront Client Security на Windows Server 2008 (в топологии с одним сервером) мы выполнили установку серверных компонент Forefront Client Security (FCS). Настало время произвести настройку сервера FCS и выполнить развертывание клиентов.

    При первом запуске консоли FCS будет запущен мастер настройки подключения консоли к серверным компонентам. Последовательно пройдём все шаги мастера и укажем все необходимые данные, которые ранее были нами использованы в процессе установки серверных компонент FCS. Указанные данные при необходимости можно будет изменить в любой момент, вызвав в меню консоли Action > Configure.

    image

    После того как работа мастера первоначальной настройки завершена, мы получим доступ к текущей статистике о состоянии антивирусной защиты на закладке Dashboard.
    Теперь нам нужно создать и настроить политику настройки клиентов FCS. Для этого в консоли FCS переходим на закладку Policy Management и создаем новую политику (New Policy). В своем примере я рассматриваю вариант с созданием и применением одной политики на всех клиентов FCS, однако, реальное количество применяемых политик в вашей среде может быть больше и зависеть от разных факторов.
    Подробно останавливаться на настройке создаваемой нами политики мы не будем, так как интерфейс свойств политики достаточно интуитивно понятен. Подробное описание параметров политик можно найти в официальной технической документации на русском языке: Microsoft Forefront Client Security - Планирование политик.
    Замечу, однако, то, что сразу стоит уделить внимание настройке исключений файлов, папок и расширений файлов, которые не должны подвергаться антивирусному сканированию, чтобы после развертывания клиентов и применении данной политики не получить проблем с доступностью и производительностью приложений. Рекомендации по настройке исключений опубликованы ранее в посте Настройка исключений для антивирусного ПО.

    image

    Так же рекомендую включить удаление устаревших файлов из карантина на клиентах по истечению определенного периода в днях (максимально возможное значение 100 дней).
    Возможно, вы не захотите, чтобы все ваши клиентские компьютеры не участвовали в программе SpyNet и не отправляли информацию в Microsoft, в таком случае выполните соответствующий выбор на закладке Reporting свойств политики.

    image

    После того как мы закончили настройку нашей политики, мы должны определиться с тем на какую совокупность компьютеров мы хотим установить клиентскую часть FCS и сконфигурировать их нашей политикой. Так как основным способом распространения и настройки клиента является применение объектов доменных групповых политик (GPO), мы специально создадим в домене отдельную групповую политику для этой задачи (рекомендую не использовать уже существующие продуктивные GPO а именно создать новую отдельную политику и отказаться от её дальнейшего редактирования в ручную).
    Для создания политики используем консоль Group Policy Management установленную на нашем сервере в процессе развертывания серверных компонент FCS.
    Если в компании используется антивирусное ПО разных вендоров, и нам необходимо ограничить круг применения данной групповой политики на определенную совокупность компьютеров, то мы можем сделать это разными путями. Например, можно прилинковать созданную GPO к конкретному контейнеру (OU) в домене или создать специальную доменную группу безопасности и ограничить действие политики только на членов этой группы.
    По умолчанию, новая созданная нами групповая политика имеет фильтрацию безопасности, нацеленную на группу Authenticated Users .

    Удалим группу Authenticated Users и добавим специально созданную нами доменную группу безопасности, в которую включены все компьютеры, на которые мы желаем развернуть клиентскую часть FCS.

    image

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

    Теперь привязываем созданную групповую политику к OU в которых расположены компьютеры домена, входящие в специальную доменную группу безопасности (в нашем случае это группа KOM-AD01-GPO-ForefrontCS-Computers).
    Далее мы можем выполнить развертывание ранее настроенной нами в консоли FCS политики с помощью данной GPO. Для этого открываем консоль FCS, на закладке Policy Management выбираем созданную нами ранее политику и в контекстном меню выбираем пункт Deploy

    image

    В открывшемся окне выбираем специально созданную ранее нами групповую политику кнопкой Add GPO и после этого нажимаем кнопку Deploy

    image

    После этого будет инициирован процесс внесения соответствующих изменений в заданную нами групповую политику. Изменения можно будет увидеть в оснастке Group Policy Management

    image

    Теперь после очередного цикла применения доменных групповых политик на компьютерах будет применена наша специализированная групповая политика и инициирована установка клиентского ПО Forefront Client Security с сервера WSUS. Можно ускорить этот процесс, последовательно выполнив на клиентском компьютере команды:

    gpupdate /force (форсированное применение доменных групповых политик)
    wuauclt /detectnow (форсированное обращение на сервер WSUS для получения клиентских компонент FCS)

    После этого на клиентском компьютере будет предложено произвести установку

    После установки клиентских компонент компьютер появится на консоли сервера FCS. Но это может произойти далеко не сразу и чтобы ускорить этот процесс , на сервере FCS мы можем открыть административную консоль MOM 2005 (Administrator Console) и выполнить одобрение (Approve) клиентов.

    image

    После форсированной процедуры одобрения информация о клиенте появится уже на консоли сервера FCS.
    Результат применения клиентских политик можно будет увидеть в интерфейсе клиентской части FCS. Централизованно настроенные параметры будут не доступны для редактирования обычным пользователям

    image

    Далее нам необходимо настроить наш WSUS сервер на автоматическое одобрение обновлений антивирусных описаний Forefront Client Security. Для этого откроем консоль сервера WSUS и создадим правило авто-одобрения (Options > Automatic Approvals)

    image

    Создаваемое нами правило будет автоматически одобрять все новые описания для продуктов Forefront Client Security и Windows Defender

    При этом нужно будет не забывать о том, что на WSUS сервере при этом устаревающие обновления антивирусных описаний будут со временем накапливаться и нужно будет уделить дополнительное внимание обслуживанию базы данных и контента WSUS.

    Теперь наши клиенты Forefront Client Security развернуты, сконфигурированы и будут автоматически обновлять антивирусные описания с сервера WSUS.

    Дополнительную информацию можно найти в официальной технической документации:
    Microsoft Forefront Client Security - Развертывание Client Security
    http://technet.microsoft.com/ru-ru/library/bb404255.aspx

  • Установка серверных компонент Microsoft Forefront Client Security на Windows Server 2008 (в топологии с одним сервером)

    Встала задача - развернуть серверные компоненты Microsoft Forefront Client Security в конфигурации с одним сервером под управлением Windows Server 2008 (x86 SP2). После прочтения документации на technet.microsoft.com возникло ощущение что ничего в общем то особо сложного в этом нету, но на практике оказалось что данный процесс таит в себе много «НО»… достаточно для того, чтобы сесть и написать данный Step-by-Step во избежание хождения по граблям при будущих инсталляциях. Ибо дело чтением официальной документации не окончилось…пришлось переворошить массу дополнительных источников информации чтобы справится с поставленной задачей. В общем то для тех кому это ещё предстоит – думаю данный мануал будет полезен. Весь процесс логически разделен на несколько этапов. Итак поехали…

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