Notes about IT

Позднее Ctrl + ↑

Передача или принудительное назначение (захват) ролей FSMO другому контроллеру домена используя модуль AD-Powershell

Перемещение FSMO ролей с помощью AD PowerShell имеет следующие преимущества:

  • Не требуется подключение к будущим владельцам роли,
  • Только захват роли FSMO (если текущий владелец недоступен) потребует ввода дополнительных параметров, вы должны будете использовать дополнительный параметр -force,
  • Перенос или захват FSMO ролей не требует обязательного подключения к текущему или будущему владельцу роли.Вы можете выполнять камандлеты модуля AD-Powershell на клиенте Windows 7 или  рядовом сервере Windows Server 2008 R2 (с установленным пакетом RSAT).

Передача ролей другому владельцу осуществляется с помощью командлета Move-ADDirectoryServerOperationMasterRole

Перенос всех ролей:

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole SchemaMaster,RIDMaster,InfrastructureMaster,DomainNamingMaster,PDCEmulator

Захват всех ролей:

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole SchemaMaster,RIDMaster,InfrastructureMaster,DomainNamingMaster,PDCEmulator -Force

В примере имя целевого Контроллера Домена DC1:
Используем следующую команду для передачи всех ролей дркгому контроллеру домена:

Move-ADDirectoryServerOperationMasterRole -Identity "DC1" -OperationMasterRole SchemaMaster,RIDMaster,InfrastructureMaster,DomainNamingMaster,PDCEmulator

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

Move-ADDirectoryServerOperationMasterRole -Identity "DC1" -OperationMasterRole SchemaMaster,RIDMaster,InfrastructureMaster,DomainNamingMaster,PDCEmulator -Force

Вместо ввода Имен FSMO, можно использованы Цифровые сокращения.

0 - PDCEmulator
1 - RIDMaster
2 - InfrastructureMaster
3 - SchemaMaster
4 - DomainNamingMaster

Передача всех ролей:

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole 0,1,2,3,4

Захват всех ролей:

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole 0,1,2,3,4 -Force

В примере имя целевого Контроллера Домена DC1:
Используем следующую команду для передачи всех ролей другому контроллеру домена:

Move-ADDirectoryServerOperationMasterRole -Identity "DC1" -OperationMasterRole 0,1,2,3,4

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

Move-ADDirectoryServerOperationMasterRole -Identity "DC1" -OperationMasterRole 0,1,2,3,4 -Force

Передача или захват роли Domain Naming Master

Передача роли:

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole DomainNamingMaster

или

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole 4

Захват роли:

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole DomainNamingMaster -Force

или

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole 4 -Force

Передача или захват роли Schema Master

Передача роли:

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole SchemaMaster

или

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole 3

Захват роли:

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole SchemaMaster -Force

или

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole 3 -Force

Передача или захват роли Infrastructure Master

Передача роли:

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole InfrastructureMaster

или

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole 2

Захват роли:

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole InfrastructureMaster -Force

или

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole 2 -Force

Передача или захват роли RID Master

Передача роли:

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole RIDMaster

или

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole 1

Захват роли:

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole RIDMaster -Force

или

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole 1 -Force

Передача или захват роли PDC Emulator

Передача роли:

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole PDCEmulator

или

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole 0

Захват роли:

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole PDCEmulator -Force

или

Move-ADDirectoryServerOperationMasterRole -Identity "Target-DC" -OperationMasterRole 0 -Force

Дополнительная информация

Вы также можете просмотреть текущего владельца роли FSMO используя следующие командлеты AD-Powershell:

Get-ADForest | select SchemaMaster,DomainNamingMaster
Get-ADDomain | select PDCEmulator,RIDMaster,InfrastructureMaster

Ссылки

Move-ADDirectoryServerOperationMasterRole
Active Directory Administration with Windows PowerShell
How To Revert Back or downgrade Windows Server 2008 R2 Forest and Domain functional Level
AD-Powershell for Active Directory Administrators

(с) social.technet.microsoft.com

2014   ad   windows

Обновление прошивок на Dell PowerEdge C6100

Приехали устаревшие, но от этого не ставшие нам не нужными, игрушки в виде двух Dell PowerEdge C6100. Беглый осмотр показал старые версии BIOS, BMC и FCB (аж 2011 год) — нужно обновлять. На текущий момент последние версии BIOS — 1.71, BMC — 1.33 и FCB — 1.20 v2.

Идем на сайт DELL, вводим Service Tag (который есть как на корпусе, так и в BIOS) и начинаем методично выкачивать свежие версии (BMC и FCB находятся в разделе Embedded Server Management).
Я скачал файлы PEC6100BIOS017100.exe, PEC6100BMC133.exe, FCB120V2.exe и распаковал их.

Обновлять следует в следующем порядке:
1 — BMC (для каждой ноды)
2 — BIOS (для каждой ноды)
3 — FCB (единожды для всех нод)

Обновления кумулятивные, поэтому:
BMC 1.11 -> 1.33
BMC 1.22 -> 1.33
BMC 1.29 -> 1.33

BIOS 1.44 -> 1.71
BIOS 1.62 -> 1.71
BIOS 1.69 -> 1.71

FCB 1.08 -> 1.20v2
FCB 1.14 -> 1.20v2

Создаем загрузочную флешку с DOS (есть ее нет) при помощи Rufus и закидываем в корень наши BMC, BIOS и FCB. Грузимся в флешки и, помня порядок обновлений, начинаем обновлять.

Обновляем BMC

Грузимся с нашей флешки, заходим в папку PEC6100BMC133\SOCFLASH\DOS и выполняем файл flash8.bat.

Ждем пока пройдет обновление:

После обновления BMC сервак взвоет — выключаем его и через несколько секунд включаем.

Если появится ошибка «Error: BMC NOT Responding» нужно перезагрузить ноду и при загрузке BMC восстановится.

Обновление BIOS

Грузимся с нашей флешки, заходим в папку PEC6100BIOS017100 и выполняем файл fbios.bat. У меня появилась ошибка «Different ROM ID between current system and update BIOS rom file» которая обходится следующим образом:

afudos 6100v171.rom /p /b /n /c /x

Параметр /x пропускаеn проверку ROM ID и запускает процесс обновления.

После завершения обновления нужно перезагрузить ноду и настроить BIOS.

Обновление FCB

Грузимся с нашей флешки, заходим в папку FCB120V2\DOS и выполняем файл FCB.bat.
Эта прошивка совместима только с контролером PIC-18, если у вас PIC-16 — вам не повезло. В этом случае для замедления вентиляторов придется либо заменить их на более медленные/тихие или
же патчить FCB.

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

2014   firmware

HP Service PIN’s

LaserJet 2300 — 11230002
LaserJet 2410 — 10241004
LaserJet 2420 — 10242004
LaserJet 2430 — 10243004
LaserJet 4101 — 04410002
LaserJet 4200 — 11420002
LaserJet 4240 — 04424005
LaserJet 4250 — 09425004
LaserJet 4300 — 11430002
LaserJet 4350 — 09435004
LaserJet 5200 — 05520006
LaserJet 9000 — 00900001
LaserJet 9040 — 04904005
LaserJet 9050 — 09905004
LaserJet P3005 — 10300506
LaserJet Enterprise P3015 — 07301509
LaserJet P4014 — 05401408
LaserJet P4015 — 05401508
LaserJet P4515 — 05451508
LaserJet 4345 MFP — 11434504
LaserJet 9000 MFP — 00900001
LaserJet 9040 MFP — 11904004
LaserJet 9050 MFP — 11905004
LaserJet M3027 MFP — 11303506
LaserJet M3035 MFP — 11303506
LaserJet M4345 MFP — 11434506
LaserJet M4349x MFP — 11434506
LaserJet M5025 MFP — 11503506
LaserJet M5035 MFP — 11503506
LaserJet M5039XS MFP — 11503906
LaserJet M9040 MFP — 04904008
LaserJet M9050 MFP — 04905008
LaserJet M9059 MFP — 04905008
Color LaserJet 3000 — 11300005
Color LaserJet 3500 — 10350003
Color LaserJet 3550 — 10355004
Color LaserJet 3600 — 11360005
Color LaserJet 3700 — 10370003
Color LaserJet 3800 — 11380005
Color LaserJet 4600 — 04460002
Color LaserJet 4610 — 05465004
Color LaserJet 4650 — 05465004
Color LaserJet 4700 — 09470005
Color LaserJet 5500 — 04550002
Color LaserJet 5550 — 09555004
Color LaserJet 9500 — 04950003
Color LaserJet CP3505 — 06350507
Color LaserJet CP3525 — 09352508
Color LaserJet CP4005 — 10400506
Color LaserJet Enterprise CP4020 — 11402509
Color LaserJet Enterprise CP4520 — 11452509
Color LaserJet CP6015 — 03601508
Color LaserJet 4730 MFP — 09473005
Color LaserJet 9500 MFP — 04950003
Color LaserJet CM3530 MFP — 11353008
Color LaserJet CM4730 MFP — 05473007

