Как узнать имя компьютера пользователя в домене?
пользователя 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

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

Вариант 1: Локальное доменное имя
У любого современного компьютера есть два типа доменного имени — локальное и сетевое. Начнем с первого варианта. Узнать нужную информацию можно двумя способами.
Способ 1: «Параметры»
Доменное имя компьютера можно посмотреть в специальном меню системных «Параметров», там же есть возможность отредактировать эти данные.

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

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

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

- Воспользуйтесь навигацией на боковой панели слева, чтобы перейти во вкладку «Ethernet». Далее в одноименном блоке кликните по текущей сети, важно чтобы соединение с интернетом было установлено.

- Пролистайте открывшуюся страницу до самого низа и в блоке «Свойства» обратите внимание на строку «Основной DNS-суффикс», именно напротив нее и будет находиться сетевое доменное имя компьютера.
Обратите внимание! В отличие от локального домена, отредактировать сетевое имя компьютера нельзя. Его устанавливает провайдер и только он может внести изменения.
«Панель управления»
Аналогичную информацию можно узнать в специальном меню «Панели управления», но для этого необходимо обязательно быть подключенным к интернету, в противном случае полезных данных там находиться не будет.

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

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

Примечание! Стоит отметить, что суффиксы локальной сети и сети интернет не всегда совпадают, как это можно было заметить на продемонстрированных в статье изображениях.
Get-ADComputer: получить информацию о компьютерах Active Directory через PowerShell
05.10.2022
itpro
PowerShell
комментариев 57
Для получения различной информации об учетных записях компьютера (серверах и рабочих станциях) в домене Active Directory можно использовать PowerShell командлет Get-ADComputer. Это один из наиболее полезных командлетов для выборки и поиска компьютеров по разным критериям в домене AD
Допустим, ваша задача – найти в Active Directory все неактивные компьютеры, которые не регистрировались в домене более 120 дней и заблокировать учетные записи этих компьютеров.
Прежде чем приступить к работе с командлетом Get-ADComputer, необходимо установить и импортировать модуль Active Directory Module для Windows PowerShell.

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

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

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

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

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 -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
Таким образом, мы получили список неактивных компьютеров, которые не регистрировались в домене более 120 дней. С помощью командлета Set-ADComputer или Disable-ADAccount вы можете отключить эти учетные записи.
Get-ADComputer -Properties LastLogonDate -Filter
Теперь можно заблокировать все найденные учетные записи компьютеров:
Get-ADComputer -Properties LastLogonDate -Filter
Использование фильтров в Get-ADComputer
С помощью аргумента -Filter командлета Get-ADComputer вы можете выбрать несколько компьютеров Active Directory по определенным критериями. Здесь можно использовать подстановочные знаки (wildcards) и логические операторы сравнения. В качестве фильтров можно использовать только базовые атрибуты компьютера.
Получить общее количество активных (незаблокированных) компьютеров в Active Directory:
Вы можете использовать множественные фильтры для поиска компьютеров по нескольким параметрам сразу. Для этого используются логические операторы сравнения PowerShell (-and, -eq , -ne , -gt , -ge , -lt , -le , -like , -notlike , -and , -or , и т.д.).
Посчитать количество серверов с Windows Server в домене:

Получить список компьютеров в определенном OU, имена которых начинаются с BuhPC:
Get-ADComputer -Filter
При поиске по 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.

Полезные примеры использования командлета 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

Можно удалено получить различную информацию с компьютеров 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
Как узнать имя компьютера в домене
Добрый день! Уважаемые читатели и гости одного из крупнейших 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 возвращают, соответственно, имя компьютера, имя домена и имя текущего пользователя. Очень удобно:
- для протоколирования выполнения скрипта — записывается информация о том, на каком компьютере произошло то или иное событие;
- для выполнения каких-либо действий только на том компьютере или только с тем пользователем, который указан в нашем списке (при помощи утилит Resource Kit можно основываться и на членстве пользователей в группах).
- Кроме того, можно просто отображать полученную информацию — например, на 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. Кликаем по нему правым кликом и из контекстного меню выбираем пункт «Создать объект групповой политики в этом домене и связать его».

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

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

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

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

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

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

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

Скрипт 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