Переменные окружения для python проектов

Понижение контроллера домена

Первым шагом понизим наш сервер до рядового сервера. Это можно сделать с помощью графического интерфейса, Powershell или командной строки.

Графика

Открываем Диспетчер серверов и переходим в Управление — Удалить роли и компоненты:

Если откроется окно с приветствием, то просто нажимаем Далее (при желании, можно поставить галочку Пропускать эту страницу по умолчанию):

В окне «Выбор целевого сервера» выбираем сервер, для которого мы будем понижать уровень AD:

… и нажимаем Далее.

Снимаем галочку Доменные службы Active Directory. откроется окно в котором отобразится список компонентов для удаления — нажимаем Удалить компоненты:

В следующем окне мы увидим предупреждение о том, что компьютер будет перезагружен и возможность принудительно понизить уровень — просто нажимаем Далее:

Система отобразит роли AD, которые будут удалены. Ставим галочку Продолжить удаление и нажимаем Далее:

Вводим дважды пароль учетной записи локального администратора, который будет использоваться после понижения до рядового сервера:

Кликаем по Понизить уровень:

Процесс займет какое-то время. После мы увидим «Уровень контроллера домена Active Directory успешно понижен»:

Сервер автоматически будет перезагружен.

Powershell

Открываем консоль Powershell от администратора и вводим:

Uninstall-ADDSDomainController

Система запросит пароль для локальной учетной записи администратора, которая будет использоваться после понижения — задаем новый пароль дважды:

LocalAdministratorPassword: **********
Подтвердить LocalAdministratorPassword: **********

Мы получим предупреждение о перезагрузки сервера. Соглашаемся:

После завершения этой операции сервер будет автоматически перезапущен. Когда вы удалите доменные службы Active
Directory на последнем контроллере домена, этот домен перестанет существовать.
Вы хотите продолжить эту операцию?
Да — Y   Да для всех — A   Нет — N   Нет для всех — L   Приостановить — S   Справка
(значением по умолчанию является «Y»): A

Для выполнения команды уйдет некоторое время, после чего сервер уйдет в перезагрузку.

Создание виртуального окружения в Pycharm

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

Виртуальную среду можно создать при создании нового проекта. Для этого нужно зайти по следующему пути:

В новом окне выбрать название проекта, место для копирования, интерпретатор и нажать кнопку создания окружения:

Для настройки окружения для старых проектов нужно зайти в настройки:

Во вкладе «Python Interpreter» будет выбор из существующих интерпретаторов (1). Либо можно создать новый (2):

Ещё немного ссылок: таблицы

До сих пор мы описывали основные навигационные ссылки.

Некоторые типы DOM-элементов предоставляют для удобства дополнительные свойства, специфичные для их типа.

Таблицы – отличный пример таких элементов.

Элемент , в дополнение к свойствам, о которых речь шла выше, поддерживает следующие:

  • – коллекция строк таблицы.
  • – ссылки на элементы таблицы , , .
  • – коллекция элементов таблицы (по спецификации их может быть больше одного).

, , предоставляют свойство :

tbody.rows – коллекция строк

  • – коллекция и ячеек, находящихся внутри строки .
  • – номер строки в текущей секции .
  • – номер строки в таблице (включая все строки таблицы).

and :

td.cellIndex – номер ячейки в строке

Пример использования:

Спецификация: tabular data.

Существуют также дополнительные навигационные ссылки для HTML-форм. Мы рассмотрим их позже, когда начнём работать с формами.

Системная утилита quser.exe

Мы можем использовать системную программу quser, которая возвращает имя текущего пользователя и время его входа. Выглядит это так:

Quser так же может работать удаленно используя следующий синтаксис:

Первая проблема этого способа — это то, что quser работает через RPC. Если вы выполняете команду удаленно, а порты не открыты, вы получите ошибки:

  • Error 0x000006BA enumerating sessionnames
  • Error :The RPC server is unavailable.