2014   printer

Разворачивание TFTPD Server на Ubuntu

  1. Устанавливаем пакеты
sudo apt-get install xinetd tftpd tftp
  1. Создаем файл
touch /etc/xinetd.d/tftp

и вставляем в него содержимое

service tftp
{
protocol        = udp
port            = 69
socket_type     = dgram
wait            = yes
user            = nobody
server          = /usr/sbin/in.tftpd
server_args     = /home/user/tftpboot
disable         = no
}
  1. Создаем папку tftpboot
sudo mkdir ~/tftpboot
sudo chmod -R 777 ~/tftpboot
sudo chown -R nobody ~/tftpboot
  1. Перезапускаем xinetd.
sudo /etc/init.d/xinetd stop
sudo /etc/init.d/xinetd start

Готово!

Проверяем нам tftp сервер

  1. Создаем файл с произвольным содержанием в папке TFTP сервера ~/tftpboot
/tftpboot/test
sudo chmod -R 777 /tftpboot
ls /tftpboot/test -lh
-rw-r--r-- 1 user user 159 2014-02-05 10:48 test
  1. Подключаемся к tftp серверу (у меня IP сервера 10.0.0.2)
tftp 10.0.0.2
tftp> get test
Sent 159 bytes in 0.0 seconds
tftp> quit
ls test -lh
-rw-r--r-- 1 user user 159 2014-02-05 10:48 test
2014   nix

Настройка GRE моста между двумя Mikrotik

The goal of this example is to get Layer 3 connectivity between two remote sites over the internet.

We have two sites, Site1 with local network range 10.1.101.0/24 and Site2 with local network range 10.1.202.0/24.

First step is to create GRE tunnels.
Router on site 1:

/interface gre add name=myGre remote-address=192.168.90.1 local-address=192.168.80.1

Router on site 2:

/interface gre add name=myGre remote-address=192.168.80.1 local-address=192.168.90.1

As you can see tunnel configuration is quite simple.

Note: In this example keepalive is not configured, so tunnel interface will have running flag even if remote tunnel end is not reachable

Now we just need to set up tunnel addresses and proper routing.

Router on site 1:

/ip address
add address=172.16.1.1/30 interface=myGre
/ip route
add dst-address=10.1.202.0/24 gateway=172.16.1.2

Router on site 2:

/ip address
add address=172.16.1.2/30 interface=myGre
/ip route
add dst-address=10.1.101.0/24 gateway=172.16.1.1

At this point both sites have Layer 3 connectivity over GRE tunnel.

wiki.mikrotik.com

2014   mikrotik   network

Используем WinDbg для поиска причины падения w3wp.exe

Выкатили свежее веб приложение, которое себя отлично вело на предпродакшн серверах, а оно начало «крашить» w3wp.exe. Пытались «оддебажить» Debug Diagnostic Tool v2.0, но никаких результатов вменяемых мы не получили. И вот в один прекрасный день я наткнулся на замечательную статью и уже из нее узнал о существовании WinDbg. Дальнейший поиск вывел меня на еще одну статью.
IIS складывает дампы в папку c:\ProgramData\Microsoft\Windows\WER\ReportQueue\ и там уже AppCrash_w3wp.exe_<некий хеш> в которой находятся файлы, например:

WER87FF.tmp.dmp
WER4CC3.tmp.hdmp
WER4C63.tmp.appcompat.txt
Report.wer
WER4CB2.tmp.WERInternalMetadata.xml

Для отладки запускаем установленную WinDbg и дальше Ctrl+D (File — Open crash Dump...) и указываем файл с расширением .hdmp.
Открывшийся дамп предстает перед нами в таком виде:

Подгружаем SOS модули для .NET
Для .NET 2.0 | 3.0 | 3.5

.loadby sos mscorwks

Для .NET 4.0

.loadby sos clr

Для вывода Stack Trace вводим команду:

!clrstack

и получаем вывод типа:

Для вывода потоков вводим команду:

!threads

и получаем список потоков:

В этом списке потоков я обнаружил строку:

129    9  e08 000000554889dba0  1029220 Preemptive  000000507063E940:0000005070640758 00000055488f41c0 1     MTA (Threadpool Worker) System.StackOverflowException 0000004cb0501188 (nested exceptions)

Вот он тот самый «эксепшн» StackOverflow который мы и искали.
«Открываем» нужный нам поток командой:

~129s

А теперь смотрим что у него внутри:

!clrstack

и начинаем анализировать вывод:

Скачать WinDbg

WinDbg 6.12.0002.633 (x64)
WinDbg 6.12.0002.633 (x86)

2014   iis   windows

Миграция роли Active Directory и перенос контроллера домена на другой сервер

Как недавно выяснилось, процесс миграции домена с Windows Server 2003 на Windows Server 2008/R2 (либо просто на другой сервер) для начинающих системных администраторов представляет сложности и даже вызывает некоторую боязнь, хотя на самом деле он настолько прост, что о написании такой статьи я даже и не задумывался никогда, тем более что в интернете их полно.

Тем не менее, целью данной статьи было объединить типовые действия, возникающие при миграции, поэтому приступим. Статья будет представлять собой пошаговый мануал, с наиболее распространенным случаем миграции с 2003 на 2008 R2 и с необходимыми отступлениями для других вариантов.
Собственно шаги:

  • Исходные данные и техзадание,
  • Подготовительные работы,
  • Обновление схемы леса и домена,
  • Передача ролей FSMO,
  • Перенос глобального каталога,
  • Перенастройка интерфейсов, DNS и другие послеустановочные задачи.

Исходные данные и техзадание

Исходная ситуация — существует домен, testcompany.local. Для упрощения в нем будет один контроллер домена под Windows Server 2003, с именем dc01. DNS-сервер также на нем, основная зона интегрирована в Active Directory.

Сетевые настройки контроллера:

IP-адрес — 192.168.1.11
Маска — 255.255.255.0
Шлюз — 192.168.1.1
DNS-сервер — 192.168.1.11

Задача — установить контроллер домена на другом сервере, причем работающем под Windows Server 2008 R2, старый контроллер понизить до рядового сервера (а затем возможно, удалить вообще), а все функции старого контроллера передать новому.

Подготовительные работы

В качестве подготовительных работ следует запустить команды netdiag (эта команда существует только в 2003 Server, Support Tools) и dcdiag, убедиться в отсутствии ошибок, а при их наличии исправить эти ошибки.
В первую очередь определяем держателя FSMO-ролей в домене, командой:

netdom query fsmo

Утилита netdom.exe в состав Windows Server 2003 по умолчанию не входит, поэтому нужно установить Support Tools. В рассматриваемом случае от нее смысла никакого нет, так как контроллер домена всего один и роли FSMO все равно все на нем. Тем же, у кого контроллеров домена больше одного, это будет полезно, чтобы знать, какие именно роли и откуда переносить. Результат команды будет примерно таким:

Далее, устанавливаем операционную систему Windows Server 2008 R2 на новый сервер, даем имя dc02, задаем сетевые настройки:

IP-адрес — 192.168.1.12
Маска — 255.255.255.0
Шлюз — 192.168.1.1
DNS-сервер — 192.168.1.11

и вводим его в существующий домен, testcompany.local в нашем случае.

Обновление схемы леса и домена

Следующий этап — обновление схемы леса и домена до Windows Server 2008 R2, что мы будем делать с помощью утилиты adprep. Вставляем установочный диск с Windows Server 2008 R2 в сервер dc01. На диске нас интересует папка X:\support\adprep (X: — буква диска DVD-ROM). Если windows Server 2003 у вас 32-х битная, следует запускать запускать adprep32.exe, в случае 64-х битной — adprep.exe.

Для выполнения команды adprep /forestprep никаких требований к функциональному режиму леса нет. Для выполнения команды adprep /domainprep требуется, чтобы в домене использовался функциональный уровень домена не ниже Windows 2000 native.
Вводим команду:

X:\support\adprep>adprep32.exe /forestprep

После предупреждения о том, что все контроллеры домена Windows 2000 должны быть минимум с SP4 вводим С и нажимаем Enter:

Команда отрабатывает довольно долго, несколько минут и должна завершиться следующей фразой:

Adprep successfully updated the forest-wide information.

После этого вводим команду:

X:\support\adprep>adprep32.exe /domainprep /gpprep

Которая отработает не в пример быстрее:

Также стоит выполнить команду adprep /rodcprep. Даже если вы и не собираетесь использовать в вашей сети контроллеры домена только для чтения (Read Only Domain Controller — RODC), эта команда как минимум уберет ненужные сообщения об ошибках в журнале событий.

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

На сервере dc02 заходим в Server Manager, добавляем роль Active Directory Domain Services. После установки роли, зайдя в Server Manager > Roles > Active Directory Domain Services, мы увидим желтую подсказку «Run the Active Directory Domain Services Installation Wizard (dcpromo.exe)». Ее и запускаем. Либо можно в командной строке набрать dcpromo, что будет равноценно вышеприведенному действию.

Так как освещение процесса установки контроллера домена в эту статью не входит, остановлюсь лишь на некоторых ключевых моментах. На шаге Additional Domain Controller Options поставьте обе галки, DNS Server и Global catalog.

Если галку Global Catalog и DNS Server не поставить, придется их переносить отдельно. А при миграции с 2003 на 2003 это придется делать в любом случае, так как в Windows 2003 такой возможности (установки DNS-сервера и глобального каталога при добавлении добавочного контроллера домена) нет. О переносе глобального каталога и DNS-сервера будет немного ниже.

Завершаем установку контроллера домена, перезагружаем сервер. Теперь у нас есть два контроллера домена, работающих одновременно.

Передача ролей FSMO

Передачу ролей FSMO можно производить как через графический интерфейс, так и с помощью утилиты ntdsutil.exe. В этой статье будет описан способ с использованием графического интерфейса, как более наглядный, кого интересует другой способ, он по этой ссылке: http://support.microsoft.com/kb/255504.
Передача ролей FSMO будет состоять из следующих шагов:

  • Передача роли Schema Master,
  • Передача роли Domain Naming Master,
  • Передача ролей RID Master, PDC Emulator и Infrastructure Master.

Передача роли Schema Master

Заходим на сервер dc02, на тот, на который будем передавать роли. Для того, чтобы получить доступ к оснастке Active Directory Schema, сначала необходимо зарегистрировать библиотеку schmmgmt.dll. Это делается с помощью команды:

regsvr32 schmmgmt.dll

Далее, Start > Run > mmc > Enter. В окне оснастки находим и добавляем компонент Active Directory Schema.

В дереве оснастки нужно щелкнуть правой кнопкой мыши элемент Active Directory Schema и выбрать пункт Change Domain Controller. Там меняем контроллер на dc02.
Далее опять нажимаем правой кнопкой мыши элемент Active Directory Schema и выбираем пункт Operations Master. Появляется вот такое окно:

Нажимаем Change > Yes > OK и закрываем все эти окна.

Передача роли Domain Naming Master

Открываем оснастку Active Directory Domains and Trusts, щелкаем правой кнопкой мыши элемент Active Directory Domains and Trusts и выбираем команду Change Active Directory Domain Controller. Это действие необходимо, если работа ведется не с контроллера домена, которому передается роль. Пропустите его, если подключение к контроллеру домена, чья роль передается, уже установлено. В открывшемся окне выбираем контроллер домена, которому присваивается роль (dc02 в нашем случае), в списке и нажимаем кнопку ОК.

В оснастке щелкаем правой кнопкой мыши элемент Active Directory Domains and Trusts и выбираем пункт Operations Master. В появившемся окне нажимаем кнопку Change.

Чтобы подтвердить передачу роли, нажимаем кнопку ОК, а затем — Close.

Передача ролей RID Master, PDC Emulator и Infrastructure Master

Открываем оснастку Active Directory Users and Computers. Щелкаем правой кнопкой мыши элемент Active Directory Users and Computers и выбираем команду Change Domain Controller. Пропустите его, если подключение к контроллеру домена, чья роль передается, уже установлено. В открывшемся окне выбираем контроллер домена, которому присваивается роль (dc02 в нашем случае), в списке и нажимаем кнопку ОК.

В оснастке щелкаем правой кнопкой мыши элемент Active Directory Users and Computers, выбираем пункт All Tasks, а затем Operations Master.

Выбираем вкладку, соответствующую передаваемой роли (RID, PDC или Infrastructure Master), и нажимаем кнопку Change. Чтобы подтвердить передачу роли, нажимаем кнопку ОК, а затем — Close.

Перенос глобального каталога

Если мы делаем миграцию не на 2008, а на 2003, в котором при добавлении добавочного контроллера домена глобальный каталог не ставится, либо вы не поставили галку Global Catalog при установке добавочного контроллера домена, тогда нужно назначить роль глобального каталога новому контроллеру домена вручную. Для этого, заходим в оснастку Active Directory Sites and Services, раскрываем Sites > сайт Default-First-Site-Name > Servers > DC02 > щелкаем правой кнопкой мыши по NTDS Settings > Properties. В открывшемся окне ставим галку Global Catalog > OK.

После этого, в логах Directory Service появится сообщение, что повышение роли контроллера до глобального каталога будет отложено на 5 минут:

Event Type: Information
Event Source: NTDS General
Event Category: (18)
Event ID: 1110
Date: 12.07.2011
Time: 22:49:31
User: TESTCOMPANY\Administrator
Computer: dc02.testcompany.local
Description:
Promotion of this domain controller to a global catalog will be delayed for the following interval.

Interval (minutes):
5

This delay is necessary so that the required directory partitions can be prepared before the global catalog is advertised. In the registry, you can specify the number of seconds that the directory system agent will wait before promoting the local domain controller to a global catalog. For more information about the Global Catalog Delay Advertisement registry value, see the Resource Kit Distributed Systems Guide.

Ждем пять минут и дожидаемся события 1119 о том, что этот контроллер стал глобальным каталогом:

Event Type: Information
Event Source: NTDS General
Event Category: (18)
Event ID: 1119
Date: 12.07.2011
Time: 22:54:31
User: NT AUTHORITY\ANONYMOUS LOGON
Computer: dc02.testcompany.local
Description:
This domain controller is now a global catalog.

Перенастройка интерфейсов, DNS и другие послеустановочные задачи

Далее, так как DNS-сервер на dc02 мы установили, теперь нужно в свойствах сетевого интерфейса первичным DNS-сервером указать самого себя, т. е. адрес 192.168.1.12. И на dc01 соответственно поменять на 192.168.1.12.

В свойствах DNS-сервера на dc02 проверьте вкладку Forwarders, на 2003, в отличие от 2008, она не реплицируется. После этого можно понижать контроллер домена dc01 до рядового сервера.

Если вам необходимо у нового контроллера оставить старое имя и IP-адрес, то это также делается без проблем. Имя меняется как для обычного компьютера, либо командой netdom renamecomputer.

После смены IP-адреса выполните команды ipconfig /registerdns и dcdiag /fix.

Использованные источники:
http://support.microsoft.com/kb/324801
http://technet.microsoft.com/en-us/library/cc731728(WS.10).aspx
http://technet.microsoft.com/ru-ru/library/upgrade-domain-controllers-to-windows-server-2008-r2(WS.10).aspx#BKMK_FL

(c) sysadminz.ru

2014   ad   windows

URL Rewrite some.domain.com to domain.com/some

Как в IIS прописать правило URL Rewrite для перенаправления (rewrite) some.domain.com в domain.com/some?
Решение:

<rule name="CName to URL" stopProcessing="true">
    <match url=".*" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^(?!www)(.*)\.domain\.com$" />
    </conditions>
    <action type="Redirect" url="http://domain.com/{C:1}/{R:0}" />
</rule>

Этим правилом мы перенаправляем http://some.domain.com на http://domain.com/some. Оно так же поддерживает запросы, например, http://some.domain.com/aboutus?more=info перенаправит на http://domain.com/some/aboutus?more=info.

То же самое можно сделать применив перезапись (rewrite):

<rule name="CName to URL - Rewrite" stopProcessing="true">
    <match url=".*" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^(?!www)(.*)\.domain\.com$" />
    </conditions>
    <action type="Rewrite" url="/{C:1}/{R:0}" />
</rule>

Для посетителя запрос будет выглядеть как http://some.domain.com/aboutus/, а для сервера это будет запрос в папку /some/aboutus/.

2014   iis   web   windows

Перезагрузка Airport Extreme при помощи AppleScript

Иногда Apple inc. выпускают не очень удачные firmware для своих wi-fi точек. Иногда для нормальной работы требуется перезапустить Airport Extreme/Express/Time Capsule. И, как раз, последняя ситуация случилась на работе. На Airport Extreme приходится свыше 50 клиентов (а держать она может не более 50) в виде Windows ноутбуков, Android телефонов/планшетов и различной техники от Apple inc. Нормально интегрировать Airport Extreme в сеть windows тяжко (не дает она использовать внешний DHCP), вот и приходится выкручиваться.

