Как получить имя текущего пользователя Windows (AD или локальный) с помощью Python? - PullRequest
17 голосов
/ 22 сентября 2008

Как я могу получить имя пользователя, вошедшего в систему в данный момент, используя скрипт Python? Функция должна работать независимо от того, является ли он пользователем домена / рекламы или локальным пользователем.

Ответы [ 5 ]

27 голосов
/ 22 сентября 2008

Попробуйте это:

import os;
print os.environ.get( "USERNAME" )

Это должно сделать работу.

4 голосов
/ 09 июля 2014

как в https://stackoverflow.com/a/842096/611007 Константин Тензин

Посмотрите на getpass module

import getpass
getpass.getuser()

Доступность: Unix, Windows

Примечание " эта функция смотрит на значения различных сред переменные для определения имени пользователя. Следовательно, эта функция должна не полагаться на цели контроля доступа (или, возможно, любой другой цель, поскольку он позволяет любому пользователю выдавать себя за другого)."

по крайней мере, определенно предпочтительнее, чем getenv.

2 голосов
/ 03 января 2010
win32api.GetUserName()

win32api.GetUserNameEx(...) 

См: http://timgolden.me.uk/python/win32_how_do_i/get-the-owner-of-a-file.html

1 голос
/ 22 сентября 2008

Я не знаю Python, но для windows базовый api GetUserNameEx , я предполагаю, что вы можете вызвать это в Python, если os.environ.get ("USERNAME") не говорит вам все тебе нужно знать.

0 голосов
/ 31 мая 2014

Довольно старый вопрос, но чтобы обновить ответ на оригинальный вопрос "Как я могу получить имя пользователя, вошедшего в систему в данный момент, используя скрипт python?" Применение:

import os
print (os.getlogin())

По документации Python: getlogin - возвращает имя пользователя, вошедшего в систему на управляющем терминале процесса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...