Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Поиск пользователей с правами администраторов

Ответить
Настройки темы
VBS/WSH/JS - [решено] Поиск пользователей с правами администраторов

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


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

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


Доброе время суток!
Помогите написать скрипт на vbs, который выводит список пользователей с правами администратора на компьютере Win Xp. Можно ли это сделать через WMI Code Creator?

Отправлено: 09:50, 09-11-2009

 

Googler


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

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


Цитата Jonik-Mnimonik:
список пользователей с правами администратора »
Код: Выделить весь код
Set objGRP = GetObject("WinNT://./Administrators,Group")

For Each objMember In objGRP.Members 
  strList = strList & objMember.Name & vbCRLF
Next 

WScript.Echo strList
Цитата Jonik-Mnimonik:
Можно ли это сделать через WMI Code Creator? »
классы: Win32_Group, Win32_GroupUser

Отправлено: 11:13, 09-11-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Moderator


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

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


Jonik-Mnimonik, как-то так:
Код: Выделить весь код
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery _
  ("SELECT Domain, Name FROM Win32_Group WHERE LocalAccount = True AND SID = 'S-1-5-32-544'")

For Each objItem In colItems
  For Each objAdmin In objWMIService.ExecQuery _
    ("ASSOCIATORS OF {Win32_Group.Domain='" & objItem.Domain & "',Name='" & objItem.Name & "'} WHERE AssocClass = Win32_GroupUser")
    WScript.Echo objAdmin.Name
  Next
Next

Отправлено: 11:14, 09-11-2009 | #3


Googler


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

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


тогда еще один немного извращенный способ, но в домене работает быстрей:
Код: Выделить весь код
Set objWMI = GetObject("winmgmts:\\.\root\cimv2")
Set objNet = CreateObject("WScript.Network")
Set objREx = CreateObject("VBScript.RegExp")

objREx.Pattern = "^.*\.Domain=""([^""]+)"",Name=""([^""]+)"".*$"
objREx.IgnoreCase = True

For Each objGroup In objWMI.ExecQuery _
  ("SELECT * FROM Win32_Group WHERE LocalAccount=TRUE And SID='S-1-5-32-544'")
  For Each objItem In objWMI.ExecQuery _
    ("SELECT * FROM Win32_GroupUser WHERE GroupComponent=""Win32_Group.Domain='"& objNet.ComputerName &"',Name='"& objGroup.Name &"'""")
    WScript.Echo objREx.Replace(objItem.PartComponent,"$1\$2")
  Next
Next

Отправлено: 12:20, 09-11-2009 | #4


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


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

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


Цитата Petya V4sechkin:
Код: Выделить весь код
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _ ("SELECT Domain, Name FROM Win32_Group WHERE LocalAccount = True AND SID = 'S-1-5-32-544'")
For Each objItem In colItems
    For Each objAdmin In objWMIService.ExecQuery _ ("ASSOCIATORS OF {Win32_Group.Domain='" & objItem.Domain & "',Name='" & objItem.Name & "'} WHERE AssocClass = Win32_GroupUser") Wcript.Echo objAdmin.Name 
    Next
 Next
»
К сожалению ни чего не выводит.(Пустая строка).

Цитата amel27:
Код: Выделить весь код
Set objGRP = GetObject("WinNT://./Administrators,Group")
For Each objMember In objGRP.Members
    strList = strList & objMember.Name & vbCRLF
Next
WScript.Echo strList
»
Цитата amel27:
Код: Выделить весь код
Set objWMI = GetObject("winmgmts:\\.\root\cimv2")
Set objNet = CreateObject("WScript.Network")
Set objREx = CreateObject("VBScript.RegExp")
objREx.Pattern = "^.*\.Domain=""([^""]+)"",Name=""([^""]+)"".*$"
objREx.IgnoreCase = True 
For Each objGroup In objWMI.ExecQuery _ ("SELECT * FROM Win32_Group WHERE LocalAccount=TRUE And SID='S-1-5-32-544'")
    For Each objItem In objWMI.ExecQuery _ ("SELECT * FROM Win32_GroupUser WHERE GroupComponent=""Win32_Group.Domain='"& objNet.ComputerName &"',Name='"& objGroup.Name &"'""") WScript.Echo objREx.Replace(objItem.PartComponent,"$1\$2")
    Next
Next
»
Работает. А можно ли эти скрипты запустить на удалённой машине?

Отправлено: 17:45, 09-11-2009 | #5


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


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

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


Цитата Jonik-Mnimonik:
К сожалению ни чего не выводит.(Пустая строка). »
Хм, а с домашнего компьютера выводит, чтож всем спасибо за ответы, скрипты рабочие, буду разбираться в дальше.

Отправлено: 19:47, 09-11-2009 | #6


Googler


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

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


Цитата Jonik-Mnimonik:
можно ли эти скрипты запустить на удалённой машине? »
можно:
Код: Выделить весь код
strComputer = "MyComputer"
strGroup = "Администраторы"

Set objGRP = GetObject("WinNT://"& strComputer &"/"& strGroup &",Group")

For Each objMember In objGRP.Members 
  strList = strList & objMember.Name & vbCRLF
Next 

WScript.Echo strList
Код: Выделить весь код
strComputer = "MyComputer"

Set objWMI = GetObject("winmgmts:\\"& strComputer &"\root\cimv2")
Set objNet = CreateObject("WScript.Network")
Set objREx = CreateObject("VBScript.RegExp")

objREx.Pattern = "^.*\.Domain=""([^""]+)"",Name=""([^""]+)"".*$"
objREx.IgnoreCase = True 

For Each objGroup In objWMI.ExecQuery _ 
     ("SELECT * FROM Win32_Group WHERE LocalAccount=TRUE And SID='S-1-5-32-544'")
   For Each objItem In objWMI.ExecQuery _
     ("SELECT * FROM Win32_GroupUser WHERE GroupComponent=""Win32_Group.Domain='"& strComputer &"',Name='"& objGroup.Name &"'""")
      WScript.Echo objREx.Replace(objItem.PartComponent,"$1\$2")
   Next
Next

Отправлено: 04:16, 10-11-2009 | #7


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


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

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


Огромное спасибо.

Отправлено: 19:51, 11-11-2009 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Поиск пользователей с правами администраторов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Определение пользователей с правами администратора Jonik-Mnimonik Программирование и базы данных 2 26-10-2009 11:11
Поиск администраторов в локальной сети Success Microsoft Windows NT/2000/2003 4 06-04-2009 13:52
[Ъ] Настройка политик управления правами пользователей Kthulhu Microsoft Windows NT/2000/2003 0 25-09-2006 23:36
[решено] новое AD проблема с правами пользователей mavr Microsoft Windows NT/2000/2003 7 28-06-2006 10:08
[решено] Как грамотно создать новую группу пользователей с особыми правами в системе? Gerdewski Microsoft Windows NT/2000/2003 10 18-07-2005 14:05




 
Переход