Для автоматической перезагрузкой нужен компьютер на OS X и следующий скрипт на форуме MacOSXHints:

tell application "AirPort Utility" to activate
delay 2
tell application "System Events"
	tell application process "AirPort Utility"

		tell window 1
			click button "Manual Setup"
			delay 60
		end tell

		tell menu bar 1
			click menu bar item "Base Station"

			tell menu bar item "Base Station"
				tell menu 1
					click menu item "Restart…"
				end tell
			end tell
		end tell

		delay 1 --imperative

		delay 30

	end tell
end tell

tell application "AirPort Utility" to quit

Если нужно писать логи в ~/Library/Logs используем этот скрипт:

set commonScript to load script alias ¬
	((path to library folder from user domain as string) ¬
		& "Scripts:Common code.scpt")

tell application "AirPort Utility" to activate
delay 2
tell application "System Events"
	tell application process "AirPort Utility"
		
		tell window 1
			click button "Manual Setup"
			delay 60
		end tell
		
		tell menu bar 1
			click menu bar item "Base Station"
			
			tell menu bar item "Base Station"
				tell menu 1
					click menu item "Restart…"
				end tell
			end tell
		end tell
		
		delay 1 --imperative
		
		delay 30
		
	end tell
end tell

tell application "AirPort Utility" to quit

log_event("Basement Airport Extreme restarted") of commonScript

Для автоматического запуска скрипта можно использовать iCal, например, как это описывает Maria Langer.

2014   apple   network

Синтаксис регулярных выражений

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

Круглые скобки () используются для выделения групп символов.

Символ ^ обозначает начало строки.

Символ $ обозначает конец строки.

Символ . обозначает любой символ.

Символ | обозначает альтернативу. Например, выражения «A|B» и «(ABC|DEF)» означают «A или B» и «ABC или DEF» соответственно.

Символ ? ставится после символа (или группы символов), который может как присутствовать, так и отсутствовать. Например, выражению «jpe?g» подойдет и строка «jpg», и строка «jpeg». Пример выражения с группой символов: «super-(puper-)?site».

Символ ***** ставится после символа (или группы символов), который может отсутствовать или присутствовать неограниченное число раз подряд. Например, выражению «jpe*g» подойдут строки «jpg», «jpeg» и «jpeeeeeeg».

Символ + действует аналогично символу * с той лишь разницей, что предшествующий ему символ обязательно должен присутствовать хотя бы один раз. Например, выражению «jpe+g» подойдут строки «jpeg» и «jpeeeeg», но не «jpg».

Квадратные скобки [] используются для перечисления допустимых символов.
Например, выражение «[abc]» равносильно выражению «a|b|c», но вариант с квадратными скобками обычно является более оптимальным по быстродействию.
Внутри скобок можно использовать диапазоны.
Например, выражение «[0-9]» равносильно выражению «[0123456789]».
Если символы внутри квадратных скобок начинаются с символа ^, это означает любой символ, кроме перечисленных в скобках. Например, выражение «[^0-9]+» означает строку из любых символов, кроме цифр.

Символ \ ставится перед спецсимволами, если они нужны в своем первозданном виде. Например, выражению «jpe\+g» соответствует только одна строка «jpe+g».

{3,9} — фигурные скобки означают диапозон количества символов, в данном случае допускается от 3 до 9 символов, длина строки из символов должна быть равна или более 3 равна или менее 9 символов. Применяется в основном в модуле преобразований — синтаксис регулярных выражений преобразований, значение флагов. Пример, проверяем строку HTTP запроса отправленную браузером серверу на предмет совпадения ее содержания определенному шаблону:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/

предположим что мы запросили индексную страницу на сервере %{THE_REQUEST} = «GET /index.html HTTP/1.1», в таком случае мы читаем исходную строку содержащую фигурные скобки так «начало_полученных_данныхGETпробел/index.phpпробелHTTP/», т. е. может быть «GET», а может быть «POST» могут быть и другие значения... просто символы, в зависимости от того чем и как мы запросим файл index.php на сервере.

Все, что расположено после символа #, считается комментарием.

2014   regexp
Ранее Ctrl + ↓