Windows active directory tools windows 7: Windows 7 Active Directory — Windows 7 Active Directory —
5 бесплатных утилит от Microsoft для мониторинга здоровья Active Directory
Гари Олсен, MVP в Directory Services и архитектор решений в HP, опубликовал недавно обзор 5 бесплатных инструментов Microsoft, которые можно использовать для оценки здоровья Active Directory. Этот обзор показался нам достаточно полезным, поэтому мы решили привести здесь его перевод.
Заинтересованных приглашаем под кат.
Оценка здоровья AD уже сама по себе является проблемой, особенно для малых и средних компаний, которые не могут позволить себе приобрести дорогостоящие сторонние решения или же нанять на работу администратора, который бы занимался только администрированием AD.
Первым проявлением “больной” Active Directory является нарастающий поток обращений в службу поддержки, что свидетельствует о назревающем кризисе. К счастью, Active Directory может сама “восстановиться” и даже не будучи на 100% здоровой, она все продолжает работать. Однако именно из-за этого возникшие проблемы могут игнорироваться, и IT-служба переключается на решение более важных задач.
Я вспоминаю как пару лет назад, как один из сотрудников сказал мне, что контроллер домена не хочет реплицироваться. После анализа логов, выяснилось, что этот КД не реплицировался почти три года.
Поэтому я решил собрать здесь 5 базовых инструментов, которые помогают мне в проведении базовой оценки здоровья Active Directory. Все они бесплатны и относительно просты в использовании.
1. Active Directory Best Practices Analyzer
Выпустив утилиту Active Directory Best Practices Analyzer (ADBPA), которая присутствует в Windows Server 2008 R2, Microsoft открыла доступ к обширной информации о здоровье Active Directory. Многим администраторам известна утилита Exchange Best Practices Analyzer (ExBPA). Я ожидал от ADBPA такого же уровня детальности отчетов и глубокого анализа лучших практик AD, как от ExBPA, в части решения возникающих проблем. ADBPА, конечно, предоставляет полезную информацию, но хотелось бы чтобы ее все же было больше. ADBPA доступна под ролью Active Directory Domain Services в Server Manager, как показано на рисунке 1.
Обратите внимание, что Вы можете получить описание каждой записи, просто кликнув на нее. В данном примере показано, что все контроллеры домена, отмеченные зеленым, соответствуют списку лучших практик AD. Также показываются ошибки и предупреждения. Что проверяется: все липервичные контроллеры домена сконфигурированы к валидному источнику времени (? – valid time source), все домены имеют два функционирующих КД, все OU защищены от случайного удаления, когда были сделаны последние бекапы; правильно ли настроен DNS, работают ли репликации Group Policy и FRS.
ADBPA подходит для первичного обзора здоровья AD, но все же хотелось бы получать больше информации. Например, она не показывает информацию о репликации Active Directory или имеются ли КД, которые не реплицировались в течение определенного периода времени (например, в течение времени жизни tombstone-объектов). Утилита показывает, работает ли DNS таким образом, что позволяет клиентам подключаться, ничего не свидетельствует о том, что DNS сервер может быть некорректно настроен.
2. MPS Reports
В стародавние времена Windows 2000, Microsoft выпустила Microsoft Product Support (MPS) Reports — скрипт для диагностики AD. Сначала он был выпущен для партнеров Microsoft, а затем для всех желающих. Для меня эта утилита является ключевым инструментом оценки здоровья AD или разрешения возникающих проблем. Утилиту можно скачать здесь. Необходимо выбрать либо x86, либо x64 версию установщика. При запуске MPSReports.exe появляется диалоговое окно, показанное на рисунке 2. Обратите внимание, что MPS Reports требует прав администратора, чтобы собирать корректную информацию, и требует, чтобы были установлены следующие компоненты: Microsoft .NET Framework 2, Windows PowerShell 1.0, Windows Installer 3.1 и Microsoft Core XML Services 6.0.
На рисунке 3 показано запущенное меню диагностики. Раньше существовало несколько версий MPS Reports для Networking, SQL, Exchange, Active Directory и других компонентов. Сейчас все включено в один пакет и Вы просто выбираете то, что Вам необходимо. Для решения проблем с AD, отметьте General, Internet and Networking, Business Networks, Server Components и Exchange Servers.
Выберите «Link to more info» и Вы увидите те файлы, в которые утилита собирает информацию. Нажмите “Next”, чтобы начать сбор данных для диагностики – она займет какое-то время.
Полезность MPS Reports заключается в том, что утилита запускает ряд инструментов и процедур командной строки и выдает результаты в виде простого файла, в котором просто найти информацию. Например, журналы событий могут собираться в txt, ectx и cvs форматы. Мне больше всего нравится cvs формат. Вы можете в открыть его в Excel и легко что-либо найти или отсортировать, например, по тексту ошибки, ID события и т.п. Наряду с txt версией, cvs отображает описание события для приложений – так что когда Вы читаете их на Вашем компьютере, Вы можете видеть описание событий без загрузки приложения (например, Exchange и SQL).
MPS Reports позволяют сохранять CAB файл к любое место, или Вы можете открыть его сразу же (рис. 4). В CAB файле будет один или несколько XML файлов (рис. 5), которые показывают различные отчеты, так что Вам не нужно будет запускать микро-отчеты один за другим.
3. Repadmin и Replsum
Repadmin — мощный инструмент командной строки для решения проблем с Active Directory. Опция Replication Summary, или команда Replsum, позволяет получить информацию о статусе репликации всех контроллеров доменов во всех доменах в лесе. Оценивая здоровья Active Directory, крайне важно знать, все ли контроллеры домена реплицируются – а для тех, которые нет, Вы несомненно заходите узнать последнее время, когда осуществлялась репликация и почему она стала неудачной.
Repadmin позволяет быстро получить ответы на эти вопросы. К его помощью можно сэкономить кучу времени, в противоположность широко используемому Repadmin/showrepl, который показывает все контроллеры домена в виде длинного списка. Опция Replsum анализирует все контроллеры доменов во всех доменах в лесе и помещает информацию о них в таблицу, легкую для чтения. Используйте следующую команду:
Repadmin /bysrc /bydest sort:Delta >repadmin.txt
Также существуют другие варианты и форматы для этой команды, но я использую лишь эту и она работает замечательно. В таблице 1 показан пример того, что мы получаем на выходе.
Обратите внимание, что список Исходный контроллер домена (Source DC) показывает исходящую репликацию (outbound replication) и Destination DC – показывает входящую репликацию. Например, вверху списка, WTEC-DC2 является исходным контроллером домена и он не реплицировался более чем пять дней. Это исходящая репликация, потому что WTEC-DC2 является источником, когда мы получаем сообщение об ошибке. Также WTEC-DC1 не осуществил входящую репликацию в нижнем списке, так как он является конечным контроллером домена. (Destination DC). Причина этого обозначена event id 1722: RPC сервер недоступен. Эта ошибка обычно обозначает, что наличествует ошибка связи на физическом уровне в этом контроллере домена.
Вот мой совет: если репликация не произошла в течение срока жизни tomstone, запись значения “the largest delta” будет отображена >60 дней. Это обозначает, что контроллер домена не должен быть возвращен онлайн, потому что он может ввести активные объекты (introduce lingering objects). Необходимо вручную понизить, а затем снова повысить контроллер домена.
4. DCDiag /Test:DNS
Помимо репликации, другой наиболее частой причиной проблем с AD является DNS. DNS часто является причиной неудачной репликации. Проблема заключается в том, что в большом количестве сред DNS серверы устанавливаются на всех контроллеры доменов AD, а это ведет к тому, что повышается вероятность того, что DNS может упасть. Исследование каждого из них может отнимать очень много времени. В Windows Server 2003 была добавлена /Test:DNS к команде DC diag. Выполните следующую команду:
DCDiag /Test:DNS /e /v >DcdiagDNS.txt
Эта команда проанализирует каждый DNS сервер в сети и протестирует аутентификацию DNS сервера, базовое подключение, конфигурацию отправителей, делегирование, динамическую регистрацию и регистрацию записи ресурсов (resource record registration). Для последнего обозначенного, DCDiag создает тестовую Запись ресурса (resource record) и пытается ее зарегистрировать. Если этого не удается сделать, новые записи не могут быть зарегистрированы (что приведет к другим проблемам).
Команда выводит три потенциальных результата: Pass (Пропуск), Fail (Неудача) и Warn (Предупреждение). Предупреждение еще не является проблемой, а скорее поводом провести дополнительный анализ. Например, Warn в колонке Dynamic Registration (DYN) означает, что защищенные динамические обновления не активированы. Это не свидетельствует о неудаче (fail), но Вы должны быть на 100% уверены, что хотите, чтобы все осталось так как есть.
В таблице 2 показаны типичные результаты команды.
В таблице 2 демонстрируется полный и точный отчет по всем DNS серверам во всех доменах в сети. Таким образом, мы можем проверить здоровье DNS. Эта таблица появляется в конце вывода DCDiag. Детали этих тестов для каждого сервера включаются в отчет DCDiag до вывода конечной итоговой таблицы. Если пользователь, который запустил команду, не обладает правами в этом домене, тесты будут неудачными.
В приведенном случае, тесты домена EMEA оказались неудачными, так как пользователь, который запустил DCDiag, не обладал необходимыми правами. “N/A” появляется, когда предыдущие тесты оказались неудачными, поэтому и оставшиеся тесты будут зависеть от этой “неудачи”. Например, в домене EMEA-DC03, неудачными оказались тесты Auth и Basc. Оставшиеся тексты показаны как N/A. DCDiag не осуществляет дальнейшие тесты, а лишь помещает N/A в каждый столбец. Столбец Ext – пятый тест для проверки внешнего подключения. DCDiag /Test:DNS по умолчанию не проверяет его.
Поэтому совет: Список доменов и КД в таблице – удобной отображение всех доменов в лесе и всех КД (которые являются DNS серверами) в каждом домене. Таким образом, мы получаем карту структуры доменов и КД. В большинстве сред все КД являются DNS серверами, поэтому это удобный способ увидеть структуры домена и КД.
5. Инструмент командной строки DNSCMD
Если Вы работаете на удаленной системе в среде, с которой Вы не знакомы, или если Вы просто хотите получить информацию о DNS среде, с которой Вы работаете – команда DNSCMD даст Вам всю необходимую информацию. Обратите внимание, что мне необходим этот уровень детальности, потому что я диагностирую проблемы без доступа к среде, и поэтому я завишу от отчетов, которые могли бы дать мне полную картину. Те команды, которые я использую, представлены в таблице 3. Я бы рекомендовал использовать их даже в том случае, если Вы можете получить доступ к DNS серверу — ведь иногда гораздо проще посмотреть необходимую информацию в отчете, нежели “бродить” по интерфейсу DNS. Также эти отчеты периодически сохраняются в файлы, поэтому можно провести анализ изменений – особенно если кто-то изменил config, и Вы хотите знать, какие параметры были до этого. И, конечно, эти команды можно представить в виде таблицы.
Есть и другие инструменты, например Group Policy Management Console (GPMC), которая замечательно подходит для анализа групповых политик. GPMC также позволяет сохранять отчет об объектах групповых в виде HTML, чтобы впоследствии отправить его в службу поддержки для анализа. GPMC не включена в MPS Reports.
Staying healthy!
Вышеперечисленные инструменты позволяют быстро формировать отчеты о здоровье Active Directory, и указывают на наличие проблем. Конечно, администратор должен приложить некоторые усилия, чтобы запускать их, но сам процесс прост – особенно, если Вы используете MPS Reports. В заключение, мои советы:
1. Используйте ADPBA в качестве инструмента самого широкого взгляда на здоровье AD
2. Скачайте и запустите MPS Reports, чтобы глубже покопаться в решении проблемы
3. Запустите DCDiag /Test:DNS, Repadmin и Replsum как было описано выше, чтобы получить быстрый и простой для понимания снимок (snapshot) репликации и конфигурации DNS для всего здоровья Active Directory и выделить проблемные места.
4. Используйте DNSCMD, чтобы получить детальную информацию о конфигурации DNS для оффлайн-анализа и сравнения с предыдущими конфигурации.
Никто не говорит, что управление Active Directory – простое дело. Но применение описанных рекомендаций должно дать лучший мониторинг и управление Active Directory, обеспечивая более защищенную среду для администрирования.
Источник: redmondmag.com/Articles/2012/07/01/5-Free-Microsoft-Tools-for-Top-Active-Directory-Health.aspx?Page=1
P.S. Хотите также быть в курсе изменений Active Directory? Наша программа NetWrix AD Change Reporter позволяет получать уведомления и отчеты об любых изменениях в AD. Узнайте больше о возможностях программы, скачав 20-дневную пробную версию или зарегистрировавшись на регулярный вебинар.
Установка Remote Server Administration Tools (RSAT) на Windows 7 SP1 / Хабр
RSAT — Remote Server Administration Tools для меня лично стали незаменимыми с момента их выпуска компанией Microsoft. После того, как я наткнулся на проблему невозможности установки их на Windows 7 с предустановленным Service Pack 1 — пришлось уточнить в гугле, действительно ли Microsoft не сделали их поддержку в этом крупном обновлении? Официальный ответ — «ждите апреля». Тогда я наткнулся на статью об интеграции этого полезного набора средств — примечание переводчика.
Эта статья представляется как черновая. Используйте ее только для экспериментов. Никаких гарантий, что у вас заработает все то, что тут написано
Когда вы пытаетесь установить RSAT на Windows 7 SP1 — вы получаете ошибку:
"This update is not applicable to your computer"
В Microsoft это комментируют следующим:
Еще рано!
Я нашел способ как это обойти на блоге MS и напишу об этом:
Если у вас x64 Windows, замените в командах «x86» на «amd64».
- распаковываем установщик RSAT x86fre_GRMRSAT_MSU.msu в каталог d:\rsat
- Запустим распаковщик CAB:
expand -f:* "D:\RSAT\Windows6.1-KB958830-x86.cab" "D:\RSAT\expand"
- Скачиваем Service Pack 1 для Windows 7
- Распаковываем его командой:
windows6.1-KB976932-X86.exe /X:D:\Sp1
в каталог D:\Sp1
- Распаковываем CAB сервис-пака:
expand -f:* "D:\Sp1\windows6.1-KB976932-X86.cab" "D:\RSAT\sp1"
в каталог D:\RSAT\sp1. - Устанавливаем компоненты RSAT следующими командами по одной (смотрим в TaskManager окончание процесса pkgmgr):
pkgmgr /ip /m:"D:\RSAT\expand\microsoft-windows-remoteserveradministrationtools-package~31bf3856ad364e35~x86~~6.1.7600.16385.mum"
pkgmgr /ip /m:"D:\RSAT\expand\microsoft-windows-remoteserveradministrationtools-package~31bf3856ad364e35~x86~en-us~6.1.7600.16385.mum"
(заменив en-us на язык нашей системы — для русской — ru-ru)pkgmgr /ip /m:"D:\RSAT\expand\microsoft-windows-remoteserveradministrationtools-package-minilp~31bf3856ad364e35~x86~en-us~6.1.7600.16385.mum"
(заменив en-us на язык нашей системы — для русской — ru-ru)pkgmgr /ip /m:"D:\RSAT\Sp1\microsoft-windows-remoteserveradministrationtools-package~31bf3856ad364e35~x86~~6.1.7601.17514.mum"
- Перезагружаем систему (если попросит) и открываем «Добавление компонентов Windows», после чего отмечаем галочками нужные нам компоненты
15 бесплатных утилит для Windows-администратора — «Хакер»
Содержание статьи
Встроенные средства администрирования ОС не всегда удобны или зачастую не обладают достаточным функционалом, поэтому арсенал сисадмина со временем пополняется полезными утилитами, надстройками и скриптами, которые существенно упрощают повседневные задачи. Вдвойне отрадно, когда найденное решение не только помогает справиться с определенной проблемой, но и распространяется на безвозмездной основе.
Advanced IP Scanner
Сисадмин должен знать все о системах, работающих в сети, и быстро получать к ним доступ. С данной задачей помогает справиться Advanced IP Scanner, предназначенный для быстрого многопоточного сканирования локальной сети. Предоставляется AIPS совершенно бесплатно, без каких-либо оговорок. Программа очень проста и понятна в работе. После запуска AIPS проверяет IP-адреса сетевых интерфейсов хоста, на котором она установлена, и автоматически прописывает диапазон IP в параметры сканирования; если IP менять не нужно, то остается запустить операцию сканирования. В результате получим список всех активных сетевых устройств. Для каждого будет собрана вся возможная информация: MAC-адрес, производитель сетевой карты, сетевое имя, зарегистрированный в системе пользователь, доступные общие ресурсы и сервисы (общие папки, HTTP, HTTPS и FTP). Практически все опции сканирования можно настроить, например изменить скорость или исключить проверку определенного типа сетевых ресурсов (общие папки, HTTP, HTTPS и FTP). К любому ресурсу можно подключиться одним кликом, достаточно лишь отметить его в списке. AIPS интегрирована с программой Radmin и в процессе сканирования находит все машины с работающим Radmin Server. Результат сканирования можно экспортировать в файл (XML, HTML или CSV) или сохранить в «Избранном» (поддерживается drag-and-drop). В дальнейшем, при необходимости обращения к нужному клиентскому компу, сканировать сеть повторно не требуется. Если удаленное устройство поддерживает функцию Wake-on-LAN, его можно включить и выключить, выбрав соответствующий пункт меню.
Сканер Advanced IP Scanner позволяет получить список устройств, работающих в сети
NetWrix Inactive Users Tracker
Компания NetWrix, специализирующаяся на разработке решений для аудита изменений IT-инфраструктуры, предлагает десять бесплатных и очень полезных утилит, призванных заметно упростить администрирование ОС Windows. Например, NetWrix Inactive Users Trackerпозволяет решить одну из насущных проблем безопасности — наличие неактивных учетных записей, которыми некоторое время никто не пользуется (уволенные сотрудники, командировка, перемещение по должности, временная учетка и тому подобное). Кадровики редко предупреждают IT-отдел об изменениях, и таким аккаунтом может запросто воспользоваться злоумышленник. Утилита периодически проверяет все учетные записи в доменах и сообщает о тех, доступ к которым не осуществлялся определенное время. В версии Free в качестве действий возможно указать лишь предупреждение по e-mail (достаточно задать параметры SMTP), все остальные операции админ производит вручную, хотя и предупреждения в нашем случае достаточно. В платной версии доступны: автоматическая установка случайного пароля, деактивация учетной записи и перемещение в другой OU, фильтр OU для поиска учетных записей. Отдельно предлагается PowerShell-командлет get-NCInactiveUsers, позволяющий получать список неактивных пользователей (проверяется атрибут «lastLogon») и упростить написание соответствующих скриптов.
Чтобы обнаружить неактивные учетные записи, применяем NetWrix Inactive Users Tracker
WinAudit Freeware
WinAudit — бесплатная утилита от компании Parmavex Services, позволяющая произвести полный аудит системы. Не требует установки, может выполняться в режиме командной строки. Программа обладает простым и локализованным интерфейсом, поддерживается запуск на всех версиях Windows, в том числе 64-битных. Сбор данных занимает примерно минуту (продолжительность процесса может варьироваться в зависимости от операционной системы и конфигурации компьютера), результирующий отчет состоит из 30 категорий (поддается настройке). В результате админ может получить данные о системе, установленном ПО и обновлениях с указанием версии и вендора, подключенных устройствах; список открытых сетевых портов (номер, сервис, программа и прочее) и открытых папок; активные сессии; установки безопасности; права доступа к периферии; информацию об учетных записях и группах; список задач/сервисов; программы в автозапуске; записи журналов и системную статистику (uptime, использование памяти, дисков). Также можно задать поиск определенных файлов по имени. Например, чтобы найти музыку и видео на жестких дисках пользователя, достаточно задать соответствующие расширения (avi, mp3 и тому подобные). Результат можно открыть как веб-страницу, экспортировать в файл многих популярных форматов (txt, XML, CSV, PDF) или в базу данных (при помощи мастера, поддерживаются все популярные: MS SQL, MS Access, MySQL, Oracle и другие), отправить по e-mail и распечатать.
При помощи WinAudit администратор узнает все о железе, ПО и системных настройках
Учет компьютеров с помощью CheckCfg
Проблема учета оргтехники и используемого ПО остро стоит в любой организации. Решить ее можно разными способами, один из вариантов предлагает разработчик Андрей ТатуковCheckCfg. Это решение периодически собирает данные о железе, ОС и программах, включая тип CPU, объем ОЗУ, место на дисках, состояние S.M.A.R.T. и прочее. При этом CheckCfg легко справляется с несколькими сотнями компьютеров. Результат выводится в удобной древовидной форме, к локальным каталогам легко получить доступ. Каждому ПК может присваиваться инвентаризационный номер, при необходимости легко сгенерировать отчет в RTF-формате.
CheckCfg представляет собой целый комплекс программ. За непосредственный сбор данных о компьютере отвечает CheckCfg, которая запускается при старте ОС и записывает результат в файл. Управление и архивация информации производится при помощи программы учета Sklad, которая обрабатывает файлы, созданные CheckCfg, и сохраняет в свою базу данных, после чего можно формировать отчеты. При помощи программы Sklad_w можно в удобной форме просматривать текущие конфигурации компьютеров и основные данные по оргтехнике (по IP-адресам, CPU, Memory, ПО). Для анализа изменений в конфигурации ПК и оповещения об этом администратора используется еще одна утилита — Doberman. Возможно, настройка покажется не совсем тривиальной, так как предстоит вручную создать нужные конфигурационные файлы, но детальное описание на сайте и имеющиеся шаблоны позволяют без проблем со всем разобраться.
MailArchiva Open Source Edition
Некоторые почтовые серверы, вроде MS Exchange, имеют функции архивирования почты, позволяющие при необходимости найти старые сообщения, в том числе и чтобы выявить утечку конфиденциальной информации при расследовании инцидентов. В остальных случаях приходится обеспечивать данные функции самостоятельно. Вариантом решения является разработка компании MailArchiva, совместимая с большинством современных почтовых серверов (Lotus Domino, MS Exchange, MDaemon, Postfix, Zimbra, Sendmail, Scalix, Google Apps). Поддерживается архивирование по протоколам SMTP, IMAP/POP3, WebDAV и через Мilter (программа имеет встроенный SMTP- и Milter-сервер, IMAP/POP-клиент). Чтобы не собирать всю почту, можно создавать любые правила архивации. Реализовано три уровня доступа к сохраненным данным — пользователь (только своя почта), администратор (настройки и своя почта) и аудитор (вся почта, можно ограничить правилами). В Open Source версии MailArchivaтакже реализованы функции интуитивного поиска, в том числе во вложениях (Word, PowerPoint, Excel, OpenOffice, PDF, RTF, ZIP, tar, gz). Работает MailArchiva на Windows, Linux, FreeBSD и Mac OS X.
Performance Analysis of Logs
В случае проблем с производительностью системы обнаружить узкое место при помощи штатного Windows Performance Monitor, не имея опыта, довольно сложно. Для того чтобы разобраться, какие метрики нужно снимать и как правильно интерпретировать результат, потребуется тщательно прошерстить документацию. Утилита PAL (Performance Analysis of Logs, pal.codeplex.com) заметно упрощает поиск «бутылочного горлышка». После запуска она просматривает журналы и анализирует их при помощи встроенных шаблонов. В настоящее время имеются настройки для большинства популярных продуктов MS — IIS, MOSS, SQL Server, BizTalk, Exchange, Active Directory и других. После запуска администратор в мастере PAL Wizard активирует нужные счетчики, просто выбрав шаблон из списка предложенных, указывает текущие настройки сервера (количество CPU и прочие), интервал анализа и каталог для сохранения результата. Через некоторое время будет выдан подробный отчет в HTML и XML, содержащий описание, имя счетчика и показатели (Min, Avg, Max и Hourly Trend). Отчет затем можно легко скопировать в любой документ. Но разбираться далее в собранных параметрах придется все равно самостоятельно. Хотя если PAL показывает, что характеристика находится в зеленом секторе, волноваться не стоит. Сам запрос сохраняется в скрипте PowerShell PAL.ps1, который можно сохранить для дальнейшего использования. Шаблоны представляют собой XML-файлы; взяв за пример любой из них, можно создать свой вариант. Для редактирования параметров в шаблоне предлагается встроенный редактор PAL Editor.
Отчеты, генерируемые PAL, позволяют получить информацию о производительности системы
Официально поддерживается Win7, но работает на всех ОС от MS, начиная с WinXP (32/64). Для установки понадобится PowerShell v2.0+, MS .NET Framework 3.5SP1 и MS Chart Controls for Microsoft .NET Framework 3.5.
Создаем точку доступа с Virtual Router
Ситуация, когда компьютер с Wi-Fi-картой необходимо превратить в точку доступа, сегодня отнюдь не редка. Например, нужно быстро развернуть WLAN или расширить зону покрытия Wi-Fi. Изначально работа беспроводной карты предусматривалась только в одном из двух режимов: точка — точка, когда клиенты подсоединяются друг к другу, или как точка доступа. В Win7/2k8 (кроме Win7 Starter Edition) появилась возможность виртуализировать сетевые соединения (технология Virtual Wi-Fi), позволяющая создавать несколько Wi-Fi-модулей со своими настройками при использовании одного физического Wi-Fi-адаптера. Таким образом компьютер может быть подключен к Wi-Fi и в то же время выступать в качестве точки доступа (SAPoint, Software Access Point). Соединение с таким виртуальным хот-спотом защищено при помощи WPA2. Превратить ПК под управлением Win7/2k8R2 в точку доступа можно при помощи консольной утилиты Netsh, через Центр управления сетями и общим доступом, либо воспользовавшись приложением Virtual Router, обладающим интуитивно понятным GUI и очень простыми настройками. После запуска Virtual Router нужно лишь указать SSD и пароль для подключения, а затем активировать точку доступа. При необходимости остановить работу хот-спота можно также нажатием одной кнопки. Дополнительно в окне отображаются текущие подключения к точке, для каждого можно задать свой значок и изменить некоторые параметры.
Используя Virtual Router, можно создать точку доступа из обычного ПК
INFO
Альтернативой Virtual Router является Сonnectify, Lite-версия которой хотя и ограничена в возможностях, но предоставляет все необходимое. Также можно посмотреть в сторонуmhotspot.
Управление RDC-подключениями — RDCMan
Для удаленного управления серверами и ПК, работающими под управлением Windows, предназначена оснастка Remote Desktop Connection. Если необходимо устанавливать много RDP-соединений с различными настройками, то работать с ней становится неудобно. Вместо методичного сохранения индивидуальных настроек для каждого удаленного компьютера можно использовать бесплатный инструмент Remote Desktop Connection Manager RDCMan, автоматизирующий этот процесс. После запуска следует указать настройки RDP-подключения, которые будут использоваться по умолчанию и наследоваться всеми соединениями. Здесь задаем общие учетные данные, шлюз, установки экрана, параметры безопасности и многое другое. Далее создаем нужное количество групп систем (например, по назначению, расположению, версии ОС), для каждой из них можно указать специфические настройки соединения. И последний шаг — заполнение групп системами. Для добавления сервера следует ввести лишь доменное имя, если любой параметр будет отличаться от настроек групп, его можно тут же переопределить. При необходимости системы легко перемещаются между группами простым перетаскиванием. Если систем много, проще создать текстовый файл, указав по одному имени в строке, после чего скормить заготовку утилите. Теперь, чтобы подключиться, достаточно выбрать нужный сервер и в контекстном меню щелкнуть пункт «Connect». Можно одновременно активировать несколько соединений и переключаться между ними.
Free Active Directory Tools
Управлять параметрами Active Directory при помощи штатных инструментов не всегда просто и удобно. В некоторых ситуациях поможет комплект утилит Free Active Directory Tools, разрабатываемый компанией ManageEngine. Комплект состоит из четырнадцати утилит, запускаемых из одной оболочки. Для удобства они разбиты на шесть групп: AD USer Report, SharePoint Report, User Management, Domain and DC Info, Diagnostic Tools и Session Management. Например, запуск Empty Password User Report позволит получить список учетных записей с пустыми паролями, GetDuplicates — получить аккаунты с одинаковыми атрибутами, CSVGenerator — сохранить в CSV-файл данные аккаунтов Active Directory. Другие возможности: отчет о времени последнего входа в систему, получение данных из AD на основе запроса, отчеты по установкам SharePoint, управление локальными учетными записями, просмотр и редактирование политик паролей домена, получение списка контроллеров домена и их ролей, управление их репликацией, мониторинг их работы (загрузка CPU, ОЗУ, жестких дисков, производительность и прочее), управление терминальными сессиями и многое другое.
Пакет Free Active Directory Tools содержит 14 полезных утилит для администрирования AD
Comodo Time Machine
Возможность восстановления системы при помощи компонента System Restore заложена в Windows, начиная с ХР, но его функциональность, мягко говоря, ограничена, поэтому для бэкапа часто используют сторонние приложения. Бесплатная утилита Comodo Time Machine (comodo.com) позволяет сделать откат ОС до любого предыдущего состояния. Причем она будет работать даже в том случае, когда ОС совсем перестала загружаться. В процессе CTM создает точки восстановления (вручную или по расписанию), в них заносятся все измененные системные файлы, реестр, а также файлы пользователя. Это большое преимущество по сравнению с System Restore, который сохраняет и восстанавливает только системные файлы и реестр. Максимальный размер имеет первая копия, остальные копии хранят лишь измененные файлы. С целью экономии свободного дискового пространства следует периодически создавать новую контрольную точку, удаляя старые архивы. Для возможности восстановления ОС информация о CTM прописывается в загрузочный сектор; чтобы вызвать соответствующее меню, достаточно нажать клавишу Home. Восстанавливать состояние ОС можно также по расписанию, например настроить поведение утилиты так, чтобы при каждой перезагрузке производился автоматический откат к «чистой» версии системы. Это будет полезно, например, в интернет-кафе, где пользователи после себя оставляют в системе много мусора. Кроме полного восстановления ОС, утилита предоставляет возможность получить из архива более раннюю версию любого файла. Реализован поиск, поэтому найти нужные данные можно без проблем.
INFO
В качестве альтернативы Comodo Time Machine можно предложить EaseUS Todo Backup Free.
Amanda
Задачу централизованного резервного копирования данных с рабочих станций и серверов, работающих под управлением Windows и *nix, можно решить при помощи AMANDAAdvanced Maryland Automatic Network Disk Archiver). Изначально программа была создана для работы с ленточными накопителями, но со временем разработчики предложили механизм под названием «виртуальные ленты» (vtapes), позволяющий сохранять собранные данные на жесткие диски и CD/DVD. AMANDA является удобной надстройкой к стандартным Unix-программам dump/restore, GNU tar и некоторым другим, поэтому ее основные характеристики следует рассматривать именно исходя из возможностей этих базовых утилит. Работает по клиент-серверной схеме. Для доступа к компьютерам используются все доступные методы аутентификации: Kerberos 4/5, OpenSSH, rsh, bsdtcp, bsdudp или пароль Samba. Для сбора данных с Windows-систем задействуется специальный агент или, как вариант, Samba. Сжатие и шифрование (GPG или amcrypt) информации можно выполнять как непосредственно на клиенте, так и на сервере. Все настройки параметров резервирования производятся исключительно на сервере, в поставке имеются готовые шаблоны, поэтому разобраться довольно просто.
WWW
На codeplex.com можно найти большое число весьма полезных утилит.
Инструкция по запуску Amanda Server на компе под управлением Windows.
Core Configurator 2.0 for Server Core
Первоначальная настройка сервера, работающего под управлением Win2k8/R2 в режиме Server Core, производится в консоли при помощи команд. Чтобы упростить задачу, разработчики ОС добавили в R2 интерактивный скрипт SCONFIG.cmd, позволяющий настроить основные параметры системы. На Сodeplex доступна альтернатива — замечательный конфигуратор Core Configurator. Для его работы понадобится наличие компонентов NetFx2-ServerCore, NetFx2-ServerCore и PowerShell. После запуска Start_CoreConfig.wsf получаем меню, в нем находим несколько пунктов, обеспечивающих доступ к основным настройкам, которыми пришлось бы управлять из командной строки: активация продукта, настройка разрешения экрана, часов и временной зоны, сетевого интерфейса, установка разрешений для удаленных RDP-подключений, управление локальными учетными записями, настройки Windows Firewall, включение/отключение WinRM, изменение имени компьютера, рабочей группы или домена, настройка роли, компонентов, Hyper-V и запуск DCPROMO. Если установить флажок «Load at Windows startup», то программа будет загружаться вместе с системой.
Exchange 2010 RBAC Manager
В Exchange 2010 появилась новая ролевая модель доступа, позволяющая тонко контролировать уровень привилегий для пользователей и администраторов в зависимости от выполняемых задач. Единственный минус — встроенные средства управления при помощи командлетов PowerShell не всем могут показаться удобными и понятными. Более развитыми возможностями обладает бесплатный инструмент Exchange 2010 RBAC Manager (RBAC Editor GUI, rbac.codeplex.com), предлагающий понятный графический интерфейс для настройки свойств всех ролей. Разобраться с его особенностями не составит труда даже новичку. Программа написана на C# и использует PowerShell. Для работы понадобится установленный Exchange 2010 Management Tools.
PowerGUI
Едва появившись, командная оболочка PowerShell завоевала симпатии виндовых админов, которые давно нуждались в инструменте, позволяющем автоматизировать многие задачи. С первыми версиями PowerShell разработчики из Microsoft не смогли предложить более-менее функциональный редактор, поэтому нишу заполнили несколько сторонних проектов. Самым лучшим из них на сегодня является PowerGUI, предоставляющий удобный графический интерфейс для эффективного создания и отладки PowerShell-скриптов. При этом авторы предлагают готовые комплекты сценариев для решения многих задач — их можно использовать в своих разработках.
Multi-Tabbed PuTTY
Свободно распространяемый клиент PuTTY хорошо известен админам, которым необходимо подключаться к удаленным хостам по протоколам SSH, Telnet или rlogin. Это очень удобная программа, позволяющая сохранить настройки сессий для быстрого подключения к выбранной системе. Единственное неудобство — при большом количестве подключений рабочий стол получается загружен множеством открытых окон. Эту проблему решает надстройка Multi-Tabbed PuTTY, реализующая систему вкладок.
INFO
Изначально PuTTY разрабатывался для Windows, однако позднее был портирован на Unix.
Заключение
Часто нет необходимости ломать голову над решением определенной проблемы: скорее всего, другие администраторы с ней уже столкнулись и предложили свой вариант — конкретную утилиту или скрипт, за который даже не нужно платить.
Установка RSAT в Windows 7
Набор утилит Microsoft Remote Server Administration Tools (RSAT) позволяет администраторам удаленно управлять ролями и функциями сервера Windows Server 2008 R2 с компьютера под управлением Windows 7.
Он включает в себя поддержку удаленного управления компьютерами под управлением Server Core или полноценного сервера Windows Server 2008 R2.
Установка RSAT осуществляется в 2 этапа:
- Собственно установка дистрибутива RSAT (где его взять я уже описывал в статье о включении Windows 7 в домен AD, на всякий случай напомню http://www.microsoft.com/downloads/details.aspx?FamilyID=7d2f6ad7-656b-4313-a005-4e344e43997d&displaylang=en)
- Активация функций и консолей (оснасток) RSAT.
Шаг 1. Установка RSAT
wusa Windows6.1-KB958830-x86.msu /quiet (x86)
wusa Windows6.1-KB958830-x64.msu /quiet (x64)
После установки пакета RSAT, который содержит большинство необходимых администратору утилит и оснасток, они будут доступны в панели управления (Programs & Features — Windows Features).
Шаг 2. Включаем оснастки и функции RSAT
Различные функции пакета RSAT можно активировать с помощью утилиты командной строки (CLI), которая называется DISM (Deployment Image Servicing and Management), ее использование полностью аналогично процедуре включения/выключения функций и ролей в Windows Server 2008 R2 Server Core.
DISM позволяет перечислить, установить, удалить, настроить или обновить функции и пакеты в образе системы Windows. Список доступных команд зависит от того, в каком режиме работы находится система: offline или online.
Чтобы получить список всех доступных функций, наберите в командной строке:
dism /Online /Get-Features
Чтобы активировать ту или иную функцию, воспользуйтесь командой:
dism /Online /Enable-Feature /FeatureName:<FeatureName>
Например:
dism /Online /Enable-Feature:RemoteServerAdministrationTools
dism /Online /Enable-Feature:RemoteServerAdministrationTools-Roles-DHCP
Ниже я приведу полный список имен функций, доступных в RSAT
Названия функций: RemoteServerAdministrationTools RemoteServerAdministrationTools- RemoteServerAdministrationTools-Roles
RemoteServerAdministrationTools-Features
|
Набор утилит RSAT в Windows Server 2008 R2 и Windows 7также позволит вам осуществлять удаленное управления серверами (работающий под управлением Windows Server 2008 R2) с помощью оснастки Server Manager посредством удаленного PowerShell. Роли сервера и его функции будут доступны для управления при помощи локальных и удаленных скриптов PowerShell 2.0. Таким образом, после установки RSAT Windows 7, в вашем распоряжении появится знакомая вам консоль Server Manager.
10 задач администрирования Active Directory, решаемых с помощью PowerShell
Джеффери Хикс подготовил статью на Windows IT Pro, посвященную использования PowerShell для администрирования AD. В качестве исходного пункта автор решил взять 10 типичных задач администрирования AD и рассмотреть то, как их можно упростить, используя PowerShell:
- Сбросить пароль пользователя
- Активировать и деактивировать учетные записи
- Разблокировать учетную запись пользователя
- Удалить учетную запись
- Найти пустые группы
- Добавить пользователей в группу
- Вывести список членов группы
- Найти устаревшие учетные записи компьютеров
- Деактивировать учетную запись компьютера
- Найти компьютеры по типу
Помимо этого автор ведет блог (по PowerShell, конечно), рекомендуем заглянуть — jdhitsolutions.com/blog. А самое актуальное Вы можете получить из его твиттера twitter.com/jeffhicks.
Итак, ниже приводим перевод статьи “Top 10 Active Directory Tasks Solved with PowerShell”.
Управление Active Directory (AD) с помощью Windows PowerShell – это проще, чем Вы думаете, и я хочу доказать Вам это. Вы можете просто взять приведенные ниже скрипты и с их помощью решить ряд задач по управлению AD.
Требования
Чтобы использовать PowerShell для управления AD, нужно соблюсти несколько требований. Я собираюсь продемонстрировать, как командлеты для AD работают на примере компьютера на Windows 7.
Чтобы использовать командлеты, контроллер домена у Вас должен быть уровня Windows Server 2008 R2, или же Вы можете скачать и установить Active Directory Management Gateway Service на наследуемых контроллерах домена (legacy DCs). Внимательно прочитайте документацию перед установкой; требуется перезагрузка КД.
На стороне клиента, скачайте и установите Remote Server Administration Tools (RSAT) либо для Windows 7, либо для Windows 8. В Windows 7, Вам необходимо будет открыть в Панели управления (Control Panel) раздел Программы (Programs) и выбрать Включить или выключить функции Windows (Turn Windows Features On or Off). Найдите Remote Server Administration Tools и раскройте раздел Role Administration Tools. Выберите подходящие пункты для AD DS and AD LDS Tools, особенно обратите внимание на то, что должен быть выбран пункт Active Directory Module for Windows PowerShell, как показано на рисунке 1. (В Windows 8 все инструменты выбраны по умолчанию). Теперь мы готовы работать.
Рис.1 Включение AD DS и AD LDS Tools
Я вошел в систему под учетной записью с правами доменного администратора. Большинство командлетов, которые я буду показывать, позволят Вам уточнить альтернативные полномочия (credentials). В любом случае я рекомендую прочитать справку (Get-Help) и примеры, которые я буду демонстрировать ниже.
Начните сессию PowerShell и импортируйте модуль:
PS C:\> Import-Module ActiveDirectory
В результате импорта создается новый PSDrive, но мы не будем использовать его. Однако, Вы можете посмотреть, какие команды имеются в импортированном модуле.
PS C:\> get-command -module ActiveDirectory
Прелесть этих команд в том, что если я могу использовать команду для одного объекта AD, то ее можно использовать для 10, 100 и даже 1000. Посмотрим, как некоторые из этих командлетов работают.
Задача 1: Сброс пароля пользователя
Давайте начнем с типичной задачи: сброс пароля пользователя. Сделать это легко и просто можно через командлет Set-ADAccountPassword. Сложная часть заключается в том, что новый пароль должен быть уточнен как защищенная строка: фрагмент текста, который зашифрован и хранится в памяти на протяжении PowerShell сессии. Во-первых, создадим переменную с новым паролем:
PS C:\> $new=Read-Host "Enter the new password" -AsSecureString
Затем, введем новый пароль:
PS C:\>
Теперь мы можем извлечь учетную запись (использование samAccountname – лучший вариант) и задать новый пароль. Вот пример для пользователя Jack Frost:
PS C:\> Set-ADAccountPassword jfrost -NewPassword $new
К сожалению, в случае с этим командлетом наблюдается баг: -Passthru, -Whatif, и –Confirm не работают. Если Вы предпочитаете короткий путь, попробуйте следующее:
PS C:\> Set-ADAccountPassword jfrost -NewPassword
(ConvertTo-SecureString -AsPlainText -String
"P@ssw0rd1z3" -force)
В итоге мне необходимо, чтобы Jack сменил пароль при следующем входе в систему, и я модифицирую учетную запись используя Set-ADUser.
PS C:\> Set-ADUser jfrost -ChangePasswordAtLogon $True
Результаты выполнения командлета не пишутся в консоль. Если это необходимо сделать, используйте –True. Но я могу узнать, успешно или нет прошла операция, произведя извлечения имени пользователя с помощью командлета Get-ADUser и уточнив свойство PasswordExpired, как показано на рисунке 2.
Рис. 2. Результаты работы командлета Get-ADUser Cmdlet со свойством PasswordExpired
Итог: сбросить пароль пользователя с помощью PowerShell совсем не сложно. Признаюсь, что сбросить пароль также просто через оснастку Active Directory Users and Computers консоли Microsoft Management Console (MMC). Но использование PowerShell подходит в том случае, если Вам необходимо делегировать задачу, Вы не хотите разворачивать вышеупомянутую оснастку или сбрасываете пароль в ходе большого автоматизированного ИТ-процесса.
Задача 2: Активировать и деактивировать учетные записи
А теперь давайте деактивируем учетную запись. Продолжим работать с Jack Frost. Этот код использует параметр –Whatif, который Вы можете встретить в других комадлетах, которые осуществляют изменения, чтобы проверить мою команду не запуская ее.
PS C:\> Disable-ADAccount jfrost -whatif
What if: Performing operation "Set" on Target "CN=Jack Frost,
OU=staff,OU=Testing,DC=GLOBOMANTICS,DC=local".
А теперь деактивируем по-настоящему:
PS C:\> Disable-ADAccount jfrost
А когда настанет время активировать учетную запись, какой командлет нам поможет?
PS C:\> Enable-ADAccount jfrost
Эти командлеты могут быть использованы в конвейерном выражении (pipelined expression), позволяя активировать или деактивировать столько учетных записей, сколько душе угодно. Например, этот код деактивирует все учетные записи в отделе продаж (Sales)
PS C:\> get-aduser -filter "department -eq 'sales'" |
disable-adaccount
Конечно, писать фильтр для Get-ADUser довольно-таки сложно, но именно здесь использование параметра –Whatif вместе с командлетом Disable-ADAccount приходит на помощь.
Задача 3: Разблокировать учетную запись пользователя
Рассмотрим ситуацию, когда Jack заблокировал свою учетную запись, пытаясь ввести новый пароль. Вмест того, чтобы пытаться найти его учетную запись через GUI, процедуру разблокировки можно осуществить с помощью простой команды.
PS C:\> Unlock-ADAccount jfrost
Командлет также поддерживает параметры -Whatif и -Confirm.
Задача 4: Удалить учетную запись
Неважно, сколько пользователей Вы удаляете, — это просто осуществить с помощью командлета Remove-ADUser. Мне не хочется удалять Jack Frost, но если бы я захотел, то использовал бы такой код:
PS C:\> Remove-ADUser jfrost -whatif
What if: Performing operation "Remove" on Target
"CN=Jack Frost,OU=staff,OU=Testing,DC=GLOBOMANTICS,DC=local".
Или я могу ввести несколько пользователей и удалить их с помощью одной простой команды:
PS C:\> get-aduser -filter "enabled -eq 'false'"
-property WhenChanged -SearchBase "OU=Employees,
DC=Globomantics,DC=Local" | where {$_.WhenChanged
-le (Get-Date).AddDays(-180)} | Remove-ADuser -whatif
С помощью этой команды будут найдены и удалены все деактивованные учетные записи подразделения (OU) Employees, которые не менялись в течение 180 и более дней.
Задача 5: Поиск пустых групп
Управление группами – занятие бесконечное и неблагодарное. Существует множество способов найти пустые группы. Некоторые выражения могут работать лучше, чем другие, в зависимости от Вашей организации. Код, приведенный ниже, позволит найти все группы в домене, включая встроенные (built-in).
PS C:\> get-adgroup -filter * | where {-Not
($_ | get-adgroupmember)} | Select Name
Если у Вас есть группы с сотнями членов, тогда использование этой команды может занять много времени; Get-ADGroupMember проверяет каждую группу. Если Вы можете ограничить или настроить, это будет лучше.
Вот еще один подход:
PS C:\> get-adgroup -filter "members -notlike '*'
-AND GroupScope -eq 'Universal'" -SearchBase
"OU=Groups,OU=Employees,DC=Globomantics,
DC=local" | Select Name,Group*
Эта команда находит все универсальные группы (Universal groups), которые не имеют членство в OU Groups и выводит некоторые из свойств. Результат приведен на рисунке 3.
Рис. 3. Поиск и фильтрация универсальных групп
Задача 6: Добавление пользователей в группу
Давайте добавим Jack Frost в группу Chicago IT:
PS C:\> add-adgroupmember "chicago IT" -Members jfrost
Да, все так просто. Вы можете также легко добавлять сотни пользователей в группы, хотя, на мой взгляд, это слегка неудобно:
PS C:\> Add-ADGroupMember "Chicago Employees" -member
(get-aduser -filter "city -eq 'Chicago'")
Я использовал вводное конвейерное выражение (parenthetical pipelined expression), чтобы найти всех пользователей, у которых имеется свойство City в Chicago. Код в скобках выполняется, и полученные объекты передаются в параметр –Member. Каждый пользовательский объект добавляется в группу Chicago Employees. Неважно, имеем ли мы дело с 5 или 5000 пользователей, обновление членства в группах занимает всего несколько секунд. Это выражение может также быть написано с использованием ForEach-Object, что может быть удобнее:
PS C:\> Get-ADUser -filter "city -eq 'Chicago'" | foreach
{Add-ADGroupMember "Chicago Employees" -Member $_}
Задача 7: Выводим список членов группы
Вы возможно захотите узнать, кто находится в определенной группе. Например, Вы должны периодически узнавать, кто входит в группу доменных администраторов (Domain Admins):
PS C:\> Get-ADGroupMember "Domain Admins"
На рисунке 4 приведен результат.
Рис. 4. Члены группы Domain Admins
Командлет выводит объект AD для каждого члена группы. А что делать с вложенными группами? Моя группа Chicago All Users является коллекцией вложенных групп. Чтобы получить список всех учетных записей, я всего лишь должен использовать параметр –Recursive.
PS C:\> Get-ADGroupMember "Chicago All Users"
-Recursive | Select DistinguishedName
Если Вы хотите пойти другим путем – найти, в каких группах пользователь состоит, — используйте свойство пользователя MemberOf:
PS C:\> get-aduser jfrost -property Memberof |
Select -ExpandProperty memberOf
CN=NewTest,OU=Groups,OU=Employees,
DC=GLOBOMANTICS,DC=local
CN=Chicago Test,OU=Groups,OU=Employees,
DC=GLOBOMANTICS,DC=local
CN=Chicago IT,OU=Groups,OU=Employees,
DC=GLOBOMANTICS,DC=local
CN=Chicago Sales Users,OU=Groups,OU=Employees,
DC=GLOBOMANTICS,DC=local
Я использовал параметр -ExpandProperty, чтобы вывести имена MemberOf как строки.
Задача 8: Найти устаревшие учетные записи компьютеров
Мне часто задают этот вопрос: “Как найти устаревшие учетные записи компьютеров?”. И я всегда отвечаю: “А что для вас является устаревшим?” Компании по-разному определяют то, когда учетная запись компьютера (или пользователя, неважно), признается устаревшей и не подлежит дальнейшему использованию. Что касается меня, то я обращаю внимание на те учетные записи, у которых пароли не менялись в течение определенного периода времени. Этот период для меня составляет 90 дней – если компьютер не сменил пароль вместе с доменом за этот период, скорее всего он находится оффлайн и является устаревшим. Используется командлет Get-ADComputer:
PS C:\> get-adcomputer -filter "Passwordlastset
-lt '1/1/2012'" -properties *| Select name,passwordlastset
Фильтр замечательно работает с жестким значением, но этот код будет обновляться для всех учетных записей компьютеров, которые не изменили своих паролей с 1 января 2012 года. Результаты приведены на рисунке 5.
Рис. 5. Находим устаревшие учетные записи компьютеров
Другой вариант: предположим, вы хотя бы на функциональном уровне домена Windows 2003. Поставьте фильтр по свойству LastLogontimeStamp. Это значение – число 100 наносекундных интервалов с 1 января, 1601 года, и храниться в GMT, поэтому работа с этим значением слегка сложно:
PS C:\> get-adcomputer -filter "LastlogonTimestamp -gt 0"
-properties * | select name,lastlogontimestamp,
@{Name="LastLogon";Expression={[datetime]::FromFileTime
($_.Lastlogontimestamp)}},passwordlastset | Sort
LastLogonTimeStamp
Я взял на себя ответственность и добавил кастомное свойство, которое берет значение LastLogontimeStamp и конвертирует его в привычный формат. На рисунке 6 показан результат.
Рис. 6. Конвертируем значение LastLogonTimeStamp в привычный формат
Чтобы создать фильтр, мне необходимо конвертировать дату, например, 1 января 2012, в корректный формат. Конвертация осуществляется в FileTime:
PS C:\> $cutoff=(Get-Date "1/1/2012").ToFileTime()
PS C:\> $cutoff
129698676000000000
Теперь я могу использовать эту переменную в фильтре для Get-ADComputer:
PS C:\> Get-ADComputer -Filter "(lastlogontimestamp -lt
$cutoff) -or (lastlogontimestamp -notlike '*')" -property
* | Select Name,LastlogonTimestamp,PasswordLastSet
Приведённый код находит те же самые компьютеры, что были показаны на рисунке 5.
Задача 9: Деактивировать учетную запись компьютера
Возможно, когда Вы найдете неактивные или устаревшие учетные записи, Вы захотите деактировать их. Сделать это довольно просто. Мы будем использовать тот же командлет, что использовали в работе с учетными записями пользователей. Вы можете уточнить его, использовав samAccountname учетной записи.
PS C:\> Disable-ADAccount -Identity "chi-srv01$" -whatif
What if: Performing operation "Set" on Target "CN=CHI-SRV01,
CN=Computers,DC=GLOBOMANTICS,DC=local".
Или же использовав конвейерное выражение:
PS C:\> get-adcomputer "chi-srv01" | Disable-ADAccount
Я также могу использовать мой код, чтобы найти устаревшие учетные записи и все их деактивировать:
PS C:\> get-adcomputer -filter "Passwordlastset
-lt '1/1/2012'" -properties *| Disable-ADAccount
Задача 10: Найти компьютеры по типу
Мне также часто задают вопрос, как найти учетные записи компьютеров по типу, например, серверы или рабочие станции. С вашей стороны это требует определенной креативности. В AD нет ничего такого, чтобы отличало сервер от клиента, разве что ОС. Если Ваш компьютер работает под Windows Server 2008, придется слегка сделать несколько дополнительных действий.
Для начала необходимо получить список ОС, а затем осуществляем фильтрацию учетных записей по имеющимся ОС.
PS C:\> Get-ADComputer -Filter * -Properties OperatingSystem |
Select OperatingSystem -unique | Sort OperatingSystem
Результаты показаны на рисунке 7.
Рис. 7. Извлечение списка ОС
Я хочу найти все компьютеры, на которых стоит серверная ОС:
PS C:\> Get-ADComputer -Filter "OperatingSystem -like
'*Server*'" -properties OperatingSystem,OperatingSystem
ServicePack | Select Name,Op* | format-list
Результаты приведены на рисунке 8.
Как и другими командлетами AD Get, Вы можете настроить поисковые параметры и ограничить запрос отдельными OU, если это необходимо. Все выражения, которые я показал, могут быть интегрированы в большие PowerShell выражения. Например, Вы можете сортировать, группировать, применять фильтры, экспортировать в CSV или создавать и отправлять на почту HTML отчеты – и все это из PowerShell! При этом Вам не придется писать ни единого скрипа.
Вот Вам бонус: отчет о возрасте пароля пользователя (user password-age report), сохраненный в HTML файле:
PS C:\> Get-ADUser -Filter "Enabled -eq 'True' -AND
PasswordNeverExpires -eq 'False'" -Properties
PasswordLastSet,PasswordNeverExpires,PasswordExpired |
Select DistinguishedName,Name,pass*,@{Name="PasswordAge";
Expression={(Get-Date)-$_.PasswordLastSet}} |sort
PasswordAge -Descending | ConvertTo-Html -Title
"Password Age Report" | Out-File c:\Work\pwage.htm
Хотя это выражение может выглядеть слегка пугающим, при минимальном знании PowerShell им легко воспользоваться. И остается лишь последний совет: как определить кастомное свойство под названием PasswordAge. Значение представляет собой промежуток между сегодняшним днем и свойством PasswordLastSet. Затем я сортирую результаты для моего нового свойства. На рисунке 9 показан выход для моего небольшого тестового домена.
Upd:
В посте приведен перевод статьи на портале WindowsITPro
Top 10 Active Directory Tasks Solved with PowerShell
Бонус: PowerShell для целей системного администрирования \\ Статьи на Хабре
А как вы используете PowerShell для того, чтобы упростить вашу работу?
Управление Active Directory с помощью PowerShell | Windows IT Pro/RE
Когда Windows PowerShell только появился, многие стали спрашивать, можно ли управлять Active Directory (AD) с использованием PowerShell. В те времена ответ Microsoft был не таким, какой хотелось бы услышать большинству администраторов. В PowerShell имелся встроенный «акселератор типов» Active Directory Service Interfaces (ADSI) для доступа к объектам AD, но пользователю приходилось в основном самостоятельно выяснять, как применить PowerShell для решения задач администрирования AD. Спустя некоторое время компания Quest Software предоставила бесплатный набор команд для административных задач AD, в том числе создания, изменения и удаления объектов AD, и поиска объектов в AD. В течение длительного периода состояние PowerShell и управления AD было таким.
Значительные изменения произошли с выпуском Windows Server 2008 R2, в котором появился модуль PowerShell для Active Directory. В модуль AD входит набор команд для управления AD, а также AD Provider, с помощью которого можно перемещаться по AD, как по диску с символьным обозначением. В этой статье я покажу, как установить модуль AD, и подробно опишу его функционирование.
Установка Active Directory Module
В отличие от предыдущих инструментов, в которых для связи с AD применялся протокол LDAP, модуль AD использует протоколы Active Directory Web Services (ADWS) для обмена данными с контроллером домена (DC) AD. Эти протоколы подробно описаны в блоге MSDN «Active Directory Web Services Overview», но достаточно отметить, что команды PowerShell в модуле AD и Active Directory Administrative Center (ADAC) используют ADWS для связи и получения информации из AD.
При установке контроллеров домена Windows Server 2012 или Server 2008 R2 в домене AD протокол ADWS устанавливается и запускается по умолчанию на каждом из них. Если ваш домен состоит целиком из контроллеров домена Windows Server 2008 или Windows Server 2003, необходимо установить ADWS отдельно. Microsoft бесплатно предоставляет пакет Active Directory Management Gateway Service для этой цели. Если установить пакет по крайней мере на одном контроллере домена AD Server 2008 или Server 2003, то можно использовать модуль AD для PowerShell наряду с ADAC.
Собственно модуль AD устанавливается по умолчанию на любом DC с операционной системой Server 2012 или Server 2008 R2. На компьютерах Windows 8 и Windows 7 (или любом компьютере, кроме DC, работающем с Server 2012 или Server 2008 R2), необходимо установить средства удаленного администрирования сервера Remote Server Administration Tools из центра загрузки Microsoft.
Независимо от того, установлены Remote Server Administration Tools на компьютере заранее или отдельно, следующий шаг — открыть раздел установки и удаления программ Add/Remove Programs в панели управления и выбрать пункт включения или отключения компонентов Windows — Turn Windows features on or off — в меню слева. Прокрутите диалоговое окно компонентов Windows Feature вниз до раздела Remote Server Administration Tools. Найдите флажок Active Directory Module for Windows PowerShell в папке \Remote Server Administration Tools\Role Administration Tools\AD DS and AD LDS Tools, как показано на экране 1. Установите флажок и нажмите кнопку OK, чтобы установить модуль.
Экран 1. Установка модуля AD для PowerShell |
После этого вы должны увидеть ярлык Active Directory Module for Windows PowerShell в разделе Administrative Tools меню Start. Щелкните этот ярлык, чтобы запустить PowerShell с загруженным модулем AD. Если вы уже работаете в PowerShell и хотите просто загрузить модуль, чтобы он стал доступным для использования, можно ввести следующую команду и получить доступ к командам AD и AD Provider:
Import-Module ActiveDirectory
Теперь посмотрим, как перемещаться по AD с помощью AD Provider.
Использование Active Directory Provider
В PowerShell реализована концепция дисков PowerShell, которые я буду называть просто дисками PS. Упрощенно можно назвать диск PS представлением ресурса, такого как пригодная для навигации файловая система, состоящая из папок и конечных элементов. Не каждый ресурс можно представить таким образом, но многие (в том числе AD и реестр) хорошо вписываются в эту модель. Модуль AD содержит провайдера для диска PS AD. Соответственно, можно перемещаться и даже изменять AD, как будто это файловая система.
Как же перемещаться по AD, используя AD Provider? Предполагается, что PowerShell открыт и модуль AD загружен. В этом случае первый шаг — запустить команду Set-Location, которая имеет несколько псевдонимов, в том числе sl и cd:
Set-Location AD:
Эта команда изменяет текущее рабочее положение диска PS AD. В результате приглашение PowerShell покажет AD:\ вместо C:\. Затем, чтобы увидеть элементы в диске PS AD, можно применить команду Get-ChildItem с псевдонимом dir:
Get-ChildItem
На экране 2 показан пример результата на моем компьютере.
Экран 2. Список разделов домена, доступных в PS-диске AD |
Как мы видим, команда возвращает список всех доступных разделов домена. Самый интересный, на мой взгляд, — раздел домена с именем cpandl, который содержит имена пользователей и компьютеров. Чтобы изменить этот домен, достаточно ввести команду:
Set-Location «dc=cpandl,dc=com»
Обратите внимание, что используется команда Set-Location с различающимся именем (DN) моего домена AD. Это требуется для корректной навигации. После перехода в каталог домена (на что указывает приглашение AD:\dc=cpandl,dc=com в PowerShell), можно использовать команду Get-ChildItem, чтобы увидеть структуру AD верхнего уровня (экран 3).
Экран 3. Просмотр верхнего уровня иерархии AD |
Если нужно взглянуть на пользователей в организационной единице (OU) SDM, то для перехода в эту OU достаточно ввести:
Set-Location «OU=SDM»
Командная строка PowerShell будет иметь вид AD:\ou=SDM,dc=cpandl,dc=com. На данном этапе можно использовать команду Get-ChildItem, чтобы увидеть все объекты пользователя в этом OU. Если нужно изменить свойство Description на объекте пользователя, представляющем мою учетную запись пользователя Darren Mar-Elia. Для этого есть команда! Команда Set-ItemProperty позволяет изменить свойство в объекте AD. Если нужно изменить описание учетной записи пользователя на Chief Techie, следует выполнить команду:
Set-ItemProperty -Path '.\CN=Darren Mar-Elia' ` -Name «Description» -Value «Chief Techie»
Как мы видим, здесь используется параметр –Path для указания моей учетной записи пользователя в текущем каталоге. Я также использую параметр -Name, дабы указать, что нужно изменить свойство Description, и параметр –Value, для указания описания Chief Techie.
Обратите внимание, что если нужно найти все объекты с определенным значением свойства, можно задействовать Get-ItemProperty. Если требуется просто получить ссылку на объект AD, используйте Get-Item.
Как видите, работать с AD таким образом довольно просто. Механизм вряд ли подходит для массовых изменений, однако он удобен для работы с AD как с файловой системой. При этом, как я выяснил, большинство администраторов использует команды вместо диска PS AD для управления AD. Посмотрим, как действуют некоторые из этих команд.
Применение команд Active Directory
Модуль для AD, поставляемый с Windows 7, содержит 76 команд для управления AD. Их можно использовать почти для любых целей, в том числе поиска объектов AD, создания и удаления объектов AD и манипуляций с информацией о настройках AD (например, режим леса и детальная политика паролей). Обычно команды группируются по глаголам, таким как Add-, Remove-, Get- и Set-. Обратите внимание, что не каждая команда Get- имеет соответствующую команду Set- и наоборот, поэтому иногда приходится потратить усилия, чтобы найти нужную команду для задачи. Например, можно установить уровень функциональности леса AD с использованием Set-ADForestMode, но чтобы выяснить текущий уровень функциональности леса, необходимо задействовать команду Get-ADForest и посмотреть свойство ForestMode на возвращенном объекте.
Рассмотрим несколько типовых задач, которые можно выполнить с помощью команд AD. В частности, далее будет показано, как добавить учетные записи пользователя, управлять членством в группе, сбросить пароли учетных записей пользователя и выполнять поиск объектов AD.
Добавление учетных записей пользователя
Команда New-ADUser обеспечивает простой способ добавлять учетные записи пользователя в AD. Если нужно добавить новую учетную запись пользователя с именем Bill Smith в организационную единицу SDM, то в самом простом случае можно создать учетную запись нового пользователя с помощью команды:
New-ADUser -Name «Bill Smith» -SamAccountName «bsmith» ` -GivenName «Bill» -Surname «Smith» ` -DisplayName «Bill Smith» -Path «OU=SDM,DC=cpandl,DC=com»
В этой команде вводится основная информация об учетной записи пользователя. В частности, параметр -SamAccountName служит для предоставления имени учетной записи SAM, необходимой для создания объекта пользователя. Также применяется параметр –Path, чтобы сообщить команде место, куда следует поместить объект — в данном случае в организационную единицу SDM в домене cpandl.com. Кроме того, указано имя пользователя (параметр -GivenName), фамилия (параметр -Surname) и отображаемое имя (параметр -DisplayName).
Выполнение этой команды приведет к созданию учетной записи пользователя, но есть две проблемы. Во-первых, учетная запись будет отключена. Во-вторых, с учетной записью не будет связан пароль, что требуется в большинстве доменов.
Чтобы избежать необходимости активировать учетную запись и назначать пароль отдельно, можно изменить команду New-ADUser. New-ADUser автоматически активирует учетную запись, если указать параметр -Enabled $true в команде. Для активирования требуется пароль, поэтому необходимо также указать его в команде.
Чтобы предоставить пароль, можно использовать параметр –AccountPassword. Однако нельзя ввести пароль простым текстом в командной строке. Этот параметр требует, чтобы пароль был введен в защищенной строке (то есть имел тип данных SecureString). Существует два способа преобразовать пароль в защищенную строку, и в обоих случаях используется переменная.
В первом методе применяется команда ConvertTo-SecureString, которая преобразует строки простого текста в защищенные строки. Например, если нужно преобразовать пароль P@ssw0rd12 в защищенную строку и назначить его переменной $pwd, следует выполнить команду:
$pwd = ConvertTo-SecureString -string «P@ssw0rd12» ` -AsPlainText –force
Это не самый безопасный метод назначения пароля, так как кто-то может заглянуть вам через плечо при вводе команды. Более надежный способ, если команда New-ADUser запросит пароль и будет скрывать вводимые символы. Это можно сделать с помощью команды Read-Hostcmdlet с параметром –AsSecureString:
$pwd = Read-Host -AsSecureString
После выполнения этой команды вы увидите на экране знакомый символ «*» при вводе пароля. Завершив ввод, нажмите клавишу Enter.
После того, как пароль сохранен в переменной $pwd, можно передать его в команду New-ADUser:
New-ADUser -Name»Bill Smith«-SamAccountName»bsmith«` -GivenName»Bill«-Surname»Smith«` -DisplayName»Bill Smith«` -Path»OU=SDM,DC=cpandl,DC=com«` -Enabled $true -AccountPassword $pwd
Как мы видим, команда содержит параметры -Enabled и –AccountPassword, которые активируют учетную запись и безопасно назначают ей пароль.
Создание пользовательских учетных записей по одной — аккуратный способ, но иногда требуется создать несколько учетных записей одновременно. PowerShell прекрасно подходит для этой цели. Например, если нужно создать три учетных записи пользователя, то можно подготовить файл с разделением запятыми (CSV), который содержит информацию об учетной записи, а затем использовать команду Import-CSV для передачи этой информации в New-ADUser.
На экране 4 показан файл CSV с именем userlist.csv.
Экран 4. Применение CSV-файла для создания нескольких пользовательских учетных записей одновременно |
Обратите внимание, что в этом файле заголовки столбцов соответствуют именам параметров, предоставленных в предыдущей команде New-ADUser. Это сделано специально. Когда данные CSV передаются в New-ADUser, команда выберет эти имена параметров из конвейера PowerShell и их не придется указывать в самой команде. Вот команда, применявшаяся для создания трех учетных записей пользователя:
Import-CSV -Path C:\data\userlist.csv | New-ADUser -Enabled $true -AccountPassword $pwd
Как можно заметить, выходные строки команды Import-CSV поступают в команду New-ADUser. Конвейер распознает, что заголовки столбца в CSV-файле представляют собой имена параметров, а остальные строки содержат значения, поэтому нужно лишь предоставить параметры -Enabled и –AccountPassword. Это превосходная возможность конвейера. Благодаря ей удается гораздо эффективнее использовать PowerShell для задач автоматизации такого типа.
Управление членством в группах
Добавление учетных записей пользователей и компьютеров — типичная задача управления AD. С помощью модуля AD выполнить ее сравнительно несложно. Используя команду Add-ADGroupMember, можно добавить в группу одну или несколько учетных записей. Например, если нужно добавить трех новых пользователей в группу Marketing Users. Самый простой способ — использовать команду:
Add-ADGroupMember -Identity»Marketing Users«` -Members jadams,tthumb,mtwain
В этой команде параметр -Identity служит для того, чтобы предоставить имя группы. Также применяется параметр -Members для предоставления имен учетных записей SAM пользователей. Если имеется несколько имен учетных записей SAM, то их следует указать в файле с разделителями в виде запятых.
Можно объединить операции создания трех учетных записей и их добавления в группу Marketing Users в одной команде, чтобы решить задачу одним действием. Однако команда Add-ADGroupMember не поддерживает передачу имен членов группы в конвейер. Поэтому необходимо использовать команду Add-ADPrincipalGroupMembership, если требуется задействовать конвейер. Эта команда может принимать объекты пользователя, компьютера или группы как входные из конвейера и добавлять эти объекты в указанную группу.
Соединить операцию создания пользователей с операцией добавления новых пользователей в группу Marketing Users в одной команде можно следующим образом:
Import-CSV -Path C:\data\userlist.csv | New-ADUser -Enabled $true -AccountPassword $pass ` -PassThru | Add-ADPrincipalGroupMembership ` -MemberOf»Marketing Users«
Обратите внимание, что к части New-ADUser команды добавлен параметр –PassThru. Этот параметр указывает New-ADUser, что нужно передать созданные объекты пользователя в конвейер. Если данный параметр не указан, то выполнение команды Add-ADPrincipalGroupMembership завершится неудачей.
Также примечательно, что используется только параметр -MemberOf для указания имени группы в разделе Add-ADPrincipalGroupMembership команды. Конвейер обеспечивает остальное, добавляя каждого из трех пользователей в группу Marketing Users.
Итак, с помощью одной команды PowerShell было создано три новых пользователя, они были размещены в OU, получили пароли и были добавлены в группу Marketing Users. Теперь рассмотрим некоторые другие типичные задачи обслуживания AD, которые можно автоматизировать с использованием PowerShell и модуля AD.
Сброс паролей учетных записей пользователя
Иногда пользователям требуется сбросить пароль учетной записи. Эту задачу легко автоматизировать с помощью команды Set-ADAccountPassword, изменив или сбросив пароль учетной записи. Чтобы изменить пароль, необходимо знать старый пароль и ввести новый. Чтобы сбросить пароль, достаточно предоставить новый пароль. Однако необходимо разрешение Reset Password на объект пользователя в AD, чтобы выполнить сброс пароля.
Как и параметр -AccountPassword команды New-ADUser, команда Set-ADAccountPassword использует тип данных SecureString для паролей, поэтому необходимо задействовать один из методов преобразования простых текстовых паролей в защищенные строки. Например, если нужно сбросить пароль для учетной записи пользователя Tom Thumb, то после сохранения нового пароля как защищенной строки в переменной $pass можно выполнить команду:
Set-ADAccountPassword -Identity»tthumb«` -NewPassword $pass –Reset
В этой команде я использую параметр –Identity, чтобы назначить имя учетной записи SAM для учетной записи пользователя Tom Thumb. Я также ввожу параметр -NewPassword с переменной $pass, чтобы предоставить новый пароль. Наконец, задается параметр –Reset, дабы указать, что выполняется сброс, а не изменение пароля.
Еще одна дополнительная задача: переключить флаг учетной записи пользователя Tom Thumb, чтобы заставить его изменить пароль при следующей регистрации. Это обычный прием, когда нужно сбросить пароль пользователя. Данную задачу можно выполнить с помощью команды Set-ADUser, присвоив параметру -ChangePasswordAtLogon значение $true:
Set-ADUser -Identity tthumb -ChangePasswordAtLogon $true
Возникает вопрос, почему не был использован конвейер для передачи вывода команды Set-ADAccountPassword в команду Set-ADUser, чтобы выполнить обе операции в одной команде PowerShell. Я попробовал этот подход, он не работает. Вероятно, в команде Set-ADAccountPassword есть какое-то ограничение, не позволяющее успешно выполнить единую команду. В любом случае, достаточно просто переключить флаг с использованием команды Set-ADUser, как показано выше.
Поиск объектов Active Directory
Другая типичная задача AD — поиск объектов AD, соответствующих определенным критериям. Например, можно найти все компьютеры с определенной версией операционной системы Windows в домене AD. Команда Get-ADObject — самая удобная для поиска LDAP. Например, чтобы найти компьютеры Server 2008 R2 в домене cpandl.com, была применена команда:
Get-ADObject -LDAPFilter ` »(&(operatingSystem=Windows Server 2008 R2 Enterprise)` (objectClass=computer))«-SearchBase»dc=cpandl,dc=com«` -SearchScope Subtree
Эта команда использует три параметра для выполнения задачи: -LDAPFilter, -SearchBase и -SearchScope. Параметр -LDAPFilter принимает в качестве входного стандартный запрос LDAP. В этом примере запрашиваются все объекты компьютера, у которых атрибут OperatingSystem имеет значение Windows Server 2008 R2 Enterprise. Параметр -SearchBase указывает команде, где начать поиск в иерархии AD. В данном случае выполняется поиск из корневого каталога домена AD, но не составляет труда ограничить поиск определенной OU. Параметр –SearchScope указывает команде, следует ли обходить все контейнеры под базой поиска, обнаруживая указанные объекты. В этом случае используется параметр Subtree, чтобы команда проверяла все нижележащие контейнеры.
При запуске команды отображаются объекты, соответствующие критерию. Или же можно направить результаты в другую команду для обработки найденных объектов.
Обратите внимание, что для масштабных поисков полезно задействовать параметр –ResultPageSize, чтобы управлять разбиением результатов поиска на страницы. Обычно я присваиваю этому параметру значение 1000, и команда Get-ADObject возвращает 1000 объектов за один раз. В противном случае можно не получить ожидаемый результат, так как число возвращаемых объектов превышает максимально предусмотренное политикой, установленной для одного запроса поиска.
Другая команда для поиска, предоставленная компанией Microsoft, — Search-ADAccount. Эта команда особенно полезна для поиска с различными заранее заданными условиями, например отключенных учетных записей, учетных записей с просроченными паролями и блокированных учетных записей. Так, следующая команда отыскивает все учетные записи пользователя с просроченными паролями в OU SDM:
Search-ADAccount -PasswordExpired -UsersOnly ` -SearchBase»OU=sdm,dc=cpandl,dc=com«` -SearchScope OneLevel Search-ADAccount -PasswordExpired -UsersOnly ` -SearchBase»OU=sdm,dc=cpandl,dc=com" ` -SearchScope OneLevel
В этой команде используется параметр –PasswordExpired, указывающий, что нужны учетные записи с просроченными паролями. Параметр -UsersOnly указывает, что нужно искать только объекты пользователя (то есть исключить объекты «компьютер»). Как в предыдущем примере, используются параметры -SearchBase и –SearchScope, чтобы указать область поиска. Но в данном случае я использую параметр OneLevel для поиска только в ближайшем OU (то есть исключая любые дочерние организационные единицы).
Это лишь поверхностный рассказ о модуле AD, но надеюсь, вы получили представление о заложенных в нем возможностях. Как отмечалось выше, в модуле более 70 команд. Среди тем, которые не были затронуты в статье, — удаление объектов с использованием команды Remove-, восстановление удаленных объектов с помощью команды Restore-ADObject и удаление свойств UAC на объектах пользователя посредством команды Set-ADAccountControl. Существуют команды почти для любых административных задач AD.
Поделитесь материалом с коллегами и друзьями
Использование модуля Active Directory for PowerShell для администрирования домена
Модуль Active Directory для Windows PowerShell сегодня является одним из основных средств администрирования домена, управления объектами в Active Directory, получения различной информации о компьютерах, пользователях, группах. Любой системный администратор Windows должен уметь пользоваться не только графическими оснастками AD (чаще всего это ADUC – Active Directory Users & Computer), но и командлетами этого модуля PowerShell для выполнения повседневных задач администрирования Active Directory. В этой статье мы рассмотрим, как установить модуль RSAT-AD-PowerShell, его базовый функционал и популярные командлеты, которые должны быть полезными при управлении и работе с AD.
Установка модуля Active Directory для PowerShell в Windows Server
Модуль Active Directory для Windows PowerShell уже встроен в операционные системы Windows Server (начиная с Windows Server 2008 R2), но по умолчанию не активирован.
В Windows Server 2016 вы можете включить модуль AD для PoSh в Windows Server 2016 из панели управления Server Manager (Add Roles and Features -> Features -> Remote Server Administration tools -> Role Administration Tools -> AD DS and AD LDS Tools -> Active Directory module for Windows PowerShell).
Также вы можете установить модуль из командной строки с помощью PowerShell команды:
Install-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature
Вы можете установить модуль RSAT-AD-PowerShell не только на контроллере домена. Подойдет любой рядовой сервер или даже рабочая станция. На контроллерах домена AD модуль устанавливается автоматически при развертывании роли ADDS (при повышении сервера до DC).
Взаимодействие модуля с AD выполняется через служба Active Directory Web Services, которая должна быть установлена на котроллере домена (взаимодействие по порту TCP 9389).
Установка модуля RSAT-AD-PowerShell в Windows 10
Вы можете установить модуль RSAT-AD-PowerShell не только на серверах, но и на рабочих станциях. Этот модуль входит в состав пакета RSAT (Remote Server Administration Tools), который можно скачать и установить вручную в Window 7, Windows 8.1. После установки RSAT модуль AD дл PowerShell ставится из панели управления (Control Panel -> Programs and Features -> Turn Windows features on or off -> Remote Server Administration Tools-> Role Administration Tools -> AD DS and AD LDS Tools).
В Windows 10 1809 и выше пакет RSAT уже встроен в дистрибутив (как Features on Demand), поэтому для установки модуля можно воспользоваться командой:
Add-WindowsCapability –online –Name “Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0”
Командлеты модуля AD для PowerShell
В модуле Active Directory для Windows PowerShell имеется большое командлетов для взаимодействия с AD. В каждой новой версии RSAT их количество увеличивается (в Windows Server 2016 доступно 147 командлетов для AD).
Перед использованием командлетов модуля, его нужно импортировать в сессию PowerShell (в Windows Server 2012 R2/ Windows 8.1 модуль импортируется автоматически):
Import-Module ActiveDirectory
Если у вас на компьютере не установлен модуль, вы можете импортировать его с контроллера домена (нужны права администратора домена) или с другого компьютера:
$rs = New-PSSession -ComputerName DC_or_Comp_with_ADPosh
Import-Module -PSsession $rs -Name ActiveDirectory
Вы можете вывести полный список доступных командлетов с помощью команды:
Get-Command –module activedirectory
Общее количество команд в модуле:
Get-Command –module activedirectory |measure-object
Большинство командлетов модуля RSAT-AD-PowerShell начинаются с префикса Get-, Set-или New-.
- Командлеты класса Get- используются для получения различной информации из AD (Get-ADUser — свойства пользователей, Get-ADComputer – параметры компьютеров, Get-ADGroupMember — состав групп и т.д.). Для их выполнения не нужно быть администратором домена, любой пользователь домена может выполнять скрипты PowerShell для получения значений большинства атрибутов объектов AD (кроме защищенных, как в примере с LAPS).
- Командлеты класса Set- служат для изменения параметров объектов в AD, например, вы можете изменить свойства пользователя (Set-ADUser), компьютера (Set-ADComputer), добавить пользователя в группу и т.д. Для выполнения этих операций у вашей учетной записи должны быть права на объекты, которые вы хотите изменить (см. статью Делегирование прав администратора в AD).
- Команды, начинающиеся с New- позволяют создать объекты AD (создать пользователя — New-ADUser, группу — New-ADGroup).
- Командлеты Remove- служат для удаления объектов AD.
Получить справку о любом командлете можно так:
get-help New-ADComputer
Примеры использования командлетов Active Directory можно вывести так:
(get-help Set-ADUser).examples
В PowerShell ISE при наборе параметров командлетов модуля удобно использовать всплывающие подсказки.
Использование модуля RSAT-AD-PowerShell для администрирования AD
Рассмотрим несколько типовых задач администратора, которые можно выполнить с помощью команд модуля AD для PowerShell.
Полезные примеры использования различных командлетов модуля AD для PowerShell уже описаны на сайте. Следуйте ссылкам по тексту за подробными инструкциями.
New-ADUser: Создание пользователя в AD
Для создания нового пользователя в AD можно использовать командлет New-ADUser. Создать пользователя можно командой:
New-ADUser -Name "Andrey Petrov" -GivenName "Andrey" -Surname "Petrov" -SamAccountName "apetrov" -UserPrincipalName "[email protected] " -Path "OU=Users,OU=Ufa,DC=winitpro,DC=loc" -AccountPassword(Read-Host -AsSecureString "Input Password") -Enabled $true
Более подробно о команде New-ADUser (в том числе пример массового создания учетных записей в домене) читайте в статье .
Get-ADComputer: Получить информацию о компьютерах домена
Чтобы вывести информацию о компьютерах в определённом OU (имя компьютера и дата последней регистрации в сети) используйте командлет Get-ADComputer:
Get-ADComputer -SearchBase ‘OU=Russia,DC=winitpro,DC=ru’ -Filter * -Properties * | FT Name, LastLogonDate -Autosize
Add-AdGroupMember: Добавить пользователя в группу AD
Чтобы добавить пользователей в существующую группу безопасности в домене AD, выполните команду:
Add-AdGroupMember -Identity MskSales -Members apterov, divanov
Вывести список пользователей в группе AD и выгрузить его в файл:
Get-ADGroupMember MskSales -recursive| ft samaccountname| Out-File c:\script\export_users.csv
Более подробно об управлении группами AD из PowerShell.
Set-ADAccountPassword: Сброс пароля пользователя в AD
Чтобы сбросить пароль пользователя в AD из PowerShell, выполните:
Set-ADAccountPassword apterov -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “P@ssw0rd1” -Force -Verbose) –PassThru
Блокировка/разблокировка пользователя
Отключить учетную запись:
Disable-ADAccount apterov
Включить учетную запись:
Enable-ADAccount apterov
Разблокировать аккаунт после блокировки парольной политикой:
Unlock-ADAccount apterov
Search-ADAccount: Поиск неактивных компьютеров в домене
Чтобы найти и заблокировать в домене все компьютеры, которые не регистрировались в сети более 100 дней, воспользуйтесь командлетом Search-ADAccount:
$timespan = New-Timespan –Days 100
Search-ADAccount -AccountInactive -ComputersOnly –TimeSpan $timespan | Disable-ADAccount
New-ADOrganizationalUnit: Создать структуру OU в AD
Чтобы быстро создать типовую структуры Organizational Unit в AD, можно воспользоваться скриптом PowerShell. Допустим, нам нужно создать несколько OU с городами, в которых создать типовые контейнеры. Вручную через графическую консоль ADUC такую структуру создавать довольно долго, а модуль AD для PowerShell позволяет решить такую задачу за несколько секунд (не считая время на написание скрипта):
$fqdn = Get-ADDomain
$fulldomain = $fqdn.DNSRoot
$domain = $fulldomain.split(".")
$Dom = $domain[0]
$Ext = $domain[1]
$Sites = ("SPB","MSK","Sochi")
$Services = ("Users","Admins","Computers","Servers","Contacts")
$FirstOU ="Russia"
New-ADOrganizationalUnit -Name $FirstOU -Description $FirstOU -Path "DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
foreach ($S in $Sites)
{
New-ADOrganizationalUnit -Name $S -Description "$S" -Path "OU=$FirstOU,DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
foreach ($Serv in $Services)
{
New-ADOrganizationalUnit -Name $Serv -Description "$S $Serv" -Path "OU=$S,OU=$FirstOU,DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
}
}
После выполнения скрипта у нас в AD появилась такая структура OU.
Для переноса объектов между контейнерами AD можно использовать командлет Move-ADObject:
$TargetOU = "OU=Buhgalteriya,OU=Computers,DC=corp,DC=winitpro,DC=ru"
Get-ADComputer -Filter 'Name -like "BuhPC*"' | Move-ADObject -TargetPath $TargetOU
Get-ADReplicationFailure: Проверка репликации в AD
С помощью командлета Get-ADReplicationFailure можно проверить состояние репликации между контроллерами домена AD:
Get-ADReplicationFailure -Target DC01,DC02
Получить информацию обо всех DC в домене с помощью командлета Get-AdDomainController:
Get-ADDomainController –filter * | select hostname,IPv4Address,IsGlobalCatalog,IsReadOnly,OperatingSystem | format-table –auto
Итак, в этой статье мы рассмотрели базовые возможности и особенности использования модуля AD для PowerShell для администрирования AD. Надеюсь, эта статья подтолкнет вас к дальнейшему исследованию возможностей этого модуля и автоматизации большинства задач управления AD.
Как заставить пользователей и компьютеры Active Directory с инструментами управления Exchange работать в Windows 7 — Pyrocam.com
PreReq: остановить Active Directory на вашем компьютере.Примечание: 64-битные пользователи: может быть решение! проверьте внизу страницы FIRST
1. Установите w7 AdminPak (RSAT)
Средства удаленного администрирования сервера для Windows 7 Release Candidate (RC)
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7d2f6ad7-656b-4313-a005-4e344e43997d#filelist
2.Установите IIS и средства администрирования удаленного сервера (пользователи и компьютеры Active Directory)
Используйте функцию «Включение или отключение компонентов Windows», чтобы добавить IIS Stuff и RSAT Stuff
.
4. Скопируйте несколько файлов в папку Windows system32.
Я использовал файлы из моей установки XP с этими файлами bat, вам придется получить их самостоятельно
(ПОМНИТЕ: вам нужно запустить cmd promt от имени администратора, используйте его в аксессуарах, щелкните его правой кнопкой мыши)
Текстовый файл с файлами, которые необходимо скопировать
Bat-файл для копирования из старой установки (предполагается, что D: \ windows \ system32 \)
Если у вас нет этих файлов, вы можете найти их здесь
5.Зарегистрируйте файлы
(то же самое с cmd promt как администратор)
например:
regsvr32 / s adprop.dll
regsvr32 / s ws03res.dll
(ЭТО ПРОСТО ПРИМЕР, ФАЙЛОВ НАМНОГО БОЛЬШЕ, ЧЕМ ЭТО! ИСПОЛЬЗУЙТЕ ФАЙЛ НИЖЕ)
Загрузите командный файл здесь
5. Vista ESM
Загрузите отсюда
http://www.microsoft.com/downloads/details.aspx?familyid=3403d74e-8942-421b-8738-b3664559e46f&displaylang=en
Запустите его, чтобы извлечь MSI, это поставит еще одну ESMVISTA.msi в подкаталоге по вашему выбору, выполнение приведенной ниже команды прямо в этом файле не работает.
запустите командную строку с правами администратора, Пуск-> все программы-> аксессуары-> ЩЕЛКНИТЕ ПРАВОЙ кнопкой в командной строке и нажмите «Запуск от имени администратора».
перейдите в папку с извлеченным файлом MSI и запустите его с переключателем / q, чтобы избавиться ошибки «не для перспективы» (поэтому ESMVISTA.MSI / Q)
например: c: \ users \ you \ downloads \ esm \ vista \ esmvista.msi / q
Подождите не менее 10 минут, пока он сделает свое дело.
Это тихая установка, вы ничего не увидите, но у меня были случаи, когда она ломалась, потому что люди запускали AD слишком рано.
5Б. нет уж!
На самом деле подождите хотя бы 10 минут, он НЕ БУДЕТ РАБОТАТЬ, если вы запустите AD слишком рано, и вам придется начинать заново. Если у вас очень медленный компьютер, оставьте его подольше.
6. Запустите Active Directory
Запускайте пользователей и компьютеры Active Directory из меню «Пуск».
Если вы хотите связаться со мной, напишите письмо admin @ pyrocam.com
этот комментарий от bacanter01 на windows7forums может помочь
Я заметил, что mmc работает в режиме x64, даже если вы запускаете mmc из папки system32. Если вы запускаете mmc с переключателем / 32, вы можете добавить ADUC и увидеть вкладки обмена. Это не работало, пока я не установил SP1, но все, что вам нужно сделать, это установить RSAT> установить инструменты ESM для Vista с переключателем / q (следите, чтобы MSIEXEC остановился в диспетчере задач, прежде чем пытаться запустить его)> Установить SP1 > Запустите mmc с переключателем / 32.Я не пробовал устанавливать ESM после установки SP1, но он работает каждый раз, если вы установите его позже.
История изменений
1.0 выставлено
1.1 Грамматика и т.д., добавлено зеркало для файлов
1.3 обновлен с новыми ссылками на RSAT
1.4 снова протестировал на новой установке W7, работал
1.5 удалены длинные списки файлов, заменены файлами bat
1.6 30/11/2010: убрана одна из команд, в которой пропущены некоторые косые черты, добавлен комментарий о том, что регистрация файлов в качестве примера является всего лишь примером, добавлен еще один шаг, чтобы напомнить людям, чтобы они еще немного оставили тихую установку.
1.7 3/9/2011: добавлен комментарий, который может помочь 64-битным пользователям
1.8 10/09/11: добавлены дополнительные шаги для извлечения материалов MSI
.
Описание средств удаленного администрирования сервера — клиент Windows
- 3 минуты на чтение
В этой статье
В этой статье описываются инструменты, доступные для установки в составе средств удаленного администрирования сервера.
Исходная версия продукта: Windows Server 2012 R2, Windows 7 Service Pack 1
Исходный номер базы знаний: 958830
Введение
В этой статье описываются инструменты, которые доступны для установки как часть средств удаленного администрирования сервера для Windows 7. Инструменты из этого пакета могут использоваться для управления технологиями, работающими в Windows Server 2008 R2, а также некоторыми технологиями, работающими в Windows Server 2003, Windows Server 2003 R2 или Windows Server 2008.
Дополнительная информация
Средства удаленного администрирования сервера | Описание | Управляет технологиями в Windows Server 2003 | Управляет технологиями в Windows Server 2008 |
---|---|---|---|
Инструменты службы сертификации Active Directory | включают в себя оснастки «Центр сертификации», «Шаблоны сертификатов», «Корпоративная PKI» и «Управление сетевым ответчиком». | √, кроме протокола статуса онлайн-сертификата (OCSP) | √ |
Инструменты доменных служб Active Directory (AD DS) и инструменты Active Directory облегченного доступа к каталогам (AD LDS) | включают в себя пользователей и компьютеры Active Directory, домены и доверительные отношения Active Directory, сайты и службы Active Directory, Центр администрирования Active Directory (ADAC), средства сервера для службы сетевой информации (NIS), модуль Windows PowerShell для Active Directory, и другие оснастки и инструменты командной строки для удаленного управления доменными службами Active Directory. — Инструменты служб Active Directory облегченного доступа к каталогам включают сайты и службы Active Directory, средство редактирования ADSI, диспетчер схемы и другие оснастки и инструменты командной строки для управления службами облегченного доступа к каталогам Active Directory. — Сервер для инструментов NIS включает расширение для оснастки «Пользователи и компьютеры Active Directory» и инструмент командной строки Ypclear.exe. | √, для удаленного управления Windows PowerShell и ADAC требуется пакет загрузки веб-службы Active Directory. | √, для удаленного управления PowerShell и ADAC требуется загружаемый пакет веб-службы Active Directory. |
BitLocker Средство просмотра паролей восстановления Active Directory | Средство просмотра паролей восстановления Active Directory BitLocker является расширением для оснастки консоли управления (MMC) Active Directory — пользователи и компьютеры. С помощью этого инструмента вы можете открыть диалоговое окно Properties объекта компьютера, чтобы просмотреть соответствующие пароли восстановления BitLocker. | Не доступен | Не доступен |
Инструменты сервера DHCP | включают консоль управления DHCP и инструмент командной строки Netsh. | √ | √ |
Инструменты сервера DNS | включают оснастку «Диспетчер DNS» и инструмент командной строки Ddnscmd.exe. | √ | √ |
Инструменты отказоустойчивой кластеризации | включают диспетчер отказоустойчивого кластера, инструменты Windows PowerShell для управления отказоустойчивой кластеризацией и кластер.Инструмент командной строки exe. | Не доступен | √ |
Инструменты файловых служб | включают следующее: — Инструменты распределенной файловой системы включают в себя оснастку управления DFS и инструменты командной строки Dfsradmin.exe, Dfsrdiag.exe, Dfscmd.exe, Dfsdiag.exe и Dfsutil.exe. | Не доступен | √ |
Инструменты управления групповой политикой | включают консоль управления групповыми политиками, редактор управления групповыми политиками и стартовый редактор групповой политики. | √ | √ |
Инструменты Hyper-V | Hyper-V включают оснастку Hyper-V Manager и инструмент удаленного доступа для подключения к виртуальной машине. | Не доступен | √ |
Инструменты балансировки сетевой нагрузки | включают оснастку «Диспетчер балансировки сетевой нагрузки», инструменты Windows PowerShell для управления балансировкой сетевой нагрузки, а также инструменты командной строки Nlb.exe и Wlbs.exe. | √ | √ |
Инструменты служб удаленных рабочих столов | включают диспетчер служб удаленных рабочих столов и оснастки удаленного рабочего стола. | √ | √ |
Менеджер сервера | Server Manager включает консоль Server Manager. Удаленное управление с помощью диспетчера сервера доступно только в Windows Server 2008 R2. | Не доступен | Не доступен |
Инструменты сервера SMTP | включают оснастку SMTP (Simple Mail Transfer Protocol). | √ | √ |
Инструменты Storage Explorer | Storage Explorer включают в себя оснастку Storage Explorer. | Не доступен | √ |
Диспетчер хранения для сетей хранения данных (SAN) Инструменты | Storage Manager for SANs Tools включает оснастку Storage Manager for SANs и инструмент командной строки Provisionstorage.exe. | √ Storage Manager для сетей SAN доступен в Windows Server 2003 R2 и более поздних версиях. | √ |
Инструменты диспетчера системных ресурсов Windows | включают в себя оснастку диспетчера системных ресурсов Windows и файл Wsrmc.Инструмент командной строки exe. | Не доступен | √ |
Для получения дополнительных сведений о средствах удаленного администрирования сервера для Windows 7 посетите следующий веб-сайт Microsoft: https://www.microsoft.com/download/details.aspx?FamilyID=7d2f6ad7-656b-4313-a005-4e344e43997d
.
Windows 7 — Windows 7 Ultimate: RSAT — Установка инструментов Active Directory
После установки RSAT
После установки исправления RSAT для Windows 7 вместо простого открытия MMC и добавления оснасток, которые могут раздражать, вам следует выполните те же действия, что и в Vista. См. Шаги ниже.
1. Перейдите в «Пуск»> «Панель управления»
2. Перейдите в «Программы и компоненты»
3. В левой части экрана выберите>
4.Разверните «Инструменты удаленного администрирования сервера» и выберите элементы, которые вы хотите использовать.
5. Выбранные вами элементы RSAT будут отображаться в разделе «Инструменты администрирования», вместо того, чтобы создавать одну или несколько MMC.
Надеюсь, этот пост окажется для вас полезным.
DLAX
.
AD Explorer — Windows Sysinternals
- 2 минуты на чтение
В этой статье
Марк Руссинович
Дата публикации: 15 ноября 2012 г.
Загрузить AdExplorer (244 КБ)
Запустить сейчас из Sysinternals Live.
Введение
Active Directory Explorer (AD Explorer) — это расширенный Active Directory.
(AD) просмотрщик и редактор. Вы можете использовать AD Explorer, чтобы легко перемещаться по AD.
базы данных, определить избранные местоположения, просмотреть свойства объекта и
атрибуты без необходимости открывать диалоговые окна, редактировать разрешения, просматривать
схему объекта и выполнять сложные поиски, которые можно сохранить
и повторно выполнить.
AD Explorer также включает возможность сохранять снимки AD.
база данных для просмотра и сравнения в автономном режиме.Когда вы загружаете сохраненный
снимок, вы можете перемещаться и исследовать его, как если бы вы работали с живой базой данных.
Если у вас есть два снимка базы данных AD, вы можете использовать AD Explorer’s
функция сравнения, чтобы увидеть, какие объекты, атрибуты и безопасность
разрешения изменились между ними.
Скачать AdExplorer (244 КБ)
Запустите сейчас из Sysinternals Live.
.