Хотя это просто в Linux, но не так просто в Windows, судя по тому, что мне удалось собрать до сих пор. Я нашел команду, которая делает то, что я хочу:
net user username /domain
Однако я хочу удалить все данные, кроме списка групп. Я думаю, что findstr может быть ответом, но я не уверен, как это использовать для этого. По сути, я предполагаю, что сценарий будет делать что-то вроде этого (если нет более конкретной команды, которая была бы потрясающей):
net user username /domain > temp.txt
findstr (or some other command) file.txt > groups.txt
del temp.txt
Результатом будет такой список:
group1; group2; group3
Я мог бы пойти об этом сложным путем, поэтому, как я уже упоминал, было бы замечательно, если бы есть команда, которая может выводить ТОЛЬКО группы безопасности пользователя.
Спасибо, парни!
Примечание: спросил об этом суперпользователя, но обнаружил, что этот сайт может быть более подходящим.
Не уверен, что это именно та вещь, которую вы ищете, но я сделал это в Windows Server 2003 (рядовой сервер, а не AD DC):
dsquery user -name "My Full Name" | dsget user -memberof | dsget group -samid
Это распечатает список групп, членом которых я являюсь, строка за строкой (без точки с запятой).
Если вам нужно что-то более интересное, вы можете использовать VBScript. Дайте мне знать, если вам нужен такой пример, и я могу попробовать что-нибудь найти.
Лучше сделать это как запрос LDAP, а затем использовать команду net http://technet.microsoft.com/en-us/library/aa996205(EXCHG.65).aspx
Или есть ADSI
http://msdn.microsoft.com/en-us/library/windows/desktop/aa772170(v=vs.85).aspx
но это может быть OTT для того, что вам нужно