Здесь можно посмотреть что включено в Core вариант Windows Server 2008 R2:
2010-10-10
2010-10-09
DNS запросы из Powershell.
Для выполнения DNS запросов из Powershell можно либо вызвать nslookup и пропарсить результат, либо использовать .Net классы.
PS> [System.Net.Dns]::GetHostAddresses("google.com")
Address : 854097226
AddressFamily : InterNetwork
ScopeId :
IsIPv6Multicast : False
IsIPv6LinkLocal : False
IsIPv6SiteLocal : False
IPAddressToString : 74.125.232.50
Address : 887651658
AddressFamily : InterNetwork
ScopeId :
IsIPv6Multicast : False
IsIPv6LinkLocal : False
IsIPv6SiteLocal : False
IPAddressToString : 74.125.232.52
PS> [System.Net.Dns]::GetHostbyAddress("8.8.8.8") | fl
HostName : google-public-dns-a.google.com
Aliases : {}
AddressList : {8.8.8.8}
2010-10-07
VSS LUN Resync
VSS LUN Resync это еще одно нововведение в VSS на ОС Windows 7/Windows Server 2008 R2. Это можно рассматривать как быстрый способ восстановления всего тома с помощью аппаратных теневых копий на СХД. Причем же тут VSS и вообще ОС, если все делается аппартно? Дело в том, что теперь есть возможность оповещать сервисы после такого восстановления. С тем, чтобы они могли своевременно выполнить некоторые действия с своими данными.
VSS Express Writer
VSS Express Writer это одно из нововведений в Windows 7/Windows Server 2008 R2. Это, фактически, программный интерфейс для реализации легковесных VSS Writer. Если такое ПО как Active Directory, Exchange, Oracle использует полную версии VSS API, то такие простые сервисы как, например, планировщик заданий просто не нуждаются в таком функционале. В то же время даже у такого простого сервиса могут быть данные, которые необходимо подготовить перед архивацией. Программный интерфейс VSS Express Writer позволяет упростить разработку и поддержку таких сервисов.
Как расшифровывается аббревиатура VSS?
Верно, Volume Shadow Copy Service! Если конечно, мы не говорим о Visual SourceSafe… Почему же не использовали аббревиатуру VSCS? Дело в том, что первая версия службы называлась Volume Snapshot Service. Со временем, название службы поменяли, а сокращение оставили прежним. Детали в блоге разработчиков:
http://blogs.msdn.com/b/adioltean/archive/2005/01/18/355747.aspx
2010-10-06
JSON and Powershell
Возникла идея в ряде скриптов вместо XML использовать более читабельный JSON. Скрипты написаны на powershell, соответсвенно нужны командлеты для парсинга, генерации JSON. Достаточно быстро нашел вот это:
Публикация примеров кода #2.
Еще один инструмент для красивой публикации кода доступен здесь:
http://alexgorbatchev.com/SyntaxHighlighter/
Это библиотека на javascript. Соотвественно, вся работа по подсветке синтаксиса выполняется на стороне клиента автоматически. То есть ни автор, ни серверная часть не участвуют в этой работе, что очень хорошо. Отличный вариант, если вы контролируете ресурс и можете выполнить интеграцию. Из минусов можно отметить, что данный инструмент не подходит для публикации на чужие ресурсы. Так-же подсветка не будет работать, если у клиента выключен javascript.
Многие известные ресурсы уже используют данную библиотеку. Вот некоторые примеры:
- http://pivot.apache.org/tutorials/stock-tracker.data-binding.html
- http://jaxer.org/quick_start
- http://developer.yahoo.com/yui/examples/animation/attributes.html
- http://en.support.wordpress.com/code/posting-source-code/
- http://www.buglabs.net/codesearch?query=motion
- http://developers.freshbooks.com/
Плагин для удобной интеграции с Wordpress доступен здесь:
Публикация примеров кода.
if ($bool) { echo "True"; }
2010-10-04
Amazon S3
В крупных компаниях резервное копирование как-правило осуществляется на магнитные ленты. Очень часто так-же используются банковские ячейки для хранения этих лент. Магнитные ленты хорошо себя оправдывают в случае больших масштабов. В сегменте малого и среднего бизнеса иногда выгодно использовать дисковые массивы для хранения бэкапа. Тем более что, необязательно покупать дорогие хранилища от NetApp, EMC, IBM. Вполне можно использовать свой сервер для организации хранения бэкапа. Ну и самый простой вариант, использовать внешние диски с интерфейсам USB, E-SATA и т.д.
На самом деле, кроме перечисленных трех вариантов есть еще один, достаточно новый. При наличии хорошего канала, можно бэкапить на сервера в каком-нибудь ЦОД. Подходящим вариантом здесь могут быть облачные сервисы Windows Azure и Amazon Simple Storage Services. Последний вариант чаще всего называют коротко -- Amazon S3. Amazon S3 предоставляет надежный сервис для создания хранилищ и управления доступом в нему. Оплачивается не только хранение но и передача данных. Приблизительные цены таковы:
0.15 USD/1GB хранения
0.10 USD/1GB передачи
Ряд приложений для резервного копирования уже включают функционал для offsite бэкапа на Amazon S3. Понятно что, в данном случае особенно выгодно использовать инкрементное резервное копирование. Более точную информацию можно получить на сайте:
2010-10-02
Windows Live Essentials 2011
Windows Live это набор бесплатных сервисов и приложений от Microsoft. Например, в Windows 7 отсутсвует свой почтовый клиент и получить его можно, как вариант, из состава приложений Windows Live. Недавно Microsoft выпустила новую версию данного набора приложений. Новая версия получила название Windows Live Essentials 2011. Видимо для того, чтобы было понятно идет ли речь о сервисах или только о клиентских приложениях, добавили ‘Essentials’ в название. Как и раньше, набор приложений предназначен для Windows Vista и Windows 7. Включены следующие приложения:
- Photo Gallery
- Movie Maker
- Messenger
- Writer
- Family Safety
- Windows Live Mesh
Windows Live Mesh в бета версии назывался Windows Live Sync. Если используете сервис skydrive, вам предоставаляется 25GB пространства в для хранения документов, фотографий, файлов. Помимо этого предоставляется 2GB отдельного пространства, которое можно использовать для синхронизации файлов между разными компьютерами. Для синхронизации на ваших компьютерах должен быть установлен Windows Live Mesh. Кстати, кроме файлов, есть возможность синхронизировать настройки MS Office и Internet Explorer. Скачать приложения можно здесь:
2010-09-27
Отчет Gartner по Web Security.
Cisco, в данном случае, это IronPort + ScanSafe.
http://www.gartner.com/technology/media-products/reprints/cisco/article6/article6.html
2010-09-18
Получить список установленных патчей.
Это можно сделать с помощью команды:
wmic qfe.
Проверить наличие определенного патча тоже просто:
wmic qfe | find "KB983590"
Получить информацию удаленно:
wmic /node:server01 qfe
wmic /node:”server-01” qfe
Получить информацию удаленно, сразу с нескольких серверов. Создаем текстовый файл со списком серверов hosts.txt, далее:
wmic /node:@hosts.txt qfe
Финал. На каких серверах установлен данный патч:
wmic /node:@hosts.txt qfe | find "KB983590"
2010-09-14
Сгенерировать случай пароль и задать его для пользователя.
Как это сделать одной командой?
Эта команда сгенерирует случайный пароль и установит его для пользователя {username}:
net user {username} /random
Примерно то-же самое, только пользователь создается.
net user {username} /random /add
2010-04-04
Как создать файл нужного размера?
fsutil file createnew <path> <size>, где <path> --- абсолютный путь к файлу, а <size> --- размер в байтах.
fsutil file createnew c:\gig.dat 1073741824
Как удалить сервис?
Это можно сделать с помощью команды sc delete service_name. Например:
sc delete beep
sc delete alerter
2010-01-22
Крупнейшие софтверные компании.
Вот список 100 крупнейших софтверных компаний.
http://www.softwaretop100.org/software-top-100/global-software-top-100-edition-2009
2009-11-01
Обновление курсов по Citrix XenApp 5.0
В ближайшее время будут обновлены курсы по администрированию XenApp 5.0 на Windows Server 2003 и Windows Server 2008:
- CTX-1259CI Citrix Presentation Server 4.5 and XenApp 5.0 for Windows Server 2003
- CXA-201-2I Implementing Citrix XenApp 5.0 for Windows Server 2008
Об изменениях в программе курсов читайте здесь.
RDP 7.0 для предыдущих ОС
2009-10-26
Новая платформа для файрволлов Check Point.
Появилась новость о создание новой платформы для файрволлов на базе SPLAT и IPSO. Это логичное решение, после покупки файрвольного подразделения Nokia. На самом деле это будет, пожалуй, одно из важнейших событий на рынке файрволлов в ближайшее время. Другим интересным событием должен быть выпуск новой версии VPN-1 VE.
2009-10-21
Hyper-V и VMware Player на одной машине
Hyper-V и VMware Player(Workstation, Server) на одной машине одновременно не работают. Можно при необходимости сносить роль hyper-v, ставить vmware и, через некоторое время, производить обратную процедуру. Существует пара способов, позволяющих не заниматься установкой/удалением софта лишний раз.
Способ 1. Двойная загрузка.
Идея заключается в том, что мы организовываем двойную загрузку для одной и той-же ОС. В одном случае ОС будет запускаться вместе с гипервизором. В другом лучае без гипервизора, что позволить использовать VMware Player/Workstation/Server.
Запускаем cmd c административными привилегиями. Выполняем:
bcdedit /copy {current} /d "Without Hyper-V"
bcdedit /enum
Смотрим вывод, ищем загрузчик с описанием "Without Hyper-V", копируем оттуда поле identifier (что-то вроде {000c6fa4-9dfc-11de-885c-8ae0b447fdb5})
Далее выполняем команду
bcdedit /set <identifier> hypervisorlaunchtype off
Заменив <identifier> на свой, например
bcdedit /set {000c6fa4-9dfc-11de-885c-8ae0b447fdb5} hypervisorlaunchtype off
Теперь при загрузке можем выбирать вариант без Hyper-V.
Способ 2. Настрой и перезагрузи.
Так как для смены платформы виртуализации все равно нужно перезагружаться, то можно обойтись без двойной загрузки. При каждой смене платформы виртуализации будем настраивать текущий загрузчик:
bcdedit /set {current} hypervisorlaunchtype off (Перегружаемся и работаем в VMware)
bcdedit /set {current} hypervisorlaunchtype on (Перегружаемся и работаем в Hyper-V)
Замечание. Устанавливать надо сначала vmware, потом роль hyper-v.
Переименование компьютера с помощью wmic.
Бывают случаи, когда переименовывать компьютер удобнее именно с помощью wmic. Делается это так:
WMIC ComputerSystem where Name="%computername%" call Rename Name=<name>
Надо изменить <name> на нужное вам имя.
2009-10-10
Disk2VHD
Марк Руссинович разработал утилиту позволяющую произвести миграцию P2V. Миграцию можно производить на живой системе с использованием VSS. Средство полностью бесплатное и доступно на сайте Microsoft. http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx
2009-08-27
Offline Domain Join
Идея Offline Domain Join состоит в том, чтобы сначала “подготовить” AD к подключению клиента. Затем выполнить подготовку клиентской машины. Возможно без сети, но с помощью файла полученного на первом этапе. Когда клиентская машина будет в сети, она максимально быстро начнет работать в домене. При больших масшатабах очень удобно и экономно. Что интересно, для подготовки клиентской машины она не обязана быть включенной. Необходима только возможность модификации файлов ОС. Это удобно при использовании виртуальных машин. Далее разберем еще одну проблему, которую решает Offline Domain Join.
С выходом Windows 2008 появились контроллеры домена только для чтения. Это огромный шаг вперед с точки зрения безопасности AD (читай: безопасности всей инфраструктуры) и надежности репликации (читай: надежности всей инфраструктуры). Все просто. В контроллере только для чтения нельзя изменить доменные данные. Туда не реплицируются лишние(не нужные в филиале) пароли. С RODC нет исходящей репликации, это сильно упрощает топологию репликации и повышает ее надежность. Все проблемы, возникшие при использовании RODC (e.g. Dynamic DNS Updates), MS изящно решила. Ну или почти все...
Представьте ситуцию с развертыванием филиала. Для филиала вы создали сайт, определили подсети в нем. На виртуальную машину установили RODC. Все протестировали и выслали образ в филиал. Сетевые инженеры решили свои вопросы. Местный техник успешно запустил подготовленную виртуальную машину(машины) с RODC, DNS и прочими ролями/сервисами. Остается самое простое: подключить клиентские машины в домен и, наконец, начать зарабатывать деньги, эксплуатируя офисный планктон. Но тут начинаются проблемы. Нет, не с офисным планктоном, а с подключением рабочих станций в домен при использовании RODC.
Но если на эти самые клиентские рабочие станции развернут Windows 7, жить становится легче. Задача подлючения к домену рабочих станций в филиале с RODC решается по шагам:
- Provisioning. Этот этап включает в себя создание учетных записей компьютеров и подготовку файлов для клиентских машин.
- Форсировать репликацию.
- Offline Domain Join. Подлючить рабочие станции в домен с использованием подготовленных файлов.
Второй пункт не содержат ничего интересного, а первый и третий пункты относятся к Offline Domain Join. При использовании RWDC (Read-Write DC) подключение в домен элементарно. С клиентской стороны есть графический интерфейс, команда netdom, программный интерфейс. При подключении понадобится доменная учетка с правом подключения компьютеров в домен и локальная учетка с правами администратора. Кстати, по умолчанию все доменные пользователи могут подключить в домен до 10 компьютеров, если конечно они будут владеть административными учетками на самих рабочих станциях.
При подключении в домен происходят: сетевое общение клиента с DNS сервером и контроллером, внесенение изменений в базу данных AD, внесение изменений на рабочей станции. Идея Offline Domain Join состоит в том, чтобы некоторые операции “вынести за скобки” т.е. выполнить заранее:
- Избавиться от относительно длительного сетевого взаимодействия.
- Заранее создать учетные записи для компьютеров. Правда, это можно было сделать и раньше.
- Подготовить данные для OC. Ведь мы не общаемся с контроллером, откуда мы узнаем что нужно подправить у себя? ОС это узнает из файла, который был заранее подготовлен.
Что нужно для Offline Domain Join:
- Компьютер с помощью которого производится “Provisioning” должен работать на Windows 7/Windows Server 2008 R2. Так-же он должен быть членом домена, необходим доступ к контроллеру. Является ли данная машина контроллером или нет --- не имеет значения. Контроллер может работать под управлением более старой ОС.
- Машина которую вводим в домен должна работать на Windows 7/Windows Server 2008 R2.
Как это делается? На доменной машине даем команду:
Если ОС контроллера домена ниже чем Windows Server 2008 R2, надо добавить опцию /downlevel:
Что в итоге? Мы получили пару бинарных файлов:
А так-же пару учеток в AD:
Далее, переносим файл на машину, которую хотим подключить к домену и с правами локального администратора выполняем команду djoin /requestodj и перегружаем машину:
Допустим, мы работаем не с работающей машиной, а с образом виртуальной машины. Для монтирования vhd файла можно использовать diskpart. Подмонтировать vmdk образ можно с помощью vmware-mount. Команда djoin /requestodj будет еще проще. Параметр /localos теперь не нужен. Параметр /windowspath <path> должен указывать на папку windows виртуальной машины. После выполнения команды виртуальную машину можно включать.
Вот и все. Надо помнить, что Offline Domain Join только ускоряет подключение в домен. Без контроллера не удасться воспользоваться доменными учетками для логина или скачать групповые политики.
Где, кроме сценария с RODC, может быть полезно использование Offline Domain Join:
- Сверхбольшие ЦОД с огромным количество виртуальных машин с Windows Server 2008 R2 или Windows 7. Подключение этих машин необходимо не только автоматизировать, но и ускорить. Вы знаете, что в качестве шаблонов виртуальных машин всегда используют машины вне домена, на которых так или иначе отработал sysprep. После включения, машину вводят в домен, а это не очень быстро. При использовании Offline Domain Join виртуальная машина, которая еще ни разу не запускалась, уже обладает информацией о домене, контроллере и т.д.
- Техник, выполняющий подключение к домену должен обладать минимумом привиллегий.
- Скрипты, выполняющие автоматическое подключение к домену, не должны содержать паролей.
Умельцы уже успели написать парсер для файла, используемого в Offline Domain Join.
Используем модули Powershell
В Powershell v.2 появилось понятие module. В Windows 7/R2 как-раз вторая версия Powershell. В ОС есть готовый набор модулей. Посмотреть доступные модули можно так:
Использовать модули очень просто. Get-Command –module <modulename> позволит узнать какие командлеты доступны в указанном модуле. Import-Module <modulename> подгружает модуль. Далее можно начать использовать командлеты.
Для установки ролей и фич с командной строки в Windows Server 2008 можно было использовать servermanagercmd или ocsetup. Теперь рекомендуемый способ – использование модуля servermanager. Там всего три командлета.
Вот как можно, например, создать объект групповой политики:
Куда пропал netdom?
Если в Windows 7 попытаться воспользоваться командой netdom, получите такой результат
Нет этой команды в семерке. В Windows Server 2008 R2 она, кстати, присутствует. Как же теперь из командной строки/скриптов подключать рабочую станцию в домен? Все просто. Запускаем powershell, читем ман по командлетам Add-Computer, Remove-Computer, Rename-Computer, Restart-Computer. В Windows 7/R2 появилось более ста новых командлетов. Add-Computer подключает машину в домен, Remove-Computer выводит из домена.
Не забывайте что, powershell надо запустить с адмнистративными привиллегиями. Иначе Add-Computer не отработает. Ну и помните про DNS, посредством которого ищуться контроллеры вашего домена. Основная проблема --- указание доменной учетки имеющей право подключения компьютера в домен. В командлете можно использовать параметр –credential для указания имени пользователя. Пароль, как в netdom join, указать нельзя.
Пароль спросили в отдельном окне. Для скриптов не годится. Только для интерактивной работы.
В остальном все нормально. Напомнили о перезагрузке.
Для перезагрузки наряду с shutdown –r можно использовать Restart-Computer.
Попробуем разобраться с указанием доменной учетки. То есть с параметром –credential. В этом параметре вместо указания строки с именем пользователя можно использовать объект класса Management.Automation.PSCredential. Вот так вот. Не очень коротко. И как создать этот объект? Можно так:
Командлет get-credential возвращает нужный нам объект, спросив интерактивно логин и пароль. Пока не очень хорошо. Скрипт будет висет и ждать кого-то.
Смотрим, что в переменной $cred
Теперь в параметре –credential передаем не строку, а объект.
Можно не использовать Get-Credential, а создать объект самостоятельно:
Скрипт все сделает автоматом. Но пароль у нас открытом текстом. Как сделать тоже самое, но не держать пароль в скрипте? Можно и это! Но это другая история… Точнее другие истории, есть несколько вариантов…
2009-08-26
English
Знание английского paramount для IT-специалиста! К английскому надо привыкнуть. В тоже время айтишнику не обязательно свободно говорить и сходу понимать беглую английскую речь. Есть знание того, что type это не только тип, но и печатать --- уже неплохо! Что-то админите --- читайте мануалы на английском. Через некоторое время будете твердо убеждены, что по-английски понятнее. Еще нигде не работаете, только учитесь? Читайте английские книги, например в обработке Ильи Франка. Язык это как спорт, нужно всегда держать себя в форме. У айтишников для этого есть неплохие возможности. RTFM!
Windows 7 VHD Native Boot.
Думаю уже многие знают, что Windows 7 или Windows Server 2008 R2 можно установить в VHD диск. При это речь не идет о виртуализации, использовании Hyper-V или Virtual PC. Просто при загрузке VHD диск будет монтироваться и ОС далее будет грузиться с него. После загрузки будет доступ как к файловой системе внутри VHD, так и к файловой системе на физическом диске. Можно сделать Dual-Boot систему. Например Vista грузиться обычным образом, Windows 7 c VHD.
Сначала поговорим об ограничениях:
- C VHD умеют грузиться только Windows 7 и Windows Server 2008 R2.
- Bitlock Drive Encryption не поддерживается.
- Hybernation не поддерживается.
- Сам VHD файл не может быть зашифрован или сжат средставми NTFS.
- Необходимо убедиться в том, что имеется достаточно места для VHD файлов. Даже при использовании Expandable дисков. Не делайте диски слишком большими!
- VHD файл должен находиться на локальном жестком диске. Вариант NAS не подойдет. DAS(флешка) -- можно. SAN(iscsi) – не знаю.
Как это сделать:
0. Грузимся с компашки или флешки. Делаем. Радуемся. Пьем пиво ))
1. После загрузки с инсталляционного диска, надо нажать Shift+F10
2. В результате появляется cmd.
3. Нам нужен diskpart, запускаем его. Используя diskpart, выбираем диск, удаляем там все разделы. Вы ведь сделали бэкап!? Далее создаем раздел размером 100MB.
4. Созданный раздел делаем активным, форматируем в NTFS.
5. Создаем раздел в которым у нас будут vhd файлы. Дал букву Z тому. Мне кажется так будет удобно.
6. Теперь создаем собственно VHD файл. Монтируем, форматируем.
7. Смотрим какие тома у нас есть. Все хорошо. Выходим из diskpart. Выходим из cmd.
8. Начинаем инсталляцию. Выбераем том, находящийся в VHD. Установщик что-то предупреждает, игнорируем.
9. Дальше все как обычно. После установки взгляните на консоль Disk Management.
10. В томе на физическом диске лежит VHD файл из которого в данный момент запущена ОС. Cодержимое VHD в томе С: !
HP Superdome
Один из клиентов HP тестирует Superdome в качестве платформы для SQL Server 2008 R2 на Windows Server 2008 R2. На скриншоте Task Manager показывающий 256 логических процессоров. Кстати SQL Server 2008 R2 еще не вышел, в августе был Community Technology Preview. На самом деле тестируется именно масшатибуемость СУБД. То есть это испытание прежде всего для связки ПО SQL Server 2008 R2 и Windows Server 2008 R2. Кстати, на рабочем столе ярлык бесплатной утилиты SQL Stress. Кроме самого сервера используется дисковое хранилище HP StorageWorks XP24000. Скриншот взят с поста Gunter Zink, Performance Architect, HP. Страшно представить себе сколько будет стоить multisite кластер с несколькими такими серверами и дисковыми хранилищами!
2009-08-25
Exchange Kodiak
Помню разговор с коллегами о том, почему бы не сделать хранилище Exchange прямо в MSSQL. Какая разница какую базу данных использовать: встраиваимую jet и серверную MSSQL. Оказывается Microsoft планировал такое. После выпуска Exchange 2003, разрабатывалась версия Exchange c кодовым названием Kodiak. Так вот, именно там планировалось использовать хранилище на базе MS SQL 2005. Кстати довольно давно существует opensource проект DBMail, позволяющий организовать хранение почты в СУБД. Oracle развивает свой почтовый сервер с хранилищем в своей СУБД. От проекта Kodiak в конце-концов отказались, начали делать Exchange 2007 c хранилищем jet. Я предпологаю, что рано или поздно попытка будет повторена. Кстати, информацию о Kodiak нашел в блоге Максима Зинченко.