Для примера, следующие команды исправят эти проблемы на одном компьютере, но скорее всего вы будете менять настройки через политики

Так же обратите внимание, что правило устанавливается на «Any», а не только «Domain»:. Вторая проблема — если вы будете выполнять команду через Invoke-Command, то могут быть проблемы с кодировками:

Вторая проблема — если вы будете выполнять команду через Invoke-Command, то могут быть проблемы с кодировками:

И третья проблема — у нас возвращается строка, а не объект. Что бы мы могли все эти данные, в дальнейшем, экспортировать (например в CSV), мы должны ее парсить. Это можно сделать так:

Далее нам нужно преобразовать все в специальный массив — PSCustomObject, т.к. только он может быть экспортирован в CSV и представляет собой более удобный вывод:

Метод substring убирает первый символ, так как программа возвращает имя пользователя либо с пробелом начали или символом «>».

Такой скрипт мы можем объединить в один командлет, который сможет работать локально и удаленно:

В функцию добавлено несколько деталей:

  1. Функция имеет атрибут «ComputerName» в которую можно передать имя компьютера. Т.к. эта переменная является строкой мы не можем использовать одновременно несколько (конвейер передает по одному);
  2. По умолчанию «ComputerName» выполняет $env:computername, что возвращает имя текущего компьютера;
  3. Часть команды «quser /server:$ComputerName 2>Null » будет исключать некоторые ошибки, которые связаны с выключенными компьютерами. Иначе — будут выводиться красные сообщения мешающие выводу;
  4. Добавлено несколько условий, которые различают логические ошибки (например фаервол), физические (компьютер выключен) и условие в случае если все хорошо;

Мы можем вызывать скрипт несколькими приемами:

Отмечу, что в случаях выключенных компьютеров запросы идут очень долго (около 2-3 секунд на компьютер). Способа снизить конкретно таймаут — я не знаю. Один из вариантов ускорить работу — фильтровать вывод с Get-ADComputer исключая отключенные учетные записи компьютеров. Так же можно попробовать использовать параллелизм.

Легче всего такой скрипт запускать на компьютерах пользователей, по событию входа в систему. На примере ниже я экспортирую эти данные в единый, для всех пользователей, файл CSV расположенный в доступности для пользователей:

Сам файл будет выглядеть так:

Отмечу следующие моменты:

  1. Можно увидеть разницу во времени и датах. У меня одна ОС с американской локализацией, а другая с русской. В принципе у вас таких проблем быть не должно, но можно исправить через Get-Date (парсингом даты);
  2. Из-за предыдущего пункта у меня бывали проблемы с кодировками, но они самоустранились быстрее, чем я смог предпринять действия.

Примечания.

  • В инструкциях покажите, как изменять объекты пользователей. Существует отдельный параметр Для контактов — изменение шага 11 на «contact-Display».
  • Вам не нужно закрывать привязку Пользователей и Компьютеры; изменения подбираются автоматически.
  • В средах контроллера с несколькими доменами может потребоваться дождаться завершения репликации, прежде чем пользовательский интерфейс подберет изменения.

Контактные данные сторонних организаций предоставлены в этой статье с целью помочь пользователям получить необходимую техническую поддержку. Эти данные могут быть изменены без предварительного уведомления. Корпорация Майкрософт не гарантирует точность этих сторонних контактных данных.

Как найти пользователя AD и вывести список свойств с помощью Get-ADUser

Чтобы использовать командлет Get-ADUser необходимо установить Модуль Active Directory для Windows PowerShell, в каких системах он уже присутствует и как его установить если он ещё не установлен, смотрите в статье «Как установить и использовать модуль Active Directory PowerShell». На рабочих станциях данный модуль вы можете установить следующей командой:

Add-WindowsCapability -online -Name "Rsat.ActiveDirectory.DS-LDS.Tools"

