Перейти к содержимому

Как узнать имя компьютера в домене

  • автор:

Как узнать имя компьютера пользователя в домене?

пользователя Account Domain: domain.com Logon ID: 0x1486C75E Linked Logon ID: 0x0 Network Account Name: — Network Account Domain: — Logon GUID: .

Как узнать имя компьютера в домене?

Найдите на своём компьютере «Этот компьютер». Нажмите на правую кнопку мыши и выберите «Свойства». Там в блоке «Имя компьютера, имя домена и параметры рабочей группы» будет написан домен.

Как посмотреть пользователей в AD?

Найдите нужного пользователя в дереве AD вручную или с помощью поиска; Откройте свойства пользователя и перейдите на вкладку Object; Дата создания объекта в Active Directory указана в поле Created.

Как узнать имя компьютера пользователя в домене? Ответы пользователей

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

Если клиент уже подключился к серверу терминалов, то ещё проще: диспетчер служб терминалов — ветка «Этот компьютер» — — .

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

Назовите имя компьютера… . Групповая политика, в которой прописаны логон- и логофф-скрипты для пользователей, применяется ко всему домену, .

Как узнать и изменить имя пользователя. Windows. Когда система предлагает ввести пароль (если он установлен), сменить пользователя . Узнать логин можно также, .

Там в блоке «Имя компьютера, имя домена и параметры рабочей группы» будет написан домен. Пример: huntflow. Как определить имя пользователя компьютера. Зайдите .

Как узнать время входа пользователя в домен?

Нажимаем комбинацию клавиш Win + R, после чего впечатываем в открывшемся окошке msinfo32. Будет открыто окно с полной информацией о вашей системе. В строке «Имя .

Для этого дела у меня есть два небольших скрипта: Скрипт № 1: получение имени пользователя работающего на компьютере в домене strComputer .

Просмотр доменного имени компьютера в Windows 10

как узнать домен компьютера на windows 10

Обратите внимание! Зачастую при поиске доменного имени компьютера пользователи ищут и другую подобную информацию, такую как серийный номер устройства и его IP-адрес. При необходимости можете воспользоваться ссылками ниже, чтобы перейти на соответствующие статьи по этим темам.

Подробнее: Как узнать серийный номер / IP-адрес компьютера в Windows 10

как узнать домен компьютера на windows 10_01

Вариант 1: Локальное доменное имя

У любого современного компьютера есть два типа доменного имени — локальное и сетевое. Начнем с первого варианта. Узнать нужную информацию можно двумя способами.

Способ 1: «Параметры»

Доменное имя компьютера можно посмотреть в специальном меню системных «Параметров», там же есть возможность отредактировать эти данные.

как узнать домен компьютера на windows 10_02

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

Способ 2: «Командная строка»

Если редактировать имя не нужно, будет намного быстрее посмотреть его с помощью «Командной строки». Проще всего ее открыть через системный поиск или вызов контекстного меню кнопки «Пуск» (щелкните по ней правой кнопкой мыши, а затем выберите соответствующий пункт).

как узнать домен компьютера на windows 10_09

В открывшемся окне консоли введите указанную ниже команду и нажмите по клавише Enter для ее выполнения:

Сразу после этого отобразится список всех характеристик сети. Искомая информация находится в блоке «Настройка протокола IP для Windows» и расположена сразу после строк «Имя компьютера» и «Основной DNS-суффикс». Соответственно, чтобы получить полный адрес, необходимо эту информацию объединить через точку. Беря за основу пример на скриншоте ниже, он будет следующим:

как узнать домен компьютера на windows 10_10

Вариант 2: Сетевое доменное имя

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

Способ 1: «Свойства сети»

Если вводить команды в консоли не хочется, доменное имя можно узнать в меню «Параметров» системы или через специальный раздел «Панели управления». Далее эти методы будут рассмотрены по отдельности.

«Параметры»

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

  1. Откройте окно параметров любым доступным способом. Сделать это можно озвученным ранее методом или воспользовавшись сочетанием клавиш Win + I. После появления соответствующего окна перейдите в раздел «Сеть и интернет». как узнать домен компьютера на windows 10_11
  2. Воспользуйтесь навигацией на боковой панели слева, чтобы перейти во вкладку «Ethernet». Далее в одноименном блоке кликните по текущей сети, важно чтобы соединение с интернетом было установлено. как узнать домен компьютера на windows 10_12
  3. Пролистайте открывшуюся страницу до самого низа и в блоке «Свойства» обратите внимание на строку «Основной DNS-суффикс», именно напротив нее и будет находиться сетевое доменное имя компьютера. как узнать домен компьютера на windows 10_13

