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

от admin

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

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

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

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

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

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

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

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

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

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

Многие не шли далеко и не мудрили, используя общедоступные для записи, например параметр «Веб страница» пользователя по-умолчанию доступен для записи самим собой. Однако мне эта идея не понравилась, хотелось создать специализированный атрибут для пользователя, который не имел бы двойного назначения и не требовал компромисса. А то кто знает, как в будущем сложится ситуация и потребует использование этого атрибута, а он уже занят…
Итак, для того, чтобы создать новый атрибут в схеме нужно сначала добавить оснастку. На компьютере с установленным пакетом удаленного администрирования, либо на контроллере домена, нужно запустить с правами локального администратора regsvr32 schmmgmt.dll. Сложно сказать почему эта оснастка по-умолчанию не зарегистрирована, видимо чтобы по незнанию не напортачили. Но тем не менее мы ее можем добавить, зарегистрировав DLL. После этого открываем оснастку Схема Active Directory и идем в раздел Attributes. Создаем новый атрибут. Тут, конечно, я должен предупредить, что атрибуты это не место для экспериментов и создаются они один раз и навсегда, удалить атрибут или переименовать невозможно. Это предупреждение есть во всех местах, где имеет место добавление атрибута, но все же 🙂 Для добавления нового атрибута также потребуются права Администратора схемы. Если ваш административный пользователь имеет права Администратор предприятия, то это больше, чем достаточно.
Для добавления нового атрибута потребуется ввести OID. Это уникальный идентификатор объекта. Почитать про него можно в гугле, углубляться не буду, но скажу что он должен быть уникальный. Пересечение OID недопустимо и если его вбить любым, то есть вероятность, что будут нерешаемые проблемы в будущем. OID обычно начинается с 1.2.840.113556 и далее циферки. Я особенно не заморачивался и т.к. третье число (840) это код страны, а четвертое это код компании (Microsoft), я ввел код несуществующей страны 800 и сгенерировал 2 случайных числа через точку. Список стран можно посмотреть здесь. На самом деле, по хорошему, в этом случае необходимо обратиться в ITU-T и запросить уникальный OID, но мне ответ так и не пришел и я не стал залезать в бутылку и создал на основе случайных чисел. Потом я нашел скрипт, который генерирует относительно уникальный идентификатор, но было уже поздно :))
image
В общем, с OID решили. Дальше нам нужно указать syntax атрибута. В моей конфигурации это Unicode String. Также, конечно, нужно имя атрибута. В этом примере я буду использовать имя LabelComputer, в рабочей конфигурации лучше придумать что-нибудь получше.
После того как мы создали атрибут, нам нужно его добавить в класс. Выбираем класс user и в закладе Attributes добавляем наш новый атрибут. Теперь пользователь с нужными правами будет иметь право записывать этот атрибут в пользователе. По-умолчанию эти правом владеет Account operator или выше. Но нас интересует ситуация, когда пользователь сам бы мог редактировать этот атрибут. Для подобных целей существует пользователь с именем SELF, который олицетворяем самого себя. Нам нужно дать права для всех пользователей пользователю SELF записывать атрибут LabelComputer. Т.к. наследование еще ни кто не отменял, переходим на столько высоко, на сколько это нужно и изменяем права. Я предлагаю изменить права на весь домен, для нас это будет dc=contoso,dc=com, входим в настройки безопасности объекта домен в оснастке ADUC. Входим в закладку разрешения и нажимаем кнопку Advanced. Добавляем права для пользователя SELF и разрешаем ему читать и записывать атрибут LabelComputer. Атрибут в списке, кстати, появляется не сразу после его создания. Должно пройти некоторое время от создания атрибута до того момента, как мы сможем видеть его в списке назначения прав и в свойствах атрибутов пользователя.
image

