Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Пользователь


Сообщения: 69
Благодарности: 11

Профиль | Отправить PM | Цитировать


Цитата Iska:
morres, как быть на машине без домена? »
вот, еще порылся и вот этот вариант работает и на доменной машине, и на отдельной:
Код: Выделить весь код
Option Explicit
Dim strComp, objLocalGroup, WshNetwork, item
strComp = "."
Set objLocalGroup = GetObject("WinNT://" & strComp & "/Администраторы")
Set WshNetwork = WScript.CreateObject("WScript.Network")
For Each item in objLocalGroup.Members
	if item.Name = WshNetwork.UserName Then Wscript.Echo "User " _
	& WshNetwork.UserName & " have administrator rights!"
Next
WScript.Quit()
Цитата Dark_Timur:
Как проверить наличие прав администратора в Windows без вывода окон для пользователя? »
Думаю, перенаправив вывод в файл, например, или цинично отсылая информационное письмо админам.
Вот пример того, как информация записывается в файл:
Код: Выделить весь код
Option Explicit
Dim strComp, objLocalGroup, WshNetwork, item, objFS, objFile
strComp = "."
Set objLocalGroup = GetObject("WinNT://" & strComp & "/Администраторы")
Set WshNetwork = WScript.CreateObject("WScript.Network")
For Each item in objLocalGroup.Members
	if item.Name = WshNetwork.UserName Then
	  Set objFS = CreateObject("Scripting.FileSystemObject")
	  if not objFS.FileExists("c:\admins.txt") Then 
		Set objFile = objFS.CreateTextFile("c:\admins.txt", True)
		objFile.WriteLine(WshNetwork.UserName)
	  else
		Set objFile = objFS.OpenTextFile("c:\admins.txt", 2)
		objFile.WriteLine(WshNetwork.UserName)
	  end if
	end if
Next
WScript.Quit()
Только сразу хочу предупредить, данный скрипт не сработает, если пользователь входит в группу "Администраторы" по средствам другой группы (например доменной). Но в моей ситуации это и не нужно! Смысл в том, что не добросовестные сотрудники тех. поддержки (которые имеют админские права на всех рабочих станциях домена, как раз по средствам доменной группы HelpDesk) переодически, "чтобы не заморачиваться", добавляют пользователей в локальные администраторы. Ну, типа чтоб не париться с настройками софта, который "из коробки" не работает без админских прав. Либо, настраивают рабочее место пользователя, временно дав ему админа, потом забывают убрать его из админов. Вот эту ситуацию я желаю отслеживать и присекать, а соответственно, этот скрипт более подходящий для меня в качестве основы. Понятно, что в идеале, надо бы добавить проверку языка установленной ОС, т.к. в домене могут быть и англоязычные винды, соответствеено "Set objLocalGroup = GetObject("WinNT://" & strComp & "/Администраторы" не сработает! Надо бы оптимальнее спланировать "доставку" информации до админов и т.п. По этому, я подчёркиваю, что этот скрипт не идеален, но для меня он является основой дальнейшего развития. Если будет вдохновение и свободное время, то доделаю его в будущем...

Последний раз редактировалось morres, 19-12-2012 в 10:13. Причина: добавление кода


Отправлено: 09:02, 19-12-2012 | #12