Приветствую всех!
Ооооочень давно я тут не писал в блоге.
Решил сегодня поделиться полезной информацией, но в начале хочу поздравить свой город Хабаровск с днем основания 155 лет ему сегодня исполнилось!
И так, на днях, на работе пришлось столкнуться с такой ситуацией: надо было узнать имя пользователя (имя учетной записи) на удаленном компе в сети.
Думал как обойтись малой кровью... нашел тут скрипт на vbs.
Попробовал - получилось. Но там скрипт был явно не доработанный. Вот решил не зная vbs языка подкорректировать и чуть усовершенствовать его.
Сделал проверку на не внесенное имя компа, проверку на авторизацию на компе, а потом прикрутил проверку пингом... Вдруг комп вообще выключен.
Может кому пригодиться...
Computer = InputBox("Имя компьютера")
If (Computer = "") Then
Wscript.Echo "Укажите имя компьютера"
Else
Sub PingPc(Pc)
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
ExecQuery("select * from Win32_PingStatus where address = '"_
& Pc & "'")
For Each objStatus In objPing
If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
wscript.echo "Не могу подключиться"
WScript.Quit
end if
next
End Sub
Sub UserPc(Pc)
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & Pc & "\root\cimv2")
Set colComputer = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputer
If (objComputer.UserName <> "") Then
Wscript.Echo "Пользователь: "& vbCrLf & objComputer.UserName
Else
Wscript.Echo "Не авторизировано"
end if
Next
End Sub
Call PingPc(Computer)
Call UserPc(Computer)
end if
Строго не судите ) я не силен в написании скриптов vbs

