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

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


Moderator


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

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


volk1234, а есть ли смысл?
Можно просто обе команды выполнить:
Код: Выделить весь код
net localgroup Администраторы /add USER
net localgroup Administrators /add USER
и не напрягаться с выяснением.

Цитата volk1234:
Есть ли способ получить в переменную название группы Администраторы.
Встроенная группа Администраторы всегда имеет SID = S-1-5-32-544 (KB243330), получить имя по SID можно командой:
Код: Выделить весь код
WMIC Group Where "SID = 'S-1-5-32-544'" Get Name
или с помощью PsGetSid.

Пример:
Код: Выделить весь код
Set AdmGroupSID=S-1-5-32-544
Set AdmGroup=
ChCP 1251 >nul
For /F "Tokens=1* Delims=: " %%I In ('PsGetSid %AdmGroupSID% 2^>nul ^| Find /I "Alias:"') Do Set AdmGroup=%%J
ChCP 866 >nul
Set AdmGroup=%AdmGroup:~8%
или так:
Код: Выделить весь код
Set AdmGroupSID=S-1-5-32-544
Set AdmGroup=
For /F "UseBackQ Tokens=1* Delims==" %%I In (`WMIC Group Where "SID = '%AdmGroupSID%'" Get Name /Value ^| Find "="`) Do Set AdmGroup=%%J
Set AdmGroup=%AdmGroup:~0,-1%
В переменной AdmGroup имя группы.

Последний раз редактировалось Petya V4sechkin, 28-03-2009 в 18:25. Причина: перетряхнул WMIC.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:49, 28-03-2009 | #2