[ файл win32test.py ]
-----------------------------------------------------------
# -*- coding: utf-8 -*-
import win32security
import win32net
import win32netcon
def authentication(user, password, domain):
"""
Аутентифицировать пользователя в домене
user - Имя пользователя в домене
password - Пароль пользователя
domain - Имя домена
"""
try:
htoken = win32security.LogonUser(
user, domain, password, win32security.LOGON32_LOGON_NETWORK,
win32security.LOGON32_PROVIDER_DEFAULT
)
if htoken:
return u"Пользователь %s успешно зарегистрирован в домене %s " % (user,domain)
except win32security.error, err:
return u"Номер ошибки: %i\nОшибку вернул %s\nОшибка: %s" % (err[0], err[1], err[2].decode('cp1251'))
except:
return u"Пользователю %s не удалось зарегистироваться в домене %s " % (user,domain)
print authentication("Kawaikunee","secretpassword","DOMEN")
def existuser(user, server, verbose=0):
"""
Проверить существование пользователя в домене.
user - Имя пользователя в домене
server - Имя Domain Controller NetBIOS. Можно указать DNS
verbose - Флаг, печатать ли информационное сообщение
"""
try:
users = win32net.NetUserEnum(
server, 0,
win32netcon.FILTER_NORMAL_ACCOUNT, 0
)
"""
users[0] - список словарей пользователей домена в Unicode, в формате
[{'name', u'Username1'},{'name', u'Username2'},{'name', u'Username3'}]
users[1] - их общее количество
"""
print users[0]
except win32net.error, err:
if verbose:
return u"Номер ошибки: %i\nОшибку вернул %s\nОшибка: %s" % (err[0], err[1], err[2].decode('cp1251'))
else:
return None
for userinfo in users[0]:
if user.decode('utf8').lower() == userinfo['name'].lower():
return u"Такой пользователь существует: %s" % user
print existuser("Kawaikunee","192.168.1.1",1)
-----------------------------------------------------------
Вот такой пример кода. Программирование - это творчество, и оно сродни поэзии. Вот так бы это описал, возможно, какой-нибудь древнерусский сказитель:
Ой ты гой еси, server-батюшка,
Ты скажи-расскажи, не утаивай!
Есть ли в списках твоих добрый молодец,
Что по логину user захаживал?
Отвечал скрипту server ласково:
Посмотри-ка милок, весь мой списочек
Молодыми да острыми глазками.
Да и выбери, кто тебе надобен.
Ну а коли ты в гости надумаешь,
То password отведет стражу лютую.
Заходи скрипт-python, в светлу горницу,
Будем мы разговор разговаривать.