Чтобы использовать командлет Get-ADUser, вам не нужно запускать его под учётной записью с администратором домена или с делегированными разрешениями. Любой авторизованный пользователь домена AD может запускать команды PowerShell для получения значений большинства атрибутов объекта AD (кроме конфиденциальных, например, связанных со сменой пароля). Если вам нужно запустить команду Get-ADUser из другой учётной записи, используйте параметр -Credential.

Чтобы отобразить список всех учётных записей домена, выполните эту команду:

Get-ADUser -Filter *

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

Чтобы выполнить запрос AD на конкретном контроллере домена, используйте опцию -Server. Чтобы вывести информацию по определённому пользователю, укажите его имя после опции -Identity:

Get-ADUser -Server ds.hackware.ru -Identity MiAl

Чтобы изменить атрибуты пользователя, используйте командлет Set-ADUser.

По умолчанию командлет Get-ADUser возвращает только 10 основных атрибутов пользователя (из более чем 120 свойств учётной записи пользователя): DistinguishedName, SamAccountName, Name, SID, UserPrincipalName, ObjectClass, статус учётной записи (Enabled: True/False в соответствии с атрибутом UserAccountControl AD) и так далее. В этом случае вывод командлета не содержит информации о времени последней смены пароля пользователя.

Чтобы отобразить подробную информацию обо всех доступных пользовательских атрибутах, выполните эту команду:

Get-ADUser -Identity MiAl -Properties *

Командлет Get-ADUser с опцией «-Properties *» отображает список всех пользовательских атрибутов AD и их значений.

Теперь мы перейдём к форматированию вывода Get-ADUser, чтобы отображались необходимые атрибуты пользователя. Вы можете отображать сразу несколько атрибутов пользователя:

  • PasswordExpired (Срок действия пароля истёк)
  • PasswordLastSet (Последний раз пароль установлен)
  • PasswordNeverExpires (Пароль никогда не истекает)
  • LastLogonTimestamp (Временная метка последнего входа)

Выполните команду:

Чтобы показать только выбранные атрибуты пользователя, выполните команду:

Get-ADUser MiAl -Properties PasswordExpired,PasswordLastSet,PasswordNeverExpires,lastlogontimestamp

Теперь в пользовательских данных есть информация о статусе учётной записи (Истёк ли срок действия пароля: True/False), дате последней смены пароля и времени последнего входа пользователя в домен. Чтобы отобразить эту информацию в более удобном табличном виде и удалить все ненужные атрибуты, используйте Select-Object -Property или Format-Table:

Get-ADUser -Filter * -Properties PasswordExpired,PasswordLastSet,PasswordNeverExpires | Format-Table Name,PasswordExpired,PasswordLastSet,PasswordNeverExpires

Подготовка системы

Если в нашей среде AD не один контроллер домена и мы не хотим удалять сам домен, а только один из его серверов со службой каталогов, стоит выполнить предварительные операции, чтобы минимизировать возможные проблемы.

Перенос ролей контроллера домена

Active Directory насчитывает 5 FSMO ролей, которые отвечают за корректную работу службы каталогов. Смотрим, на каких серверах запущены данные роли с помощью команд в Powershell:

Get-ADForest dmosk.local | ft DomainNamingMaster, SchemaMaster

Get-ADDomain dmosk.local | ft InfrastructureMaster, PDCEmulator, RIDMaster

* где dmosk.local — домен, для которого нужно узнать назначенные роли FSMO.

Если какие-то роли назначены на сервере, который планируется понизить, то необходимо с помощью команды типа:

Move-ADDirectoryServerOperationMasterRole <имя сервера, куда переносим> <название роли>

… передать роль.

Подробнее о передаче и захвате в инструкции Управление FSMO ролями Active Directory с помощью Powershell.

Проверка состояния AD

На любом из контроллеров домена вводим команду:

dcdiag /a /q

Данная команда запустит проверку состояния среды AD и выдаст ошибки, если такие будут

Необходимо обратить внимание на сообщения и, по возможности, решить проблемы

Навигация только по элементам

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

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

Поэтому давайте рассмотрим дополнительный набор ссылок, которые учитывают только узлы-элементы:

Эти ссылки похожи на те, что раньше, только в ряде мест стоит слово :

  • – коллекция детей, которые являются элементами.
  • , – первый и последний дочерний элемент.
  • , – соседи-элементы.
  • – родитель-элемент.

Зачем нужен ? Разве может родитель быть не элементом?

Свойство возвращает родитель-элемент, а возвращает «любого родителя». Обычно эти свойства одинаковы: они оба получают родителя.

За исключением :

Причина в том, что родителем корневого узла () является . Но – это не узел-элемент, так что вернёт его, а нет.

Эта деталь может быть полезна, если мы хотим пройти вверх по цепочке родителей от произвольного элемента к , но не до :

Изменим один из примеров выше: заменим на . Теперь цикл выводит только элементы:

Команда dig

Одна из основных команд Linux для работы с доменами — это dig (domain information groper). Утилита предоставляет возможность узнать о домене наиболее полную информацию, например, IP адрес, который привязан к данному доменному имени и еще ряд полезных для системного администратора параметров. Синтаксис команды dig следующий:

dig , где:

  • @cервер — указывает IP-адрес сервера DNS, если не указать этот параметр, то обращение идет к серверу DNS «по умолчанию»;
  • имя домена — указывает имя домена, о котором нужно получить информацию;
  • тип записи — тип записи DNS (А, MX, TXT, NS и т.д.);
  • флаги — с помощью флагов можно задать дополнительные опции утилиты dig.

Ниже укажем основные флаги утилиты dig:

  • +all — используется для вывода на экран или сокрытия всех установленных «по умолчанию» флагов;
  • +answer — необходима для отображения только ответа на запрос;
  • +short — выводит информацию о домене в сокращенном формате;
  • +identify — применяется совместно с флагом +short для отображения информации об IP-адресе сервера;
  • +comments — служит для вывода информации без комментариев;
  • +trace — используется для вывода списка DNS серверов, через которые идет запрос на получение данных о домене.

Дополнительно, могут быть использованы следующие опции для команды dig:

  • -4 — разрешает к использованию только IPv4;
  • -6 — разрешает к использованию только IPv6;
  • -x — служит для получения имени домена по его IP-адресу;
  • -f — предназначена, чтобы прочитать список доменов из файла;
  • -t — служит для обозначения типа записи, которую надо вывести на экран;
  • -p — показывает номер порта DNS сервера.

Мы показали только часто употребляемые флаги и опции команды dig, для получения полной информации по данному вопросу советуем воспользоваться командой:

man dig

Сейчас приведем практические примеры использования утилиты dig. Самый простой случай применения dig:

dig

Например, введем в терминале:

dig freehost.com.ua

Как понять результаты выполнения этой команды? Информация условно поделена на три секции:

  • секция HEADER — показывает текущую версию утилиты dig, ID запроса и т. д.;
  • секция QUESTION SECTION — выводит на экран текущий запрос;
  • секция ANSWER SECTION — отображает ответ на созданный запрос (в нашем запросе выводит IP домена).

Если вы хотите получить только основные данные по домену, то стоит задать сокращенный запрос следующей командой:

dig freehost.com.ua +short

При использовании флага +noall будет отключен вывод на экран информации всех трех секций:

dig freehost.com.ua +noall

Если вы хотите увидеть информацию только из секции ANSWER SECTION, то выполните следующую команду:

dig freehost.com.ua +noall +answer

При необходимости получить такого рода информацию по нескольким доменам сразу, советуем создать специальный файл sites.txt в редакторе nano и занести туда доменные имена нужных сайтов, например:

nano sites.txt
google.com
yandex.ru
freehost.com.ua

Далее следует выполнить команду в терминале:

dig -f sites.txt +noall +answer

Теперь попробуем получить определенные типы записей DNS (A, MX, NS, TXT и т.д.), для этого выполняем команду dig, применяя следующие флаги, например, для типа записи «почтовый сервер»:

dig freehost.com.ua MX

Или же, если мы хотим получить ответ только для третьей секции утилиты dig:

dig freehost.com.ua MX +noall +answer
dig freehost.com.ua NS +noall +answer
dig freehost.com.ua A +noall +answer
dig freehost.com.ua TXT +noall +answer
dig google.com ANY +noall +answer

Сейчас попробуем указать конкретный сервер в синтаксисе команды dig (без указания сервера, утилита использует информацию из файла /etc/resolv.conf). Приведем пример с публичным сервером google.com:

dig @8.8.8.8 google.com +noall +answer

Для решения обратной задачи — получения имени домена по IP-адресу, выполним команду dig с опцией -x:

dig -x 178.20.156.90
dig -x 178.20.156.90 +short

Попытаемся узнать, через какие DNS сервера идет запрос для получения информации о домене (команда трассировки в Linux):

dig +trace freehost.com.ua

Для вывода текущей версии утилиты dig воспользуемся опцией -v:

dig -v

Для проверки синхронизации зоны со всеми NS введем команду:

dig freehost.com.ua +nssearch

Атрибут UserPrincipalName

UserPrincipalName — атрибут является именем для входа пользователя. Атрибут состоит из имени участника-пользователя и UPN суффикса, является наиболее распространенным именем входа для пользователей Windows. Пользователи обычно используют свои UPN для входа в домен. Этот атрибут является индексированной строкой, которая имеет одно значение.

UPN — это имя для входа в Интернет-стиле для пользователя, основанное на стандарте Internet RFC 822. По соглашению это должно соответствовать имени электронной почты пользователя. Смысл UPN состоит в том, чтобы объединить пространства имен электронной почты и входа в систему, чтобы пользователю было необходимо запомнить только одно имя. Пример [email protected]

Особенности атрибута UserPrincipalName:

  • Значение атрибута UserPrincipalName может соответствовать электронной почте пользователя (и это очень удобно при переносе, настройках профиля и т.д.)
  • Формат идентификатора соответствует стандарту RFC 822
  • Максимальный размер значения UPN не ограничен 20 символами (можно использовать до 256 символов)
  • Атрибут UserPrincipalName, в отличие от samAccountName, является необязательным, но его рекомендуется заполнять.

Как узнать, доступно ли доменное имя

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

Ниже на скриншотах показано, как проходит проверка домена (занят он или свободен) у регистратора R01. На хостингах этот процесс проходит также:

1) Сначала надо пройти регистрацию, чтобы попасть в личный кабинет на хостинге или у регистратора доменов.

2) Затем в личном кабинете найти окно, где идет проверка и регистрация домена.

У регистратора доменных имен R01 в личном кабинете есть вкладка «Домены» и инструмент «Зарегистрировать домен», которые показаны на рисунке 2 ниже.

Рис. 2 (Клик для увеличения). Можно зарегистрировать домен у регистратора доменных имен R01.

Кликнув  по кнопке «Зарегистрировать домен», увидим поле для ввода имени домена. Вводим его (цифра 1 на рис. 3) и щелкаем «Далее» (2 на рис. 3).

Рис. 3 (Клик для увеличения). Ввод имени нового домена.

Конечно, домен «film.ru» давным-давно занят, о чем сообщает надпись на рис. 4:

Рис. 4 (Кликните для увеличения). Домен занят, надо ввести другое доменное имя.

Нажимаем кнопку «Назад» (рис. 4), вводим другое имя, получаем ответ. Так можно делать столько раз, сколько потребуется для того, чтобы система сообщила о том, что новый домен свободен. Тогда его можно оплатить и тем самым зарегистрировать.

