Я знаю, что есть группа для администраторов, но для этой команды мне нужна группа только для обычных пользователей. FOR /f "skip=6 delims=" %%u IN ('net localgroup (Group here)') DO (IF "%%u" NEQ "The command completed successfully." echo %%u) Мне нужно, чтобы она появилась все стандартные пользователи. Кстати, я использую пакетное и PowerShell кодирование.

Спасибо! ~ Генри

2 ответа2

0

В зависимости от режима «Домен» или «Рабочая группа», а также в соответствии с требованиями Microsoft имена групп должны быть « Пользователи» или « Опытные пользователи» для рабочих групп и « Пользователи домена» для доменов.

0

На автономном компьютере группа « Users » содержит всех обычных пользователей, а также пару специальных группоподобных участников из NT AUTHORITY .

net localgroup Users

В PowerShell это эквивалентно:

Get-LocalGroupMember 'Users'

В качестве альтернативы вы можете использовать запрос WMI, чтобы получить только реальные учетные записи:

wmic useraccount

Это включает в себя учетную запись Guest , DefaultAccount и встроенный Administrator . Вы получаете те же результаты от PowerShell Get-LocalUser .

Если вы хотите перечислить только включенные учетные записи, вы можете сузить запрос:

wmic useraccount where "Disabled = FALSE"

То же самое в PowerShell:

Get-LocalUser | ? {$_.Enabled}

Чтобы проверить, является ли данный пользователь (в переменной $u) администратором:

(Get-LocalGroupMember 'Administrators' | ? {$_.SID -eq $u.SID}).Count -ne 0

Он получает членов группы «Администраторы» и проверяет, есть ли члены с таким же SID (идентификатором безопасности), как и у данного объекта пользователя. Вы можете получить такой пользовательский объект из Get-LocalUser или Get-LocalGroupMember .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .