• SCVMM 2008 R2– Проверяем версию компонент интеграции

    imageВ консоли SCVMM 2008 R2 на закладке Hosts можно видеть текущую версию компонент виртуализации если включить отображение колонки Virtualization Software Version, чего не скажешь об уровне виртуальных машин, где визуально с помощью этой консоли определить то какая версия компонент интеграции установлена внутри виртуальных машин не представляется возможным. Для того чтобы попытаться получить данную информацию в сводном виде воспользуемся советом от Peter Noorderijk из заметки Hyper-v.nu - How to check the version of the Integration Components. Скрипт взят за основу, и немного расширен, а именно:

    • Добавлена загрузка PSSnapin VMM (на тот случай если скрипт выполняется не на сервере VMM)
    • Информация о хостах виртуализации берётся не из файла а из данных сервера VMM, к которому мы предварительно подключаемся.
    • Виртуальные машины с версией компонент интеграции не соответствующей номеру, указанному в переменных, - выделяются красным цветом для облегчения визуального анализа

    # Блок переменных

    # $VMMSrv - Имя сервера SCVMM на котором будут выбраны все хосты виртуализации и их VM для анализа

    # $ICCurrentVer - Текущая версия компонент интеграции которая должна быть установлена на VM

    #

    $VMMSrv = "KOM-SCVMM.holding.com"

    $ICCurrentVer = "6.1.7601.17514"

    #

    # Подгружаем оснастку PS VMM для работы с объектами SCVMM

    #

    $VMMMod = "Microsoft.SystemCenter.VirtualMachineManager"

    If ((Get-PSSnapin -Name $VMMMod -ErrorAction SilentlyContinue) -eq $null)

    {

        Add-PSSnapin $VMMMod

    }

    #

    # Функция получения и вывода сведений о компонентах интеграции на VM определённого хоста

    #

    Function Get-IntegrationServicesVersion ($HVhost = $(Throw "HVHost required"))

     {

     $kvps = Get-WmiObject -Namespace rootvirtualization `

     -ComputerName $HVHost `

     -Query "Select GuestIntrinsicExchangeItems From Msvm_KvpExchangeComponent"

     Foreach ($kvp in $kvps)

     {

     $vmkvp = $Kvp.GuestIntrinsicExchangeItems

     $VMICvArray = $vmkvp | Select-Object `

     @{Label="VMName";Expression={([xml]$vmkvp[0]).instance.property[1].value}},`

     @{Label="ICVersion";Expression={([xml]$vmkvp[14]).instance.property[1].value}} -first 1

     Foreach ($VMICv in $VMICvArray)

          {

                If ($ICCurrentVer -ne $VMICv.ICVersion) {

                Write-Host "IC ver.: " $VMICv.ICVersion " on " $VMICv.VMName -ForegroundColor Red

                } Else {

                Write-Host "IC ver.: " $VMICv.ICVersion " on " $VMICv.VMName

                }

          }

     }

     }

    #

    # Блок основного вывода

    #

    $VMHosts = Get-VMMServer -ComputerName $VMMSrv | Get-VMHost | Sort -Property "Name"

    Foreach ($HVhost in $VMHosts) {

    Write-Host "`nHyper-V Host: " $HVhost "`n" -ForegroundColor Green

    Get-IntegrationServicesVersion $HVhost

    }

      Результат работы скрипта будет выглядеть примерно так:

      image

      Примечание:

      Скрипт не выводит информацию о виртуальных машинах, которые находятся в выключенном состоянии.

    • SCOM 2007 R2 - Alert: Logical Disk Not Available

      В некоторых случаях на SCOM может появится сбивающее с толку предупреждение о недоступности того или иного логического диска:

      image

      Это может быть вызвано тем, что WMI класс Win32_LogicalDisk возвращает значение TRUE для свойства VolumeDirty для проблемного логического диска при опросе ОС скриптом SCOM.

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

    • SCOM 2007 R2 - Назначение Primary и Failover серверов на агентах

      imageПо мере расширения инфраструктуры SCOM и увеличения серверов управления (Management Server) может возникнуть необходимость в форсированном назначении значений Primary Management Server и Failover Management Server для агентов, чтобы избежать ситуации когда при недоступном ближайшем первичном сервере управления агенты начнут обращаться на сервера управления на удалённых площадках нагружая при этом WAN-каналы там где это не желательно. Такое поведение агентов в конфигурации по умолчанию может быть обусловлено настройками, которые можно видеть в конфигурационном файле клиента в кэше коннектора соответствующей ему группы управления.

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

    • Forefront TMG 2010 – Разрешение нестандартных туннелируемых портов

      Возникла необходимость использовать через TMG 2010 подключение к HTTPS узлу в интернете, использующему нестандартный порт (не 443). В настройке по умолчанию вэб-прокси TMG разрешает доступ только по порту 443. Для того чтобы изменить перечень разрешенных портов воспользуемся подключением к COM-объекту TMG с помощью PowerShell.

      Для того чтобы получить текущий список открытых туннелируемых портов, непосредственно на TMG сервере выполним PS скрипт:

      $ServerName = "MY-PROXY-SERVER"

      $FPCRoot = New-Object -comObject "FPC.Root"

      $TMGObj = $FPCRoot.Arrays.Connect($ServerName)

      $TMGObj.ArrayPolicy.WebProxy.TunnelPortRanges

      В первой строчке в переменной $ServerName укажите имя своего сервера TMG или имя массива TMG, если сервер является членом массива.


      Для того чтобы расширить список открытых туннелируемых портов, например 444 портом, выполним PS скрипт:

      $ServerName = "MY-PROXY-SERVER"

      $FPCRoot = New-Object -comObject "FPC.Root"

      $TMGObj = $FPCRoot.Arrays.Connect($ServerName)

      $TMGObj.ArrayPolicy.WebProxy.TunnelPortRanges.AddRange("SSL 444", 444, 444)

      $TMGObj.ApplyChanges()


      Для того чтобы удалить ранее добавленный порт выполним PS скрипт:

      $ServerName = "MY-PROXY-SERVER"

      $FPCRoot = New-Object -comObject "FPC.Root"

      $TMGObj = $FPCRoot.Arrays.Connect($ServerName)

      $TMGObj.ArrayPolicy.WebProxy.TunnelPortRanges.Remove("SSL 444")

      $TMGObj.ApplyChanges()

      Дополнительные источники информации:

    • PowerShell - Проверяем флаг защиты доменных OU от случайного удаления

      imageВ оснастке Active Directory Users and Computers (dsa.msc) открыв свойства любого OU на закладке Object можно наблюдать флаг “Protect object from accidental deletion” (Защитить объект от случайного удаления). В библиотеке “Best Practices Analyzer for Active Directory Domain Services” есть хорошая заметка на тему управления этим флагом через PowerShell - AD DS: All OUs in this domain should be protected from accidental deletion

      Для того чтобы получить перечень всех OU на которых не установлен флаг защиты выполним скриптоблок:

      # Переменная $LDAPPathOU – ADSI путь к контейнеру внутри которого будем производить поиск OU (в формате distinguishedName)

      #

      $LDAPPathOU = "OU=ImportantOUs,DC=holding,DC=com"

      Import-Module ActiveDirectory

      Get-ADOrganizationalUnit -filter * -SearchScope Subtree -SearchBase $LDAPPathOU -Properties ProtectedFromAccidentalDeletion | Where {$_.ProtectedFromAccidentalDeletion -match "False"} | Select name, DistinguishedName | Format-Table –AutoSize


      Для того чтобы на всех незащищённых OU сразу выставить данный флаг немного изменим скриптоблок до следующего вида:

      $LDAPPathOU = "OU=ImportantOUs,DC=holding,DC=com"

      Import-Module ActiveDirectory

      Get-ADOrganizationalUnit -filter * -SearchScope Subtree -SearchBase $LDAPPathOU -Properties ProtectedFromAccidentalDeletion | Where {$_.ProtectedFromAccidentalDeletion -match "False"} | Set-ADOrganizationalUnit -ProtectedFromAccidentalDeletion $true

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

    • Основные приемы работы с Key Management Service (KMS) на Windows 7 и Windows Server 2008 R2

      imageДля изучения вопроса пришлось ознакомится с документами размещенными на узле TechNet Library - Volume Activation
      Из всего перечитанного можно отметить два самых содержательных и подробных гайда:

      Руководство по планированию развертывания Volume Activation ОС Windows 7 и Windows Server 2008 R2
      (
      Скачать: Volume Activation Planning Guide_Windows7.docx)
      Опубликовано: июнь 2009.

      Руководство по развертыванию Volume Activation ОС Windows 7 и Windows Server 2008 R2
      (
      Скачать: Volume Activation Deployment Guide_Windows7.docx)
      Опубликовано: июнь 2009 г.

      Русскоязычные версии гайдов можно найти по ссылке
      TechNet Library > Deployment > Volume Activation > Localized Content

      В данном посте тезисно выжаты основные важные моменты из документации.
      Сразу хочу отметить что приемы работы с публикацией KMS в DNS для последующей авто-активации клиентов рассматриваться не будет.

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

    • Не работает сканирование через HP JetDirect после установки IE9

      После развертывания IE9 через WSUS от администратора одного из отделений поступило обращение о том, что перестал работать режим сетевого сканирования для МФУ HP подключенного к сети через принт-сервер HP JetDirect 175x. В новом браузере попытка соединения с принт-сервером приводила к таймауту ожидания.

      image

      После недолгого изучения вопроса стало очевидно, что при обращении к принт-серверу по IP адресу браузер воспринимал его веб-интерфейс как узел недоверенной зоны и применял к нему усиленные настройки безопасности, которые в свою очередь блокировали часть веб-функционала. Подтверждением тому стало восстановление работоспособности функции сетевого сканирования после временного отключения режима усиленной безопасности Inetrnet Explorer. 

      Соответственно для решения проблемы в данном случае достаточно использовать при обращении к веб-интерфейсу принт-сервера вместо его IP адреса полное доменное имя (FQDN) – типа http://print-server.domain.com с учетом того, что в настройках IE9 в зону узлов местной интрасети внесено имя локального домена в формате *.domain.com

    • Forefront TMG 2010 - Отказ работы консоли после установки IE9

      После установки рекомендуемых обновлений с WSUS, которые включают в себя новую версию браузера IE9 может перестать корректно работать консоль управления Forefront TMG 2010 на базе MMC - Forefront TMG Management. При попытке перехода к любому разделу управления TMG консоль будет порождать ошибку типа:

      image

      Есть жёсткий метод решения проблемы – редактирование файла C:Program FilesMicrosoft Forefront Threat Management GatewayUI_HTMLsTabsHandlerTabsHandler.htc как это описано например здесь: Технический блог Евгения Протопопова - TMG 2010 Console Error

      Но можно избавиться от этой ошибки и более простым способом – изменением региональных настроек ОС. Открываем апплет изменения региональных настроек intl.cpl и на вкладке Formats сменить Format на English (United States)

      image

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

    • SCOM 2007 R2 - Аудит изменений доменных групп безопасности

      imageВ больших доменных инфраструктурах имеющих несколько доменных администраторов может быть весьма актуальным вопрос аудита изменений, производимых в членстве предопределённых административных групп.

      Для решения этой задачи воспользуемся возможностями SCOM и на примере доменной группы “Domain Admins” создадим правила, которые будут отслеживать события, регистрируемые в журнале “Security” на контроллерах домена в момент добавления и удаления пользователей в эту доменную группу безопасности.

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

    • SCOM 2007 R2 - Странное поведение мониторов SNMP Probe при операциях сравнения.

      Если возникает необходимость мониторинга сетевых устройств поддерживающих протокол SNMP, -  в SCOM 2007 R2 мы можем через консоль “Operations Console” на закладке “Authoring” с помощью помощника “Create a unit monitor” создать SNMP Probe Based Monitor, который будет через указанные нами интервалы времени выполнять к сетевому устройству запрос определённых значений OID и на основании полученных данных изменять статус этого сетевого устройства по принципу Healthy/Unhealthy

      image

      Однако на практике вы можете столкнуться с ситуацией когда созданный вами монитор ведёт себя не совсем так как вы этого от него ожидаете. Например вы создали монитор, который раз в несколько минут опрашивает источник бесперебойного питания (ИБП) в серверной на предмет значения конкретного OUD возвращаемого текущее значение входного напряжения. Если этот OID опросить по SNMP с помощью любого стороннего приложения (например MIB Browser) то возможно мы увидим что тип возвращаемого значение – целочисленное значение – “Integer”, в то время как визард SCOM “Create a unit monitor” по умолчанию задает тип значения – строка – “String”.

      Соответственно получаемое от устройства значение будет преобразовываться в строку и уже в дальнейшем подвергаться например некорректным операциям сравнения которые могут присутствовать в нашем мониторе, что само по себе и становится причиной необъяснимых срабатываний алертов.

      Для исправления этой ситуации нам необходимо выгрузить Management Pack в котором сохранён наш SNMP Probe Based Monitor в XML файл и найти в нём секции Expression и в тэгах XPathQuery Type и Value Type в которых задаётся тип значения…

      image

      Нужно выполнить замену типа получаемого значения на тот в котором непосредственно значение отдается самим сетевым устройством, в нашем случае это будет “Integer”…

      image

      После этого сохраняем XML файл и загружаем его обратно в SCOM в качестве Management Pack.

      Решение проблемы найдено здесь: Gefufna - How to create SNMP Probe Based Two-State Monitor in SCOM?