Примерно также проходит подбор домена на хостинге sweb (рис. 5):

Рис. 5 (Клик для увеличения). Выбор домена на хостинге sweb.

Понадобится пройти регистрацию на хостинге. После этого можно получить доступ в личный кабинет и там подобрать домен. Вводим имя (1 на рис. 5), жмем «Далее» (2 на рисунке 5), получаем ответ (3 на рис. 5). В этом случае удаляем имя и вводим следующее. Повторяем процедуру до тех пор, пока появится сообщение о том, что домен свободен.

Постановка задачи

В компаниях, где есть техническая поддержка пользователей, ее инженеры очень часто подключаются удаленно к компьютерам сотрудников для устранения всевозможных проблем. Чаще всего используются программы TeamViewer, встроенный помощник Windows или Dameware. Но для того, чтобы подключиться вам необходимо знать имя компьютера. Понятно, что можно каждый раз просить пользователя посмотреть его либо в окне системы или же на рабочем столе, если у вас выводится информация с помощью BGinfo. Но проще и правильнее всегда эту информацию иметь в базе Active Directory.

Поэтому мы сделаем так, что при локальном входе в компьютер, информация, о его DNS-имени будет автоматически записана в нужное нам поле. Это удобно и можно легко эту информацию выдергивать в любую программу, которая умеет работать с Active Directory, например SCCM.

Необходимо с помощью VBS скрипта записывать имя компьютера на котором пользователь произвел локальный вход, но игнорировать подключения к удаленному рабочему столу, например на терминальные сервера.

Parameters

Pointer to a string that specifies the DNS or NetBIOS name of the remote server on which the function is to execute. If this parameter is NULL, the local computer is used.

Specifies the information level of the data. This parameter can be one of the following values.

Value Meaning
Return the names of users currently logged on to the workstation. The bufptr parameter points to an array of
WKSTA_USER_INFO_0 structures.
1
Return the names of the current users and the domains accessed by the workstation. The bufptr parameter points to an array of
WKSTA_USER_INFO_1 structures.

Pointer to the buffer that receives the data. The format of this data depends on the value of the level parameter. This buffer is allocated by the system and must be freed using the
NetApiBufferFree function. Note that you must free the buffer even if the function fails with ERROR_MORE_DATA.

Specifies the preferred maximum length of returned data, in bytes. If you specify MAX_PREFERRED_LENGTH, the function allocates the amount of memory required for the data. If you specify another value in this parameter, it can restrict the number of bytes that the function returns. If the buffer size is insufficient to hold all entries, the function returns ERROR_MORE_DATA. For more information, see
Network Management Function Buffers and
Network Management Function Buffer Lengths.

Pointer to a value that receives the count of elements actually enumerated.

Pointer to a value that receives the total number of entries that could have been enumerated from the current resume position. Note that applications should consider this value only as a hint.

Pointer to a value that contains a resume handle which is used to continue an existing search. The handle should be zero on the first call and left unchanged for subsequent calls. If this parameter is NULL, no resume handle is stored.

Использование Get-ADUser с фильтрацией по атрибутам

Используя опцию -Filter, вы можете фильтровать список учётных записей пользователей по одному или нескольким атрибутам. В качестве аргументов этого параметра можно указать значение определённых атрибутов пользователей Active Directory. Если вы используете параметр -Filter, командлет Get-ADUser будет перечислять только тех пользователей, которые соответствуют критериям фильтра.

Например, я хочу перечислить активные (Enabled) учётные записи пользователей, имя которых содержит «Dmitry» (в приведённом ниже примере используется несколько фильтров; вы можете комбинировать условия, используя стандартные логические операторы сравнения PowerShell):

Get-AdUser -Filter "(Name -like '*Dmitry*') -and (Enabled -eq 'True')" -Properties * | Select-Object name,enabled