Обратите внимание! В отличие от локального домена, отредактировать сетевое имя компьютера нельзя. Его устанавливает провайдер и только он может внести изменения.

«Панель управления»

Аналогичную информацию можно узнать в специальном меню «Панели управления», но для этого необходимо обязательно быть подключенным к интернету, в противном случае полезных данных там находиться не будет.

как узнать домен компьютера на windows 10_14

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

Способ 2: «Командная строка»

Посмотреть сетевое доменное имя, как и локальное, можно в окне «Командной строки», для этого используется уже упомянутый ранее запрос. Первостепенно откройте консоль, воспользовавшись озвученным выше или любым другим удобным для вас способом.

как узнать домен компьютера на windows 10_21

Впишите приведенную ниже команду, после чего нажмите по клавише Enter, чтобы ее выполнить.

В результатах выдачи обратите внимание на блок параметров «Адаптер Ethernet <имя_соединения>». Нужная информация будет располагаться напротив строки «DNS-суффикс подключения», как это показано на изображении ниже.

как узнать домен компьютера на windows 10_22

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

Get-ADComputer: получить информацию о компьютерах Active Directory через PowerShell

date05.10.2022
useritpro
directoryPowerShell
commentsкомментариев 57

Для получения различной информации об учетных записях компьютера (серверах и рабочих станциях) в домене Active Directory можно использовать PowerShell командлет Get-ADComputer. Это один из наиболее полезных командлетов для выборки и поиска компьютеров по разным критериям в домене AD

Допустим, ваша задача – найти в Active Directory все неактивные компьютеры, которые не регистрировались в домене более 120 дней и заблокировать учетные записи этих компьютеров.

Прежде чем приступить к работе с командлетом Get-ADComputer, необходимо установить и импортировать модуль Active Directory Module для Windows PowerShell.

Модуль Active Directory для Windows PowerShell

Вывести атрибуты компьютера с помощью Get-ADComputer

Справка о параметрах командлета Get-ADComputer вызывается стандартно с помощью Get-Help:

синтаксис командлета Get-ADComputer

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

Get-ADComputer -Identity SRV-DB01

get-adcomputer identity вывести базовую информацию о компьютере в домене Active Directory

Командлет вернул только базовые свойства объекта Computer из AD . Нас интересует время последней регистрации компьютера в домене AD, но этой информация в выводе команды нет. Выведем все доступные свойства (атрибуты) данного компьютера из Active Directory:

get-adcomputer вывести все свойства компьютера в AD

Get-ADComputer -Identity SRV-DB01 -Properties *

Этот список атрибутов компьютера также доступен в графической консоли Active Directory Users and Computers ( dsa.msc ) на вкладке редактора атрибутов.

список атрибутов компьютера в консоли ADUC

Get-ADComputer -Filter * -Properties * | Get-Member

Как вы видите, время последнего входа данного компьютера в сеть указано в атрибуте компьютера LastLogonDate – 6/2/2022 3:59:30 AM.

Командлет Get-ADComputer позволяет вывести в результатах команды любые из свойств компьютера. Уберем всю лишнюю информацию, оставив в выводе только значения атрибутов Name и LastLogonDate.

Get-ADComputer -identity SRV-DB01 -Properties * | FT Name, LastLogonDate -Autosize

Итак, мы получили данные о последнем времени регистрации в домене для одного компьютера. Теперь нам нужно изменить команду так, чтобы она возвращала информацию о времени последней регистрации в сети для всех компьютеров домена. Для этого заменим параметр –Identity на —Filter:

get-adcomputer вывести врямя посленей загрузки для всех компьютеров

Get-ADComputer -Filter * -Properties * | FT Name, LastLogonDate -Autosize

Мы получили таблицу, которая содержит только 2 поля: имя компьютера и дата LastLogonData. Вы можете добавить в эту таблицу другие поля объекта Computer из AD. Чтобы вывести данные о компьютерах в определенном контейнере домена (OU), воспользуйтесь параметром SearchBase:
Get-ADComputer -SearchBase ‘OU=Moscow,DC=winitpro,DC=loc’ -Filter * -Properties * | FT Name, LastLogonDate -Autosize

