Цитата volk1234:
Правда я упорно не могу найти справки по wmic
|
Пуск -> Справка и поддержка -> Найти -> WMIC
Там общие сведения о синтаксисе, командах. Например,
GET - получение
свойств (Properties),
CALL - выполнение
метода (Method). Что касается списка
классов, вот
полный перечень на MSDN. Например,
псевдоним UserAccount соответствует
классу Win32_UserAccount, а
Group -
Win32_Group.
Еще ссылки:
Доступ к WMI из командной строки. Командная оболочка WMIC
Командная строка инструментария управления Windows (WMIC)
Цитата volk1234:
Я копирую ваш скрипт меняю RID на 545
|
Что такое 545, можете сказать?
Статью
KB243330 внимательно читали?
Чувствуете разницу между
Group и
UserAccount?
Цитата volk1234:
И когда применяется SID=1-5-32-500
|
Не существует такого SID. Еще раз в статью
KB243330.
Цитата KB243330:
- SID: S-1-5-домен-500
Название: Администратор
|
Это учетная запись, UserAccount.
Курсивом выделенное
домен - это буквы/цифры из SID домена или компьютера (уникальные для каждого компьютера). Значит, для получения имени встроенной учетки Администратор достаточно найти такой UserAccount, у которого SID = S-1-5-
любая_последовательность_символов-500. В языке запросов SQL (или WQL) это делается оператором
LIKE (любая последовательность задается спецсимволом "%" (процент)) в условии
WHERE:
Код:
![Выделить весь код](images/misc/selectcode.png)
LocalAccount = True And SID Like 'S-1-5-%-500'
LocalAccount нужно, если комп в домене (чтобы выбиралась только локальная учетка). Примем во внимание, что в батнике символ "%" также является специальным, для его экранирования нужно продублировать: %%.
Надеюсь, теперь вам понятно, как формируется условие
WHERE в 13-м посту?
Цитата KB243330:
- SID: S-1-5-32-545
Название: Пользователи
|
Это группа, Group.
Никаких уникальных букв/цифр здесь нет. Значит, условие поиска упрощается (LIKE не нужен).
P. S. Надеюсь, что все понятно (еще раз такие полотна писать не хочется).
P. P. S. Для иллюстрации вышесказанного выполните батник (и сравните команды):
Код:
![Выделить весь код](images/misc/selectcode.png)
@Echo Off
WMIC Group Where "LocalAccount = True And SID = 'S-1-5-32-545'" Get Name, SID /Value
WMIC UserAccount Where "LocalAccount = True And SID Like 'S-1-5-%%-500'" Get Name, SID /Value
Pause