Цитата 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 & "/
Администраторы" не сработает! Надо бы оптимальнее спланировать "доставку" информации до админов и т.п. По этому, я подчёркиваю, что этот скрипт не идеален, но для меня он является основой дальнейшего развития. Если будет вдохновение и свободное время, то доделаю его в будущем...