У меня есть следующий код, где у меня есть список имен пользователей, и я пытаюсь проверить, находятся ли пользователи в определенной группе Windows, используя net user \domain | find somegroup
.
Проблема заключается в том, что я запускаю эту команду для примерно 8 пользовательских групп для каждого имени пользователя, и она медленная. Я хотел бы отправить эти вызовы с использованием фьючерсов и даже отдельных потоков (если это ускорится).
Мне просто нужно подождать в конце, прежде чем я сделаю что-нибудь еще. Как мне это сделать в Python?
for one_username in user_list:
response = requests.get(somecontent)
bs_parsed = BeautifulSoup(response.content, 'html.parser')
find_all2 = bs_parsed.find("div", {"class": "QuickLinks"})
name = re.sub("\s\s+", ' ', find_all2.find("td", text="Name").find_next_sibling("td").text)
find_all = bs_parsed.find_all("div", {"class": "visible"})
all_perms = ""
d.setdefault(one_username + " (" + name + ")", [])
for value in find_all:
test = value.find("a", {"onmouseover": True})
if test is not None:
if "MyAppID" in test.text:
d[one_username + " (" + name + ")"].append(test.text)
for group in groups:
try:
d[one_username + " (" + name + ")"].append(check_output("net user /domain " + one_username + "| find \"" + group + "\"", shell=True, stderr=subprocess.STDOUT).strip().decode("utf-8"))
except Exception:
pass