Отсортируем результаты запроса по времени последнего логина в сеть (поле LastLogonDate) с помощью команды Sort:

Get-ADComputer -Filter * -Properties * | Sort LastLogonDate | FT Name, LastLogonDate -Autosize

Итак, мы получили список компьютеров домена и время их последнего входа в сеть Active Directory. Теперь мы хотим заблокировать учетные записи компьютеров, которые не использовались более 120 дней.

С помощью Get-Date получим в переменной значение текущей даты и вычтем из текущей даты 120 дней:

Полученную переменную с датой можно использовать в качестве фильтра запроса Get-ADComputer по полю LastLogonDate

Get-ADComputer -Properties LastLogonDate -Filter | Sort LastLogonDate | FT Name, LastLogonDate -Autosize

Таким образом, мы получили список неактивных компьютеров, которые не регистрировались в домене более 120 дней. С помощью командлета Set-ADComputer или Disable-ADAccount вы можете отключить эти учетные записи.

Get-ADComputer -Properties LastLogonDate -Filter | Set-ADComputer -Enabled $false -whatif

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

Get-ADComputer -Properties LastLogonDate -Filter | Set-ADComputer -Enabled $false

Использование фильтров в Get-ADComputer

С помощью аргумента -Filter командлета Get-ADComputer вы можете выбрать несколько компьютеров Active Directory по определенным критериями. Здесь можно использовать подстановочные знаки (wildcards) и логические операторы сравнения. В качестве фильтров можно использовать только базовые атрибуты компьютера.

Получить общее количество активных (незаблокированных) компьютеров в Active Directory:

Вы можете использовать множественные фильтры для поиска компьютеров по нескольким параметрам сразу. Для этого используются логические операторы сравнения PowerShell (-and, -eq , -ne , -gt , -ge , -lt , -le , -like , -notlike , -and , -or , и т.д.).

Посчитать количество серверов с Windows Server в домене:

посчитать количество компьютеров и серверов в AD

Получить список компьютеров в определенном OU, имена которых начинаются с BuhPC:

Get-ADComputer -Filter -SearchBase ‘OU=Moscow,DC=winitpro,DC=loc’ -Properties IPv4Address | Format-table Name,DNSHostName,IPv4Address | ft -Wrap –Auto

При поиске по OU вы можете использовать дополнительный параметр -SearchScope 1, который означает, что нужно искать только в корневом разделе. Параметр -SearchScope 2 означает рекурсивный поиск компьютеров во всех вложенных OU.

Выбрать все рабочие станции с ОС Windows 10:

Получить список серверов в домене с версией ОС, IP адресом и установленным Service Pack:
Get-ADComputer -Filter ‘operatingsystem -like «*Windows server*» -and enabled -eq «true»‘ -Properties Name,Operatingsystem, OperatingSystemVersion, OperatingSystemServicePack,IPv4Address | Sort-Object -Property Operatingsystem | Select-Object -Property Name,Operatingsystem, OperatingSystemVersion, OperatingSystemServicePack, IPv4Address| ft -Wrap –Auto

На выходе получили такую красивую таблицу со списком Windows Server в AD.

вывести версии windowsи ip адреса в домене с помощью powershell

Полезные примеры использования командлета Get-ADComputer

Ниже представлены еще несколько полезных примеров команд с использованием командлета Get-ADComputer, которые можно использовать для выборки и поиска компьютеров домена по определенными критериям.
Атрибут -LDAPFilter позволяет использовать в качестве параметра командлета Get-ADComputer различные LDAP запросы, например:

Get-ADComputer -LDAPFilter «(name=*db*)»|ft

Выбрать заблокированные компьютеры в определенном OU:

Get-ADComputer -filter * -SearchBase ‘OU=Computers, dc=winitpro,dc=loc’ | Where-Object

Чтобы удалить все аккаунты компьютеров в домене, не авторизовавшиеся в домене более 6 месяцев, можете воспользоваться командой:

get-adcomputer -properties lastLogonDate -filter * | where < $_.lastLogonDate -lt (get-date).addmonths(-6) >| Remove-ADComputer

Вывести время последней смены пароля компьютера в Active Directory. По умолчанию пароль должен меняться компьютером автоматически раз в 30 дней, если пароль компьютера не совпадает с паролем в AD, доверительные отношения компьютера с доменом будут нарушены:

Get-ADComputer –Identity pc123456 -Properties PasswordLastSet

Результат выполнения команды Get-ADComputer можно выгрузить в текстовый файл:

Get-ADComputer -Filter < OperatingSystem -Like '*Windows Server 2019*' >-Properties OperatingSystem | Select DNSHostName, OperatingSystem | Format-Table -AutoSize C:\Script\server_system.txt

Также вы можете получить выборку компьютеров и экспортировать его в CSV файл:

Get-ADComputer -Filter * -Property * | Select-Object Name,OperatingSystem,OperatingSystemServicePack | Export-CSV All-Windows.csv -NoTypeInformation -Encoding UTF8

Или получить HTML файл отчета со списком компьютеров и нужных атрибутов компьютера:

Get-ADComputer -Filter -Properties * | Select-Object Name,OperatingSystem | ConvertTo-Html | Out-File C:\ps\ad_computer.html

html отчеи по компьютерам в домене active directory

Можно удалено получить различную информацию с компьютеров AD через WMI (или CIM). Например, вывести серийные номера всех серверов в домене:

Get-ADComputer -Filter ‘operatingsystem -like «*Windows server*» -and enabled -eq «true»‘ | Select-Object Name | Foreach-Object

Чтобы выполнить определенной действие со всеми компьютерами из полученного списка нужно использовать цикл Foreach. В этом примере мы хотим получить список серверов в домене с моделью и производителем:

$Computers = Get-ADComputer -Filter
Foreach ($Computer in $Computers)
<
$Hostname = $Computer.Name
$ComputerInfo = (Get-WmiObject -Computername $Hostname Win32_ComputerSystem)
$Manufacturer = $Computer.Manufacturer
$Model = $Computer.Model
Write-Host «Name: $Hostname»
Write-Host «Manufacturer: $Manufacturer»
Write-Host «Model: $Model»
Write-Host » «
$Content = «$Hostname;$Manufacturer;$Model»
Add-Content -Value $Content -Path «C:\PS\ServersInfo.txt»
>

Либо можно использовать более короткий синтаксис цикла. Допустим нам нужно выполнить определенную команду на всех компьютерах в определенном OU. В этом примере мы с помощью Invoke-Command выполним на всех серверах команду обновления настроек групповых политик:

С помощью Get-ADComputer и логон скриптов PowerShell вы можете контролировать различные параметры компьютера или хранить различную полезную информацию в атрибутах компьютера в AD (можно например добавить имя пользователя в описание компьютера).

Я, например, контролирую состояние агента SCCM на компьютерах пользователей. При загрузке каждого компьютера на нем отрабатывает логон скрипт, который с помощью Set-ADComputer сохраняет состояние службы ccmexec в свободный атрибут компьютера — extensionAttribute10.

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

get-adcomputer -filter -SearchBase “OU=Computers,OU=MSK,DC=winitpro,DC=ru” -properties dNSHostName,extensionAttribute10,LastLogonDate |select-object dNSHostName,extensionAttribute10,LastLogonDate

Как узнать имя компьютера в домене

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в России Pyatilistnik.org. В прошлый раз мы с вами производили поиск неактивных пользователей в домене. Сегодня мы сделаем еще одну полезную вещь для нашего AD, а именно научимся автоматически определять DNS-имя компьютера на котором локально залогинен пользователь и заносить эту информацию в атрибут Active Directory у пользовательской учетной записи.

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

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

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

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

Реализация задачи

Делать мы все будет с помощью вот такого простенького скрипта.

Set objSysInfo = CreateObject(«ADSystemInfo»)

Set objUser = GetObject(«LDAP://» & strUserDN)

objUser.Put «Pager», WshNetwork.ComputerName

Давайте с вами пробежимся по каждой из строчек кода.

  • Set WshNetwork = WScript.CreateObject(«WScript.Network») — это объект VBSScript позволяет получать информацию по трем свойствам имя компьютера ComputerName, имя пользователя UserNam, имя домена UserDomain и методы MapNetworkDrive(), AddPrinterConnection(), SetDefaultPrinter(). Объект WScript. Network очень часто используется в WSH. У созданного объекта — всего три свойства и восемь методов, но они могут оказаться очень полезными. Свойства ComputerName , UserDomain и UserName возвращают, соответственно, имя компьютера, имя домена и имя текущего пользователя. Очень удобно:
  1. для протоколирования выполнения скрипта — записывается информация о том, на каком компьютере произошло то или иное событие;
  2. для выполнения каких-либо действий только на том компьютере или только с тем пользователем, который указан в нашем списке (при помощи утилит Resource Kit можно основываться и на членстве пользователей в группах).
  3. Кроме того, можно просто отображать полученную информацию — например, на Web -странице, которая используется в качестве обоев для пользователя.
  • Set objSysInfo = CreateObject(«ADSystemInfo») — создание экземпляра объекта ADSystemInfo. Это невероятно полезный объект, который может возвращать всевозможную информацию о вошедшем в систему пользователе и локальном компьютере. Единственным недостатком этого объекта является тот факт, что он может быть создан только локально: вы не можете создать экземпляр ADSystemInfo на удаленном компьютере, а затем получить информацию о пользователе, вошедшем в систему на этом компьютере.
  • strUserDN = objSysInfo.UserName — получаем значение свойства strUserDN и сохраняем его в переменной с именем strUser
  • Set objUser = GetObject(«LDAP://» & strUserDN) — используем эту переменную как часть вызова GetObject, который связывает нас с учетной записью пользователя.
  • objUser.Put «Pager», WshNetwork.ComputerName — изменение атрибута с помощью метода Put. В моем случае, это атрибут пейджер
  • objUser.SetInfo — подтверждаем изменения в каталоге методом SetInfo

Вы вместо атрибута «Pager» можете подставлять любой, посмотреть атрибуты можно через редактор в Active Directory. Далее создаете текстовый документ и сохраняете его с расширением vbs.

Создание политики во время входа в систему

Файл со скриптом у меня готов. Открываем оснастку «Управление групповой политикой». Выбираем нужное организационное подразделение к которому мы будем применять политику, в моем случае, это контейнер «Users», поэтому политику я буду применять на самый корень домена root.pyatilistnik.org. Кликаем по нему правым кликом и из контекстного меню выбираем пункт «Создать объект групповой политики в этом домене и связать его».

Создаем политику для запуска скрипта при логине пользователя

Задаем имя для нашей политики.

Узнать компьютер пользователя в AD-02

Далее нам необходимо изменить и настроить нашу политику. Для этого щелкаем по ней правым кликом и выбираем «Изменить».

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

Переходим по пути:

У вас откроется окно с вкладкой «Сценарии» и «Сценарии PowerShell». Нас будет интересовать первая вкладка, нажимаем кнопку «Добавить».

Узнать компьютер пользователя в AD-04

Через кнопку «Обзор» вам нужно будет выбрать ваш файл vbs. Я вам советую его скопировать в сетевую папку с политикой, либо в сетевую шару, где файл будет доступен для всех.

выбор vbs скрипта для входа пользователя на компьютер

В итоге у вас должно появиться вот так, если скриптов более одного, то можно выставлять их позиции при применении. Начинаем тестирование. У меня есть тестовая учетная запись Барбоскина Геннадия, в оснастке ADUC она у меня лежит в контейнере «Users». Поле пейджер пустое.

Тестовый пользователь в оснастке ADUC

Пробуем залогиниться Геннадием на рабочей станции с Windows 10 с именем W10-CL01. После входа на компьютер, проверяем свойство «Пейджер» у данного пользователя. Как видим, все прописалось.

Узнать компьютер пользователя в AD-07

Пробуем подключиться к еще одному компьютеру с Windows 10 под именем W10-CL02. Видим, что атрибут в AD изменил свое значение на имя второго компьютера.

Узнать компьютер пользователя в AD-08

Скрипт PowerShell для записи имени системы куда был последний вход

Все то же самое можно сделать и на PowerShell, и как показала практика данный скрипт работает на более современных версиях Windows 10 и Windows 11 без проблем, да и вообще он более современный, его так же можно применять в автозагрузке с помощью групповой политики.

$computername = «$((Get-WmiObject Win32_ComputerSystem).Name).$((Get-WmiObject Win32_ComputerSystem).Domain)»
$username = «$($env:USERDOMAIN)\$($env:USERNAME)»

«$(Date) Trying to set user $username Pager attribute value to $computername» | Tee-Object $log -Append

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *