Как узнать какой пользователь сейчас в сети?

  • Автор темы f.7
  • Дата начала
Статус
Закрыто для дальнейших ответов.
F

f.7

Гость
#1
Добрый день...
У нас на работе все компы входят в корпаративный домен, тут такая задача стала - что необходимо узнать в определённый момент времени кто сейчас в домене(тоесть залогинился на комп).
У меня тут конечно возникла идея написать сервис который будет на сервер например каждую минуту что-нить посылать, сервис запускать от имени пользователя и всё класно я буду знать кто в сети, но мне не нравиться это тем что если обнаружиться какой-нить баг, придеться переустанавливать сервис на всех компах - что очень не удобно, я так подумал что будет проще написать один сервис на серваке, который будет опрашивать компы в сети.
Вот собственно как это реализовать совсем не знаю? подскажите пожалуйста если сталкивались с подобными задачами...
Спасибо...
 

morpheus

скриптописец
07.08.2006
3 915
1
#2
Для: f.7
Ну я не большой спец в администрировании , ну а разве сам сервер ( доменный ) не скажет кто у него щас залогоился?
 
F

f.7

Гость
#3
Для: Morpheus
скажет, да не сохронит, если бы мне нужно было только посмотреть - я бы сюда не писал :)
Для: sax_ol
а почему сервисов не нужно? - если мне надо опрашивать сеть каждые минут 5
 
F

f.7

Гость
#4
Вот решение:
Код:
static private void getSystemInfo(string stringMachineName)
{
ManagementObjectSearcher query;
ManagementObjectCollection queryCollection;
System.Management.ObjectQuery oq;
//Connect to the remote computer
ConnectionOptions co = new ConnectionOptions();
//Point to machine
System.Management.ManagementScope ms = new System.Management.ManagementScope("\\\\" + stringMachineName + "\\root\\cimv2", co);
try
{
//machine info
oq = new System.Management.ObjectQuery("SELECT * FROM Win32_ComputerSystem");
query = new ManagementObjectSearcher(ms, oq);
queryCollection = query.Get();
foreach (ManagementObject mo in queryCollection)
{
//MessageBox.Show("Domain: " + mo["Domain"]);
//MessageBox.Show("User Name: " + mo["UserName"]);
string s1 = (string)mo["UserName"];
}
}
catch (Exception e)
{
}
}
 
Статус
Закрыто для дальнейших ответов.