Кроме того, вы можете отсортировать полученный список пользователей по определённому атрибуту пользователя (столбцу) с помощью командлета Sort-Object. Вы также можете использовать командлет Where-Object для одновременного указания нескольких критериев фильтрации.

Get-ADUser -Filter * -properties PasswordExpired,PasswordLastSet,PasswordNeverExpires -SearchBase 'OU=NY,DC=hackware,DC=ru'| Where-Object {$_.name –like "*Dmitry*" -and $_.Enabled -eq $true} | Sort-Object PasswordLastSet | Select-Object Name,PasswordExpired,PasswordLastSet,PasswordNeverExpires

Таким образом, вы можете составить таблицу с любыми необходимыми атрибутами пользователей Active Directory.

Удаление роли AD DS

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

Графика

В диспетчере серверов кликаем снова по Управление — Удалить роли и компоненты:

Среди серверов выбираем тот, на котором будем удалять роль:

* сервер может быть только один. Тогда выбираем его.

Снимаем галочку Доменные службы Active Directory, в открывшемся окне кликаем по Удалить компоненты:

Галочка для доменных служб будет снята:

… кликаем по Далее несколько раз.

В последнем окне ставим галочку Автоматический перезапуск конечного сервера, если требуется и подтверждаем действие ответом Да:

Роль будет удалена, а сервер отправлен в перезагрузку.

Powershell

Запускаем Powershell от администратора и вводим:

Remove-WindowsFeature -Name AD-Domain-Services

Роль контроллера будет удалена. Мы должны увидеть сообщение:

ПРЕДУПРЕЖДЕНИЕ: Чтобы завершить удаление, вам необходимо перезапустить этот сервер.

Перезагружаем сервер:

shutdown -r -t 0

Команда WHOAMI

Есть еще одна команда для определения свойств УЗ текущего пользователя, это команда WHOAMI

Три способа выполнения WhoAmI:

Синтаксис 1:
WHOAMI [/UPN | /FQDN | /LOGONID]

Синтаксис 2:
WHOAMI { }

Синтаксис 3:
WHOAMI /ALL

Описание:
Эту программу можно использовать для получения сведений об имени
пользователя и группе
, а также о соответствующих идентификаторах
безопасности (SID), утверждениях, привилегиях, идентификаторе входа
текущего пользователя на локальном компьютере, т. е. для
определения текущего пользователя. Если параметр не указан, имя
пользователя отображается в формате NTLM (домен\пользователь).

Параметры:
/UPN Отображение имени пользователя в формате
имени участника-пользователя (UPN).

/FQDN Отображение имени пользователя в формате
полного доменного имени (FQDN).

/USER Отображение сведений о текущем пользователе
вместе с идентификатором безопасности (SID).

/GROUPS Отображение для текущего пользователя членства
в группах, типа учетной записи, идентификаторов
безопасности (SID) и атрибутов.

/CLAIMS Отображение требований для текущего пользователя,
включая имя требования, флаги, тип и значения.

/PRIV Отображение привилегий безопасности текущего
пользователя.

/LOGONID Отображение идентификатора входа текущего
пользователя.

/ALL Отображение имени пользователя, членства
в группах, идентификаторов безопасности
(SID), утверждений и привилегий для
маркера входа текущего пользователя.

/FO <формат> Формат вывода.
Допустимые значения: TABLE, LIST, CSV.
Заголовки столбцов в формате CSV
не отображаются. Формат по умолчанию: TABLE.

/NH Строка заголовков столбцов
не отображается при выводе. Действительно
только для форматов TABLE и CSV.

/? Вывод справки по использованию.

Примеры использования WHOAMI:

WHOAMI — отобразить имя текущего пользователя в формате «домен\имя»

WHOAM /UPN — отобразить имя текущего пользователя в формате «имя@домен»

