Я пишу программу на python, и в моей программе мне нужно получить вошедших в систему пользователей связанные группы в Windows, а затем записать их в файл для дальнейшего использования.
Кому Для этого я сделал небольшую функцию, которая выполняет whoami /groups
в powershell, а затем возвращает результат. К сожалению, этот метод возвращает данные очень, очень уродливым и грязным способом, и из-за этого я действительно не могу его использовать.
Функция:
result = "Couldn't Execute Powershell Command ( Computer Runs In Linux )"
try:
process = subprocess.Popen(["powershell", "whoami /groups"], stdout=subprocess.PIPE)
result = process.communicate()[0]
except OSError:
pass
return result
Вывод выглядит так в file:
b'\r\nGROUP INFORMATION\r\n-----------------\r\n\r\nGroup Name Type SID Attributes \r\n===================================================== ================ ============ ==================================================\r\nEveryone Well-known group S-1-1-0 Mandatory group, Enabled by default, Enabled group\r\nNT AUTHORITY\\??\x87\x99\x81\x85\x8f \x8e\x97\x85\x8e\x89 \x85\x87\x81\x98 \x81\x97\x81\x85\x96\x9a Administrators Well-known group S-1-5-114 Group used for deny only \r\nBUILTIN\\Administrators Alias S-1-5-32-544 Group used for deny only \r\nBUILTIN\\Performance Log Users Alias S-1-5-32-559 Mandatory group, Enabled by default, Enabled group\r\nBUILTIN\\Users Alias S-1-5-32-545 Mandatory group, Enabled by default, Enabled group\r\nNT AUTHORITY\\INTERACTIVE Well-known group S-1-5-4 Mandatory group, Enabled by default, Enabled group\r\nCONSOLE LOGON Well-known group S-1-2-1 Mandatory group, Enabled by default, Enabled group\r\nNT AUTHORITY\\Authenticated Users Well-known group S-1-5-11 Mandatory group, Enabled by default, Enabled group\r\nNT AUTHORITY\\This Organization Well-known group S-1-5-15 Mandatory group, Enabled by default, Enabled group\r\nNT AUTHORITY\\??\x87\x99\x81\x85\x8f \x8e\x97\x85\x8e\x89 Well-known group S-1-5-113 Mandatory group, Enabled by default, Enabled group\r\nLOCAL Well-known group S-1-2-0 Mandatory group, Enabled by default, Enabled group\r\nNT AUTHORITY\\NTLM Authentication Well-known group S-1-5-64-10 Mandatory group, Enabled by default, Enabled group\r\nMandatory Label\\Medium Mandatory Level Label S-1-16-8192 \r\n'
Я искал в сети другое решение, но мне не удалось найти решение, которое работает в windows. (К сожалению, только в linux, используя библиотеку grp)
Есть ли способ найти в настоящий момент вошедшие в систему группы, связанные с пользователем, способом, подобным этому?
user groups:
group1
group2
group3
ect...