Скрипт для отображения имени пользователя
Модератор: Модераторы
- Admin
- Активный пользователь
- Сообщения: 185
- Зарегистрирован: 09 дек 2004, 17:12
- Откуда: Жуковский
В общем методом проб и ошибок сделал я такой скрипт, вот он собственно:
Set objWMIService = GetObject("winmgmts:")
Set colSoftware = objWMIService.ExecQuery _
("Select * FROM Win32_Service WHERE Name ='Lanmanserver'" )
For Each objSoftware in colSoftware
objSoftware.StopService()
Next
set WSHShell = WScript.CreateObject("WScript.Shell")
Set WshNetwork = CreateObject("WScript.Network")
info = "Имя пользователя: " & WshNetwork.UserName
WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\srvcomment", info
Set objWMIService = GetObject("winmgmts:")
Set colSoftware = objWMIService.ExecQuery _
("Select * FROM Win32_Service WHERE Name ='Lanmanserver'" )
For Each objSoftware in colSoftware
objSoftware.StartService()
Next
Может это немного коряво но начальство осталось довольно. Если будут предложения по увеличению функциональности этого скрипта, буду рад выслушать.
Всем спасибо.
Set objWMIService = GetObject("winmgmts:")
Set colSoftware = objWMIService.ExecQuery _
("Select * FROM Win32_Service WHERE Name ='Lanmanserver'" )
For Each objSoftware in colSoftware
objSoftware.StopService()
Next
set WSHShell = WScript.CreateObject("WScript.Shell")
Set WshNetwork = CreateObject("WScript.Network")
info = "Имя пользователя: " & WshNetwork.UserName
WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\srvcomment", info
Set objWMIService = GetObject("winmgmts:")
Set colSoftware = objWMIService.ExecQuery _
("Select * FROM Win32_Service WHERE Name ='Lanmanserver'" )
For Each objSoftware in colSoftware
objSoftware.StartService()
Next
Может это немного коряво но начальство осталось довольно. Если будут предложения по увеличению функциональности этого скрипта, буду рад выслушать.
Всем спасибо.
- Admin
- Активный пользователь
- Сообщения: 185
- Зарегистрирован: 09 дек 2004, 17:12
- Откуда: Жуковский
А знает кто нить как сделать так чтобы в выше описанном скрипте выводился не логин пользователя а его полное имя например Иванов И. Иванович?Не могу разобраться еще с этим моментом 

Попробуй такой вариант
Код | ||
' Определяем контекст пользовалеля в АД
Set WSHNetwork = CreateObject("WScript.Network") On Error Resume Next Path = WSHNetwork.UserName Set objSysInfo = CreateObject("ADSystemInfo") strUserDN = objSysInfo.UserName Set objUser = GetObject("LDAP://" & strUserDN) ' Остановка службы сервер для внесения данных о пользователе Set objWMIService = GetObject("winmgmts:") Set colSoftware = objWMIService.ExecQuery _ ("Select * FROM Win32_Service WHERE Name ='Lanmanserver'" ) For Each objSoftware in colSoftware objSoftware.StopService() Next ' Внесение данных о пользователе в свойcтва компьютера Set WSHShell = WScript.CreateObject("WScript.Shell") Set WshNetwork = CreateObject("WScript.Network") WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\srvcomment", objUser.DisplayName ' Перезапуск службы сервер Set objWMIService = GetObject("winmgmts:") Set colSoftware = objWMIService.ExecQuery _ ("Select * FROM Win32_Service WHERE Name ='Lanmanserver'" ) For Each objSoftware in colSoftware objSoftware.StartService() Next [/code] Вместо objUser.DisplayName можно использовать: objUser.givenName - First name пользователя User.sn - Last Name пользователя Правильно заданный вопрос - это уже половина ответа.
![]() или у вас, Admin, пользователи есть локал админы? всё-таки, всем подряд править реестр… я бы не дал. ![]() нет времени разбираться — наймите того, кто знает.
Stratofortress
Правильно, я когда смотрел это тоже заметил, не хватает пермишенов ;-) Обсудим вариант статьи с учетом этого требования. http://www.networkdoc.ru/files/insop/wh ... cript.html Сразу как дополнение, необходимо исключить терминальные сессии пользователй из скрипта. (вариант готовится) Правильно заданный вопрос - это уже половина ответа.
а вот ещё. ![]()
|