Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Узнать ФИО последнего пользователя - который осуществлял вход в систему (http://forum.oszone.net/showthread.php?t=342303)

it3 23-09-2019 12:47 2889212

Узнать ФИО последнего пользователя - который осуществлял вход в систему
 
Добрый день!
Подскажите пожалуйста: необходимо реализовать следующее:
1. Есть список компьютеров (в excel'e): Диапазон - A2:A173;
2. Необходимо в B2:B173 выписать тех пользователей, которые осуществляли последний вход на этих компьютерах;
3. В C2:C173 необходимо вывести путь расположения этого пользователя в AD (organizational unit).

it3 24-09-2019 11:37 2889356

Или же, можно сделать таким образом:
Код:

Add-Content -Path "\\Server\Script\$env:USERNAME $env:COMPUTERNAME.txt" -Value "$(Get-Date)"
Создается txt документ, имя которого: "NameUser NamePC.txt", с содержимым (датой): "09/24/2019 13:00:00"

Как сделать так, чтобы содержимое каталога: "\\Server\Script\", формировалось в Excel-таблицу со столбцами: "Имя Пользователя", "Имя Компьютера", "Дата/Время включения"?

DJ Mogarych 25-09-2019 08:57 2889487

it3, у меня реализовано через логон-скрипт для всех компьютеров, выполняемый на уровне пользователя, который пишет информацию в учётку пользователя в AD.
Код:

# write last logged-on comp name to "pager"
$Searcher = New-Object DirectoryServices.DirectorySearcher
$Searcher.Filter = "(&(objectCategory=person)(anr=$env:username))"
$Searcher.SearchRoot = 'LDAP://DC=domain,DC=ru'
$path = $Searcher.FindOne() |select -expand path
$user = [ADSI]"$path"
$user.Put("pager", "$env:computername")
# write logon time to "st"
$user.Put("st", "$((get-date).tostring())")
# write comp boot time to "otherPager"
$boottime = Get-WmiObject win32_operatingsystem
$boottime = $boottime.ConverttoDateTime($boottime.lastbootuptime)
$boottime = $boottime.toString("dd.MM.yyyy HH:mm:ss")
$user.Put("otherPager", "$boottime")
$user.SetInfo()

После этого можно отчёты формировать прямо из запросов в AD безо всяких экселей.

it3 25-09-2019 09:51 2889496

Цитата:

Цитата DJ Mogarych
it3, у меня реализовано через логон-скрипт для всех компьютеров, выполняемый на уровне пользователя, который пишет информацию в учётку пользователя в AD. »

Вариант!
Спасибо!

Iska 25-09-2019 17:22 2889560

DJ Mogarych, а обратный скрипт, на logoff, у Вас есть?

Снимается, для данного применения в нём нет необходимости.

it3 23-10-2019 13:33 2893194

Вот скрипт на VBS:
Код:

Set WshNetwork = WScript.CreateObject("WScript.Network")
Set objSysInfo = CreateObject("ADSystemInfo")
strUserDN = objSysInfo.UserName
Set objUser = GetObject("LDAP://" & strUserDN)
objUser.Put "Pager", WshNetwork.ComputerName
objUser.SetInfo

Хотелось бы реализовать чтобы версия ОС отображалась в поле: "homePhone", а дата/время входа в "facsimileTelephoneNumber".
Подсобите пожалуйста.


Время: 10:28.

Время: 10:28.
© OSzone.net 2001-