사용자가 컴퓨터에 액세스 할 수 있는지 확인하려고합니다.Windows 사용자가 파이썬이 있는지 확인하십시오.
내가 설명 here로 LogonUser를 사용하려고 해요 :
logging.info("checking credentials")
try:
win32security.LogonUser (
name,
domain,
password,
win32security.LOGON32_LOGON_NETWORK,
win32security.LOGON32_PROVIDER_DEFAULT
)
except win32security.error, e:
logging.warn(e)
raise e
else:
logging.info('pass')
그러나 나는 name
또는 password
로두고 어떤 (domain = None
말) 항상 전달합니다.
내가 누락 된 항목이 있습니까?
UPDATE는 : 재현 :
import win32security
print win32security.LogonUser (
"asdasdasdasdfagf",
None,
"asdasdasdasdasda",
win32security.LOGON32_LOGON_NETWORK,
win32security.LOGON32_PROVIDER_DEFAULT
)
출력 : 나는 실제로 당신이 후에있는 대답, 당신이 테스트하는 일 사이에서 볼 수있는 유일한 차이점 의심하지만
<PyHANDLE at 34009576 (276)>
글쎄, 당신의 편집은 확실히 질문을 바꿉니다! 내 시간을 낭비 해줘서 고마워. –
@DavidHeffernan, 왜 -1인지 이해하지 못합니다. 질문은 파이썬 101에서 온 것이 아닙니다. 분명히 게시하기 전에 연구하려고했습니다. –
코드가 완전히 다른 시점에 원래 질문 한 질문에 대답했기 때문에. 이제 완전히 다른 질문을하기 위해 편집합니다. 내 지금 삭제 된 답변 코드를 사용하십시오. –