• TMG 2010 - Резервное копирование Array Configuration с PowerShell

    TMG 2010 - Backup Array Configuration with PowerShellОзадачившись вопросом автоматизации регулярного выполнения резервного копирования настроек Forefront TMG 2010 нашёл ряд интересных материалов, в том числе статью, описывающую процедуру настройки взаимодействия DPM сервера и DPM агента, установленного на сервере Threat Management Gateway – "How DPM 2010 Could Protect Forefront TMG 2010 with a Minimum Opening of Feeds" (в блоге The Microsoft MVP Award Program Blog). Учитывая то, что в моём случае серверы являются виртуальными и периодически подвергаются резервному копированию в виде VM на сервер DPM, нет особого смысла в установке агента DPM непосредственно внутрь этих виртуальных машин. Поэтому я решил ограничиться созданием на регулярной основе резервных копий конфигурации массива TMG. Из консоли Threat Management Gateway  Management эта процедура вызывается из меню действий или контекстного меню на конкретном массиве – Export (Back Up).

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

  • RDS Web Access - Опция "Я использую личный компьютер…"

    imageПри запуске приложений RemoteApp опубликованных через веб-страницу Remote Desktop Services Web Access может последовать запрос авторизации для подключения к удалённому терминальному серверу в том случае, если внизу страницы RD Web Access не включена опция "Я использую личный компьютер, соответствующий политике безопасности моей организации"

    image

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

    Найдём на сервере RD Web Access файл Default.aspx в каталоге C:WindowsWebRDWebPagesru-RU

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

    Создадим на всякий случай копию файла Default.aspx, сохранив оригинальный файл с изменённым названием, например Default_ORIGINAL.aspx.

    В файле Default.aspx в секции

    <script runat="server">

    найдём строку: 

    public bool fUserAdmin = false, fConfigPage = false, bShowPublicCheckBox = false, bPrivateMode = false;


    Поменяем в этой строке значение переменной bPrivateMode = true

    Сохраним файл и проверим то что теперь при каждом новом открытии веб-страницы RD Web Access чекбокс включен по умолчанию и не происходит повторных запросов учетных данных.

  • HP Smart Array 6400 - Обновляем прошивку

    imageЕсли вы работаете с серверным оборудованием HP на платформе Windows, то в основной своей массе обновление микропрограммного обеспечения (firmware) той или иной железяки от HP не представляет особых сложностей, так как почти всегда на сайте техподдержки HP доступны последние версии утилит Online-обновления под Windows. Задача может несколько усложнится если возникает потребность прошить какую-то уже морально устаревшую железку. HP предоставляет универсальный загрузочный диск который содержит в себе большую коллекцию прошивок для Offline-обновления. Ранее этот диск назывался Firmware Maintenance CD и умещался на стандартный накопитель CD, но спустя какое-то время, перерос формат CD и трансформировался в современный HP Smart Update Firmware DVD. Не смотря на постоянный рост, из состава этого диска периодически убираются последние доступные версии прошивок для оборудования которое со временем морально устаревает. В этом можно убедиться, если почитать историю изменения состава диска от версии к версии.

    Рассмотрим процесс обновления прошивки железяки, уже ставшей на сегодня раритетом - RAID контроллера HP Smart Array 6400.

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

  • Уменьшение размера фиксированного VHD с помощью VHD Resizer

    imageРассмотрим пример, когда созданный ранее виртуальный диск VHD фиксированного размера потребовалось уменьшить. В нашем примере на одном из виртуальных серверов с Windows Server 2008 R2 имеется NTFS том D:\ занимающий 100% пространства отдельного виртуального VHD диска размером 160Gb. Ранее емкость этого диска использовалась для сетевого файлового ресурса, а теперь на этом диске размещён контент локального сервера WSUS, который занимает гораздо меньше места, и поэтому появилось желание уменьшить размер этого диска.

    image

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

  • HP Smart Array - 1779 - Logical drive(s) disabled due to possible data loss

    Столкнулся на практике с неприятной ситуацией когда дисковая полка HP MSA50 подключенная к серверу виртуализации HP ProLiant DL360 через RAID контроллер HP Smart Array P800 была аварийно обесточена. На дисковой полке был сделан один логический диск RAID 1+0 из 10 физических дисков, который после повторной подачи питания на полку по понятной причине стал недоступен операционной системе хоста. В процессе перезагрузки сервера появилось безрадостное сообщение о том что логический диск отключён контроллером во избежание потери данных:

    image

    Несмотря на то, что в DPM имелась копия виртуальных машин расположенных на отвалившемся томе, стало как то не по себе. Немного пошебуршав на форуме тех.поддержки HP нашёл пару веток обсуждения похожей ситуации (например HP Community - ML 350 G3 "Logical drives disabled due to possible data loss"). Выбор нажатия "F2" при первой загрузке в моём случае исправил ситуацию – логический диск был активирован.

    image

    Благодаря тому что на Smart Array контроллере была установлена кэш-память с исправным на этот момент батарейным модулем, как я понял, данные находящиеся в кэше контроллера на момент падения полки после включения логического диска были успешно дописаны на этот диск, о чем посвидетельствовало статусное сообщение утилиты HP Array Configuration Utility 

    image

    В ОС том с полки поднялся как ни в чём не бывало и виртуальные машины успешно стартовали. Вздохнув с облегчением, я ещё раз для себя подчеркнул важность наличия валидных резервных копий виртуальных машин, и что на мой взгляд главное в описанной ситуации, - наличие на RAID контроллере кэш-памяти с исправным батарейным модулем.

  • PowerShell - Удаляем устаревшие файлы

    imageЕсли внутри корпоративной сети используются всевозможные сетевые ресурсы доступные множеству пользователей и выполняющие функции файлообменников, например сетевые папки или каталоги FTP серверов, то иногда может возникнуть необходимость в обслуживании таких ресурсов, например периодического удаления файлов и подкаталогов имеющих определённый срок давности. Хочу поделиться маленьким примером когда-то найденного (уже не вспомню где) PowerShell скрипта, который решает у меня такую задачу

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

  • Clonezilla – клонирование на диск меньшего размера

    imageПри переносе данных со старого HDD на новый SSD в очередной раз столкнулся с проблемой когда текущая stable версия Clonezilla (1.2.11-23) отказалась выполнять восстановление разделов диска сделанного с помощью режима savedisk при условии что новый диск-получатель имеет меньший размер чем диск с которого снимался образ. Причём не помогло даже предварительно сжатие разделов до размера, который вписывался бы в размер нового диска с помощью Gparted. Где-то на одном из линуксоидных интернет форумов (ссылку к сожалению не сохранил) наткнулся на обсуждение этой проблемы и неожиданное для меня заявление одного комарада о том, что якобы в альтернативных сборках Clonezilla такой вариант восстановления поддерживался и в качестве примера была предложена сборка Clonezilla-Live-20110922-Natty. Как оказалось, данная версия действительно помогла мне решить проблему восстановления на диск меньшего размера.

    И ещё. Пока возился с Clonezilla/Gparted открыл для себя ещё одну весьма удобную утилитку – Tuxboot. Она позволяет легко и быстро создать загрузочный Live USB накопитель с соответствующими инструментами. Утилита может использоваться для загрузки образа как напрямую с сайта проектов, так и работает с  пред загруженным iso (это может оказаться полезным для тех кто например работает через прокси)

    image

  • PowerShell - Переименовываем удалённый компьютер

    Код для переименования удалённого компьютера с последующей перезагрузкой

    $Credential = Get-Credential

    $OldName = "WS001"

    $NewName = "WS002"

    $Comp = Get-WmiObject Win32_ComputerSystem -ComputerName $OldName -Authentication 6

    $OS   = Get-WmiObject Win32_OperatingSystem -ComputerName $OldName

    $Comp.Rename($NewName,$Credential.GetNetworkCredential().Password,$Credential.Username)

    $OS.Reboot()

  • SCCM 2007 R2 - Некорректное отображение информации об установленном ПО в отчётах Asset Intelligence

    imageТе кто пользуется отчетами в SCCM 2007 для анализа ситуации по установленному на компьютерах ПО, вероятно могли столкнуться с ситуацией когда стандартные отчеты типа Count of all instances of software registered with Add or Remove Programs из категории Software - Companies and Products отображают ситуацию близкую к реальности, а отчеты по тем же коллекциям компьютеров из категории Asset Intelligence (AI) отображают неактуальные устаревшие данные. То есть, если например на компьютер была установлена более новая версия какого-то существующего ранее программного продукта, то отчеты AI продолжают отображать данные о старой версии. По этому поводу было открыто обращение в техподдержку Microsoft, результатом чего стало найденное обходное решение этой проблемы.

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

  • SharePoint 2010 - Замена значений гиперссылок хранимых в колонке списка

    imageЗадача: На сервере SharePoint 2010 создан список (List), который используется как хранилище ссылок на файлы, доступные для скачивания с этого веб-сервера. Одной из колонок такого списка является гиперссылка. Возникает ситуация когда меняется URL этого веб-сервера и все элементы списка в этой колонке необходимо изменить.

    Решение: На веб-сервере выполним Powershell скрипт, который заменит определённое старое значение в колонке с гиперссылками на новое

     

    # $MyListName - Имя списка в сайте

    # $MyColumnName - Имя колонки с значением типа URL

    # $URLOld - Искомое значение существующего URL которое надо изменить

    # $URLNew - Новое значение URL на которое производим замену

    #

    $MySiteUrl = "http://new-server.holding.com"

    $MyListName = "Программное обеспечение"

    $MyColumnName = "URL"

    $URLOld = "http://old-server.holding.com"

    $URLNew = "http://new-server.holding.com"

    #

    $snapin = Get-PSSnapin | Where-Object {$_.Name -eq 'Microsoft.SharePoint.Powershell'}

    if ($snapin -eq $null) {

      Write-Host "Загрузка оснастки SharePoint Powershell"

      Add-PSSnapin "Microsoft.SharePoint.Powershell"

    }

    #                  

    $spSite = new-object Microsoft.SharePoint.SPSite($MySiteUrl)

    $spWeb = $spSite.OpenWeb()

    $spList = $spWeb.Lists[$MyListName]

    $spitems = $splist.items

    $i = 0

    foreach($item in $spitems){

      [Microsoft.SharePoint.SPListItem]$spListItem = $item  

      if ($spListItem[$MyColumnName] -like "*$URLOld*")

      {   

        $i = $i + 1   

        $fldUrl= new-object Microsoft.SharePoint.SPFieldUrlValue($Item[$MyColumnName])       

        $fldUrl.URL = $fldUrl.URL.Replace($URLOld, $URLNew)  

        $item[$MyColumnName] = $fldUrl

        $item.update()   

        Write-Host $item["Title"] $fldUrl

      } 

    }

    Write-Host "Изменено" $i "записей" -foregroundcolor "green"