Скрипт: список папок, для которых отключено наследование разрешений.

Задал тут мне на днях начальник задачку, вполне себе типовую — предоставить финдиректору доступ ко всем папкам внутри некоей общей папки (на самом деле — дерева DFS), чтобы финдиректор мог «пойти туда, не знаю куда», и найти «то, не знаю что» (какие-то документы по какой-то старой-престарой сделке, про которую я не знаю и знать не хочу). Причем, начальник явно и недвусмысленно поставил условие — дать доступ ко всем папкам.
Если бы я работал в сферической организации в вакууме, которая придерживается «наилучших практик» в области IT, то проблемы бы не было: достаточно было бы включить финдиректора в группы, имеющие разрешения на чтение на целевые папки для каждой из ссылок DFS, и эти разрешения были бы унаследованы всеми вложенными папками. Но поскольку я работаю в реальной фирме, которая использует реальные практики, то все оказывается не так просто: где-то внутри деревьев подпапок есть папки, для которых наследование разрешений отключено , и эти папки, в полном с соответствии с реальными практиками, реально не документированы (ну, какой-то документ для начальства, конечно же, есть, но, сами понимаете…).
Поэтому для поиска таких папок был, после небольших раздумий, написан несложный скрипт на PowerShell (точнее — несколько команд для консоли, соединенных через конвейер), которым я и хочу поделиться.
Собственно, сам скрипт — вот он:
(get-item .).GetDirectories('*.*',[System.IO.SearchOption]::AllDirectories) | where-object{(Get-Acl $_.FullName).AreAccessRulesProtected}| select-object FullName
Он выводит в стандартный вывод полные имена всех папок внтури текущей папки, для которых отключено наследование разрешений.
Несколько слов по каждой команде. Читать далее

TMG и Remote Desktop Gateway — на одном сервере.

Вместо вступления.

Фирма Microsoft не страдает минимализмом. Она часто рекомендовует отводить под каждую функцию (серверный продукт либо роль или группу связанных ролей Windows Server) по отдельному серверу.
Понять Microsoft можно. С одной стороны, фирма она крупная, клиенты ей тоже все больше интереснны немаленькие (потому что и бюджеты на IT у них тоже немаленькие), а в таких контрах каждая такая функция вполне способна полностью загрузить и не один сервер. С другой стороны, чем меньше функций выполняет сервер, тем проще обеспечить его работоспосбность, надежность и безопасность. Наконец, чем больше серверов — тем больше лицензий, что для Microsoft — понятно, прямая прибыль.

Но для тех, кто, подобно мне, работает в малом и среднем бизнесе, такой подход малоприемлем — он ведет к растрате серверных ресурсов. И даже виртуализация положения не спасает. Если использование процессора и памяти она позволяет сделать более эффективным, то с уменьшением затрат на лицензии дело обстоит куда хуже. Редакция Entetprise практически не дает выигрыша в цене лицензии на один сервер по сравнению со Standard (даже если использовать ее для лицензирования всех дозволенных 4-х виртуальных машин, которые далеко не всегда нужны в таком количестве). Редакция же Datacenter  для малого-среднего предприятия явно избыточна, особенно если учесть, что ей требуется сервер с несколькими физическими процессорами — а это в наше время многоядерных процессоров может быть само по себе роскошью.

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

Постановка задачи и возможные проблемы с совместимостью.

Итак, мы планируем разместить на одном сервере, играющем роль шлюза в сеть нашего предприятия, и межсетевой экран — продукт Threat Management Gateway 2010 (далее — TMG), и шлюз для серверов терминалов — роль Remote Desktop Gateway Windows server 2008 R2 (далее — RDG).
Что может этому помешать?

Читать далее

Создание отказоустойчивого кластера DNS на базе MS Windows Server 2008 R2

Необходимое предисловие от 30.03.17: Сегодня с удивлением обнаружил, что данное произведение (написанное как наполовину серьёзное по мотивам давнего эпичного обсуждения на «зелёном») некоторыми коллегами всерьёз рассматривается  (например, как здесь) в качестве инструкции по созданию рабочего отказоустойчивого решения для размещения зон DNS. Так вот, ответственно заявляю: эта статья — не инструкция по созданию отказоустойчивой DNS. Отказоустойчивость DNS достигается куда более простыми средствами: вторичными серверами зон. Использование же для построения отказоустойчивой системы DNS решения из этой статьи по сути  аналогично ректальному способу удаления гланд из известного анекдота: возможно, но трудно. Впрочем, описанные здесь техники, если к ним подходить творчески, могут пригодиться для кластеризации других нагрузок, напрямую службой кластеризации Windows не поддерживаемых. Короче, я вас предупредил.

Введение

Думаю, каждый системный администратор понимает важность сохранения работоспособности подведомственной ему информационной системы даже в случае возникновения сбоев или отказов некоторых ее компонентов. Одним из наиболее эффективных способов обеспечения устойчивости к отказам и сбоям в таких случаях является использование кластерных технологий, позовляющих дублировать критически важные элементы системы и, в случае отказа основных элементов системы, автоматически подключать в работу дублирующие элементы. Фирма Microsoft предоставляет возможность создавать отказоустойчивые кластеры на базе редакций Entrprise и Datacenter своей серверной операционной системы Windows Server 2008 R2.

Одной из важнейших служб в современных компьютерных сетях является система именования доменов (DNS), преобразующая имена компьютеров в их сетевые адреса, и позволяющая, таким образом, использовать при обращении к различным сетевым службам эти удобные для восприятия человеком имена, вместо неудобных числовых сетевых адресов. К сожалению, фирма Microsoft не предлагает в числе кластеризуемых служб Windows Server варианта отказоустойчивый кластеризации сервера DNS. тем не менее, пользуясь этим руководством, Вы можете самостоятельно исправить это упущение.

В качестве исходного пункта для построения нашего отказоустойчивого кластера DNS возьмем двухузловой кластер с общим хранилищем на базе двух рядовых серверов в домене. Например, можно взять в качестве основы отказоустойчивый кластер файлового сервера, пошаговое руководство по установке которого есть  в MS Technet Library.  Серверы — узлы кластера, на примере которых в данном руководстве объясняется процесс построение кластера DNS называются в нашем примере NODE1 и NODE2, сам кластер — FTC01.

Описание процедуры создания кластерного сервера DNS.

Читать далее