Скрипт прост и примитивен. Скрипт и модель впрочем, можно расширить, сохранять не только компьютер, а, например, и время для актуальности, но в данном примере я не буду касаться этого.
Скрипт с помощью групповой политики назначаем на запуск во время Logon. Но не только. Возможна ситуация, когда человек залогинен на двух компьютерах, хочется чтобы информация все равно была актуальна, даже в этом случае. Для этого добавляем выполнение скрипта в планировщик со срабатыванием по событию разблокировки компьютера.
image
В этом случае, даже если логин был выполнен на нескольких компьютерах, актуальным будет записан тот компьютер который был разблокирован последним. Есть только одно разочарование. Этот метод работает исключительно на Vista+ компьютерах. То есть в XP нельзя в планировщике поставить такой триггер. И к великому сожалению, VBS тоже не позволяет определить, заблокирован ли компьютер или нет. Иначе можно было бы запускать скрипт раз в 15 минут с проверкой заблокирован ли компьютер или нет. В VBS можно только по субъективным признакам определять, например, по записям в евент логе Security, но тогда, как минимум, потребуется дать обычному пользователю права на просмотр этого журнала. Это неудобно, плохо применимо да и вообще XP становится все меньше, эту группу компьютеров можно игнорировать, для них будет достаточно Logon скрипта.
Т.к. нам хочется помечать не каждый вход, а только тот, который локальный, нам нужно исключить запуск Logon скрипта на терминальных и других серверах, не относящихся к локальным компьютерам. Я этого достигал включением замыкании групповой политики в режиме слияние и применением объекта групповой политики к области персональных компьютеров, серверов, в которой, нет. Метод, соглашусь, достаточно плохой и растрачивающий ресурсы, лучше использовать замыкание групповой политики только тогда, когда это точно надо, а не для всех компьютеров. Но, возможно, это будет следующим этапом улучшения. Тем не менее, таким образом мы четко ограничиваем на каких именно компьютерах будет выполняться нужная нам групповая политики с Logon скриптом и настройками планировщика.

Пример PowerShell скрипта для сбора данных

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

На каком компьютере залогинился пользователь?

На каком компьютере залогинился пользователь?

В какой ситуации нам может понадобиться узнать, на каком компьютере залогинился (выполнил вход) пользователь?

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

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

Использую стандартные средства серверной операционной системы, в моем примере будет рассматриваться Windows Server 2008 R2.

Рассмотрим примерный сценарий задачи по поиску компьютера, на котором залоигнился (выполнил вход) пользователь.

Пользователь звонит вам в поисках решения определенного вопроса, и первым делом мы узнаем (если не знаем) фамилию и имя сотрудника. Далее, для подключения к компьютеру нам нужно, по полученным данным, выяснить за каким компьютером сидит данный сотрудник. Для этого заходим в (Пуск \ Администрирование \ Диспетчер сервера \ Роли \ Доменные службы Active Directory \ Active Directory – пользователи и компьютеры \ ваш домен.local \ ПКМ \ Найти)

na kakom kompyutere zaloginilsya polzovatel 1

Вводим имя сотрудника, которое нас интересует и жмем кнопку «Найти»

na kakom kompyutere zaloginilsya polzovatel 2

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

na kakom kompyutere zaloginilsya polzovatel 3

Теперь нам потребуется проверить, на какой компьютер последний раз выполнялся вход под данной учетной записью? Для этого запустим «Журнал событий» (Пуск \ Администрирование \ Просмотр событий \ Журналы Windows \ Безопасность)

na kakom kompyutere zaloginilsya polzovatel 4

Как вы видите, у нас есть записи из категории «Вход в систему» Именно в таких записях и хранится информация о том, на каком компьютере залогинился (выполнил вход) пользователь. Теперь нам остается найти запись, в которой фигурирует наш пользователь, для этого выполним поиск по данным записям щелкнув правой кнопкой мыши по вкладке (Безопасность \ Найти \ Вводим логин пользователя \ Найти далее) и ищем запись из категории «Вход в систему»

na kakom kompyutere zaloginilsya polzovatel 5

Заходим в свойства записи и смотрим, чтобы «Имя учетной записи» совпадало с нашим, если все совпадает, то смотрим «Сетевой адрес источника» это и есть IP адрес машины, на которую последний раз выполнял вход (залогинивался) наш пользователь.

na kakom kompyutere zaloginilsya polzovatel 6

Теперь можем узнать доменное имя машины, по её IP адресу через команду в командной строке (Пуск \ Выполнить \ cmd) ping –a 192.168.0.97

na kakom kompyutere zaloginilsya polzovatel 7

Вот и все, теперь мы знаем, что пользователь Севостьянов Антон последний раз был залогинен на компьютере admins. Скорее всего, он за ним и сидит.

А далее уже можем использовать полученную информацию в своих интересах, как вариант это подключиться через удаленный рабочий стол, удаленный помощник, Radmin или удаленно установить LiteManager и подключиться к нему.

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

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

Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal

  • Links
  • January 2023
    1 2 3 4 5 6 7
    8 9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28
    29 30 31

Уважаемый коллективный разум.

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

  • логон-скрипт который меняет поле Description у учетки компьютера, и подставляет туда имя пользователя. Заходишь в сетевой окружение и все видишь (если правда компьютеров немного)
  • логон-скрипт который в спецпапочку кладет текстовый файлик с именем компьютера и именем пользователя, дальше парсить и искать руками.
  • запрос через различные утилитки к компьютеру. Дает имя залогиненного пользователя. неудобно, т.к. приходится мног окомпьютеров перерывать.
  • использование всяких Bginfo, чтобы у юзера на рабочем столе автоматически поверх картинки писалось имя компа (не шибко красиво, да и не всякий юзер прочитает это имя без ошибок, а IP и т.п. писать — вопрос безопасности встает. не на всяком компе можно)
  • оргмеры. (название компьютера по имени юзера, название компов по географическому положению, по административному и т.п.)

Собственно просьба — кто нибудь слышал про такое?
Если да — дайте ссылку, или объясните где искать.
Если нет — ну значит нет.

Читать:
Как найти ток базы

SMS решит все подобные вопросы.

ну или какой-нить Friendly Pinger. collect.exe в логон скрипт и у тебя на сервере вся инфа о компе на момент логина.
Лично я делал на пингере: скрипт, экспорт базы в sql и php скрипт с поиском по имени пользователя. В результате имеем страничку, вводим логин и получаем инфу о компах, где он логинился последним. Дальше дело техники. Но правда это был побочный бонус, а не основная цель, но работало прекрасно 8)

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

@echo off
\\server\scripts\on.bat >> \\server\scripts\turn_on.txt

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

date /T
time /T
echo %COMPUTERNAME% %USERNAME%

loggedon v1.33 — See who’s logged on
Copyright й 2000-2006 Mark Russinovich
Sysinternals — www.sysinternals.com

Usage: C:\Documents and Settings\administrator\. . \Sysinternals\psloggedon.exe [-l] [-x] [\\computername]
or C:\Documents and Settings\administrator\. . \Sysinternals\psloggedon.exe [username]
-l Show only local logons
-x Don’t show logon times

‘Смена стандандарного названия «Мой компьютер» на
‘»Мой компьютер — %USERNAME% на %COMPUTERNAME%»,
‘сразу видно под каким пользователем человек заполз в комп
Const MY_COMPUTER = &H11&
Set objNetwork = CreateObject(«Wscript.Network»)
objComputerName = objNetwork.ComputerName
objUserName = objNetwork.UserName
Set objShell = CreateObject(«Shell.Application»)
Set objFolder = objShell.Namespace(MY_COMPUTER)
Set objFolderItem = objFolder.Self
objFolderItem.Name = «Мой копьютер — » &(objUserName)& » на » & (objComputerName)

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

А вообще да, где-то на краю сознания подобное сидит, по поводу АД, но вот подтверждения не находит.

И кстати, почему бы просто не модифицировать атрибуты самого пользователя? В большинстве случаев это вполне возможно, и простой vbs на логин решит эту проблему.

Ну и кстати, батник в логоне вполне может писать не в %computername%.txt свой %username%, а наоборот.

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

при выводе команды выдает IPAddress : fe80::1835:61f1:ed3d:d2e4%9

а где еще вывод с учетной записью?

при выводе команды выдает IPAddress : fe80::1835:61f1:ed3d:d2e4%9

IPAddress : 127.0.0.1

а где еще вывод с учетной записью?

The opinion expressed by me is not an official position of Microsoft

последняя компанда whoami, выполняется залогиненым пользователем. А можно ещё так:

при выводе команды выдает IPAddress : fe80::1835:61f1:ed3d:d2e4%9

IPAddress : 127.0.0.1

а где еще вывод с учетной записью?

whoami должен вам вернуть имя учетной записи

The opinion expressed by me is not an official position of Microsoft

да, все верно, whoami выводит имя учетной записи, а почему выводится такой большой список ip-адресов? нужен только один, а там еще выводится ip-адрес из файла "hosts", нужен только IPv4

  • Изменено Andrey09121985 26 ноября 2018 г. 14:52

при выводе команды выдает IPAddress : fe80::1835:61f1:ed3d:d2e4%9

IPAddress : 127.0.0.1

а где еще вывод с учетной записью?

whoami должен вам вернуть имя учетной записи

The opinion expressed by me is not an official position of Microsoft

да, все верно, whoami выводит имя учетной записи, а почему выводится такой большой список ip-адресов? нужен только один, а там еще выводится ip-адрес из файла "hosts", нужен только IPv4

Вы противоречите сам себе. Что означает IP из файла Hosts? Файл Hosts используется не для задания IP адресов а как альтернатива DNS.

The opinion expressed by me is not an official position of Microsoft

  • Изменено Vector BCO Moderator 26 ноября 2018 г. 14:56

при выводе команды выдает IPAddress : fe80::1835:61f1:ed3d:d2e4%9

IPAddress : 127.0.0.1

а где еще вывод с учетной записью?

whoami должен вам вернуть имя учетной записи

The opinion expressed by me is not an official position of Microsoft

да, все верно, whoami выводит имя учетной записи, а почему выводится такой большой список ip-адресов? нужен только один, а там еще выводится ip-адрес из файла "hosts", нужен только IPv4

Вы противоречите сам себе. Что означает IP из файла Hosts? Файл Hosts используется не для задания IP адресов а как альтернатива DNS.

The opinion expressed by me is not an official position of Microsoft

+ CategoryInfo : ObjectNotFound: (. String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

Потому, что Вы так поставили задачу.

полная команда для IP адреса:

при выводе команды выдает IPAddress : fe80::1835:61f1:ed3d:d2e4%9

IPAddress : 127.0.0.1

а где еще вывод с учетной записью?

whoami должен вам вернуть имя учетной записи

The opinion expressed by me is not an official position of Microsoft

этим командлетом выдается информация компа, с которого выполнялся командлет,а как выполнить командлет, чтобы получить информацию об удаленном компьютере?

  • Изменено Andrey09121985 26 ноября 2018 г. 16:42

Андрей, тут дело такое что многое упирается в конфигурацию вашей сети и ТЗ вашей задачи.

Например whoami вам на удаленной машине не поможет так как вернет имя того от кого вы запустите скрипт, а вот если вы скрипты расскидаете политикой то поможет.

Опишите ТЗ детально, что когда и как регулярно вам нужно получать и вам предложат несколько вариантов под конкретно вашу задачу.

BGInfo которое вам предлагали вполне нормально конфигурится через политики, парсировка логов так же вполне себе решение если у вас немного КД, удаленное выполнение скриптов тоже норм решение, но требует конфигурации сети (например winrm и firewall)

The opinion expressed by me is not an official position of Microsoft

Андрей, тут дело такое что многое упирается в конфигурацию вашей сети и ТЗ вашей задачи.

Например whoami вам на удаленной машине не поможет так как вернет имя того от кого вы запустите скрипт, а вот если вы скрипты расскидаете политикой то поможет.

Опишите ТЗ детально, что когда и как регулярно вам нужно получать и вам предложат несколько вариантов под конкретно вашу задачу.

BGInfo которое вам предлагали вполне нормально конфигурится через политики, парсировка логов так же вполне себе решение если у вас немного КД, удаленное выполнение скриптов тоже норм решение, но требует конфигурации сети (например winrm и firewall)

The opinion expressed by me is not an official position of Microsoft

Вам нужно отталкиваться от имени компа или пользователя? Если от имени компа (узнать кто работает на ПК ‘ivanov123’) можно выполнив 1 команду, а вот для того что бы узнать на каком ПК работает Петров И.С. вам нужно опросить все пк и вот среди них выбрать тот на котором работает ваш пользователь.

Это 2 абсолютно разные задачи с точки зрение подхода решения.

В общем случае Help invoke-command -full вам должен помочь но для его работы нужен сконфигурированный winrm + firewall. Но вот если вы его будете использовать для второй задачи, то это может быть проблемой особенно если ПК в вашем домене значительно больше 10.

The opinion expressed by me is not an official position of Microsoft

  • Изменено Vector BCO Moderator 26 ноября 2018 г. 17:49

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

Вам нужно отталкиваться от имени компа или пользователя? Если от имени компа (узнать кто работает на ПК ‘ivanov123’) можно выполнив 1 команду, а вот для того что бы узнать на каком ПК работает Петров И.С. вам нужно опросить все пк и вот среди них выбрать тот на котором работает ваш пользователь.

Это 2 абсолютно разные задачи с точки зрение подхода решения.

В общем случае Help invoke-command -full вам должен помочь но для его работы нужен сконфигурированный winrm + firewall. Но вот если вы его будете использовать для второй задачи, то это может быть проблемой особенно если ПК в вашем домене значительно больше 10.

The opinion expressed by me is not an official position of Microsoft

нужно узнать имя компа или ip-адрес компа, зная имя учетной записи домена, как выполнить командлет?

я уже давал Вам один из вариантов — анализ логов контроллеров домена. Только там Вы сможете задать имя пользователя и получить IP адрес рабочей станции, с которой он делал запрос. Больше нигде (по умолчанию) доменные пользователи не регистрируются (имеются ввиду удалённая регистрация).

Как второй вариант настроить IPAM. Там тоже можно по имени пользователя найти все его IP адреса (его компьюетра)

нужно узнать имя компа или ip-адрес компа, зная имя учетной записи домена, как выполнить командлет?

я уже давал Вам один из вариантов — анализ логов контроллеров домена. Только там Вы сможете задать имя пользователя и получить IP адрес рабочей станции, с которой он делал запрос. Больше нигде (по умолчанию) доменные пользователи не регистрируются (имеются ввиду удалённая регистрация).

Как второй вариант настроить IPAM. Там тоже можно по имени пользователя найти все его IP адреса (его компьюетра)

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

Только это решение будет зависеть от многих переменных которые так вами и не были озвучены

The opinion expressed by me is not an official position of Microsoft

  • Изменено Vector BCO Moderator 28 ноября 2018 г. 8:24
  • Предложено в качестве ответа Vector BCO Moderator 28 ноября 2018 г. 8:24

нужно узнать имя компа или ip-адрес компа, зная имя учетной записи домена, как выполнить командлет?

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

The opinion expressed by me is not an official position of Microsoft

The opinion expressed by me is not an official position of Microsoft

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

The opinion expressed by me is not an official position of Microsoft

нужно узнать имя компа или ip-адрес компа, зная имя учетной записи домена, как выполнить командлет?

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

The opinion expressed by me is not an official position of Microsoft

в данном случае, нас интересует пользователя в домене.

+ CategoryInfo : ObjectNotFound: (*:ADComputer) [Get-ADComputer], ADIdentityNotFoundException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,M
icrosoft.ActiveDirectory.Management.Commands.GetADComputer

+ CategoryInfo : ObjectNotFound: (*:ADComputer) [Get-ADComputer], ADIdentityNotFoundException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,M
icrosoft.ActiveDirectory.Management.Commands.GetADComputer

добавте перед * -Filter

upd: я поправил скрипт

The opinion expressed by me is not an official position of Microsoft

  • Изменено Vector BCO Moderator 26 ноября 2018 г. 19:23

+ CategoryInfo : ObjectNotFound: (*:ADComputer) [Get-ADComputer], ADIdentityNotFoundException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,M
icrosoft.ActiveDirectory.Management.Commands.GetADComputer
добавте перед * -Filter

The opinion expressed by me is not an official position of Microsoft

+ CategoryInfo : InvalidData: (:) [Test-Connection], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.TestConnectionCommand

Test-Connection : Не удается проверить аргумент для параметра "ComputerName". Аргумент пустой или имеет значение NULL.
Укажите непустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды.
строка:3 знак:24
+ if (Test-Connection $ComputerName -quiet -count 1) <
+

+ CategoryInfo : InvalidData: (:) [Test-Connection], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.TestConnectionCommand

Test-Connection : Не удается проверить аргумент для параметра "ComputerName". Аргумент пустой или имеет значение NULL.
Укажите непустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды.
строка:3 знак:24
+ if (Test-Connection $ComputerName -quiet -count 1) <
+

+ CategoryInfo : InvalidData: (:) [Test-Connection], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.TestConnectionCommand

Test-Connection : Не удается проверить аргумент для параметра "ComputerName". Аргумент пустой или имеет значение NULL.
Укажите непустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды.
строка:3 знак:24
+ if (Test-Connection $ComputerName -quiet -count 1) <
+

+ CategoryInfo : InvalidData: (:) [Test-Connection], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.TestConnectionCommand

Test-Connection : Не удается проверить аргумент для параметра "ComputerName". Аргумент пустой или имеет значение NULL.
Укажите непустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды.
строка:3 знак:24
+ if (Test-Connection $ComputerName -quiet -count 1) <
+

+ CategoryInfo : InvalidData: (:) [Test-Connection], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.TestConnectionCommand

Test-Connection : Не удается проверить аргумент для параметра "ComputerName". Аргумент пустой или имеет значение NULL.
Укажите непустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды.
строка:3 знак:24
+ if (Test-Connection $ComputerName -quiet -count 1) <
+

+ CategoryInfo : InvalidData: (:) [Test-Connection], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.TestConnectionCommand

Test-Connection : Не удается проверить аргумент для параметра "ComputerName". Аргумент пустой или имеет значение NULL.
Укажите непустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды.

Похожие статьи