|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] PowerShell узнать по доменному имени имя учетной записи, авторизовавшейся последней |
|
PowerShell - [решено] PowerShell узнать по доменному имени имя учетной записи, авторизовавшейся последней
|
Новый участник Сообщения: 3 |
Доброго времени суток!
У меня есть список доменных имен компьютеров(около тысячи), и мне необходимо узнать список имен доменных учетных записей, авторизовавшихся на каждом из этих компьютерах последним, а так же адреса электронной почты этих учетных записей. я могу просмотреть это всё просто списком, но необходимо написать скрипт, для выполнения этой задачи. С powerShell'ом практически не знаком, но от меня требуют в таком виде. Спасибо заранее. |
|
Отправлено: 19:30, 17-01-2016 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать DOMAIN - Заменить на NetBios имя своего домена
$filter = "*[System[EventID=4624] and (EventData[Data[@Name='LogonType']=2] or EventData[Data[@Name='LogonType']=10]) and EventData[Data[@Name='TargetDomainName']='DOMAIN']]" Get-ADComputer -Filter "Enabled -eq '$true' -and DnsHostName -like '*'" | Foreach { $event = $mail = $user = $null $event = Get-WinEvent -FilterXPath $filter -LogName Security -MaxEvent 1 -ComputerName $_.DnsHostName if($event) { $user = $event.Properties[5].Value if($user) { $mail = (Get-ADUser $user -Properties mail).mail } } [pscustomobject]@{ ComputerName = $_.Name UserName = $user MailAddress = $mail } } |
Отправлено: 20:46, 17-01-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать я не совсем понял скрипт
тут мы задаем условие для поиска: $filter = "*[System[EventID=4624] and (EventData[Data[@Name='LogonType']=2] or EventData[Data[@Name='LogonType']=10]) and EventData[Data[@Name='TargetDomainName']='DOMAIN']]" здесь мы выводим список, исходя из нашего фильтра: Get-ADComputer -Filter "Enabled -eq '$true' -and DnsHostName -like '*'" | Foreach { а вот тут я понял не до конца, вы не могли бы пояснить $event = $mail = $user = $null $event = Get-WinEvent -FilterXPath $filter -LogName Security -MaxEvent 1 -ComputerName $_.DnsHostName if($event) { $user = $event.Properties[5].Value if($user) { $mail = (Get-ADUser $user -Properties mail).mail } } и почему у нас именно такое условие поиска? |
Отправлено: 21:27, 17-01-2016 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата alexander_stepanov1:
Цитата alexander_stepanov1:
А вот тут: Цитата alexander_stepanov1:
Цитата alexander_stepanov1:
Цитата Kazun:
Повторить для каждой из полученного перечня машин. Цитата alexander_stepanov1:
|
||||||
Отправлено: 01:33, 18-01-2016 | #4 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Благодарю всех за ответы)
|
|
Отправлено: 07:48, 18-01-2016 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Установка - [решено] Как задать имя учетной записи Admin вместо Администратор по умолчанию | PROCENT | Автоматическая установка Windows 2000/XP/2003 | 13 | 19-08-2012 19:02 | |
Доступ - [решено] Имя учетной записи пользователя | Dimchik | Microsoft Windows 7 | 4 | 11-11-2011 01:30 | |
Свой ftp по доменному имени | allianceplayer | Microsoft Windows NT/2000/2003 | 13 | 09-07-2009 16:54 | |
Имя учетной записи. | poisonkit | Вебмастеру | 11 | 26-12-2007 09:58 | |
как узнать дату последней записи на cd-r? | Oleg87 | Хочу все знать | 3 | 22-08-2006 13:59 |
|