WHOAM /FQDN — отобразить имя текущего пользователя в формате полного доменного имени (FQDN).

WHOAMI /LOGONID — отобразить идентификатор текущего пользователя.

WHOAMI /USER — отобразить имя и SID текущего пользователя.

WHOAMI /USER /FO LIST — то же, что и в предыдущем случае, но с выводом данных в виде списка.

WHOAMI /GROUPS — отобразить список групп, членом которых является текущий пользователь.

WHOAMI /GROUPS /FO CSV — то же, что и в предыдущем случае, но с выводом результатов в виде полей, разделяемых запятой.

WHOAMI /GROUPS /FO CSV > C:\MyGroups.csv — то же, что и в предыдущем примере, но с выводом результатов в файл C:\MyGroups.csv.

WHOAMI /PRIV — отобразить список привилегий текущего пользователя.

WHOAMI /PRIV /FO TABLE — то же, что и в предыдущем примере, но с отображением результатов в виде таблицы.

WHOAMI /ALL — отобразить информацию о SID текущего пользователя, принадлежности к группам и перечень привилегий.

При подготовке этой шпаргалки использовались материалы:

Как переименовать администратора домена и изменить формат выводимого имени пользователя

Переименование администратора домена

1. Нажимаем «Пуск» — «Диспетчер серверов».

2. В следующем окне выбираем «Средства», далее «Пользователи и компьютеры Active Directory».

3. Выбираем пользователя «Администратор», правой клавишей мыши — «Переименовать».

4. Переименовываем администратора домена, далее читаем предупреждение о том, что объект Администратор представляет текущего пользователя, который сейчас находится в системе. Для того, чтобы избежать различных конфликтов доступа, после переименования данного объекта необходимо выйти из системы и войти в нее заново с новым именем. Нажимаем «Да».

5. В новом окне задаем «Имя входа пользователя», далее «ОК».

6. После переименования администратора домена изменим описание этого пользователя. Для этого нажимаем правой клавишей мыши на переименованного администратора домена, далее «Свойства».

7. На вкладке «Общие» в «Описание» удаляем старое описание, добавляем новое, например «Служебный пользователь». Далее «ОК».

8. Далее выходим из системы или перезагружаем сервер. Производим вход под новым именем администратора домена.

9. В «Active Directory — пользователи и компьютеры» проверяем переименованного администратора.

Изменение формата выводимого имени пользователя

При добавлении нового пользователя в домене «Полное имя» добавляется и выводится в формате «Имя-Отчество-Фамилия». Это неудобно, но возможно изменить.

1. Нажимаем «Пуск» — «Средства администрирования Windows».

2. В новом окне выбираем «Редактирование ADSI».

3. В следующем окне — «Действие» — «Подключение к…»

4. Изменяем «Выберите известный контекст именования:» на «Конфигурация». Далее «ОК».

5. Открываем конфигурацию сервера — «CN=DisplaySpecifiers» — «CN=419». В правом окне выбираем «CN=user-Display».

6. В новом окне выбираем «createDialog».

7. Задаем значение: «%<sn> %<givenName>». Далее «ОК».

8. После несложных манипуляций при добавлении нового пользователя формат выводимого имени будет удобным — «Фамилия-Имя-Отчество».

Посмотреть видео, как переименовать администратора домена, изменить формат выводимого имени, можно здесь:

https://youtube.com/watch?v=2Wn5lg-pxvs

Windows server 2019 — установка и настройка WSUS, создание и настройка GPO
Windows server 2019 — добавление и удаление компьютера в домене
Windows server 2019 — установка и настройка Active Directory, DNS, DHCP 
Windows server 2019 — создание и удаление пользователя, группы, подразделения в домене
Windows server 2019 — установка и настройка сервера печати, разворачивание МФУ с помощью GPO 
Windows server 2019 — GPO изменение экранной заставки, отключение монитора, изменение политики паролей
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: