Как узнать полное имя владельца текущей учетной записи?
На работе у каждого своя учетная (windows) запись в домене.
Я для своей программы хочу выводить ФИО автоматически, благо каждая учетка подписана.
Но все способы которые нашел выдают только имя аккаунта, а как получить имя владельца учетки?
import win32api import win32net user_properties = win32net.NetUserGetInfo(None, win32api.GetUserName(), 20)
но он выдает ошибку:
user_properties = win32net.NetUserGetInfo(None, win32api.GetUserName(), 20) pywintypes.error: (2221, 'NetUserGetInfo', 'Не найдено имя пользователя.')
Я так понимаю, что проблема в том, что на самом ПК такого юзера нет, а берется он из домена.
- Вопрос задан более года назад
- 198 просмотров
1 комментарий
Простой 1 комментарий
Как узнать имя накопителя, на котором стоит ОС
Ну хорошо, а если мне надо открыть какой-то файл из папки «Документы», при этом подставив название диска, то как реализовать это?
7 фев 2023 в 16:01
А «Документы» вообще не в appdata. Про выяснение расположения пользовательских папок я писал здесь: Как получить пути к стандартным папкам пользователя (Рабочий стол, Загрузки и т.п.)?
7 фев 2023 в 16:21
В пути вижу упоминание временного каталога. Он хранится в переменной %TMP% , если что.
8 фев 2023 в 0:04
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
В моем случае помогло os.path.expanduser(‘~’) . Пример использования:
x = os.path.expanduser('~') print(x)
C:\Users\KakaBik
Насколько я понял, работает это одинаково и на Linux, и на MacOS. Только пути будут разные
Отслеживать
ответ дан 8 фев 2023 в 14:49
45 5 5 бронзовых знаков
В вопросе одно, в комментариях другое, в ответе третье. Бардак какой-то. Ну и каталог пользователя может находиться не на системном диске
8 фев 2023 в 14:52
Нет, каталог пользователя не может быть перемещён. Он всегда будет только на том диске, где система. Могут быть перемещены только папки в каталоге например: «Рабочий стол», «Загрузки» и другие. Спасибо за ссылку на ваш ответ, очень информативно
8 фев 2023 в 15:25
Может-может, хотя делать это и не рекомендуется. Вот упоминание такого перемещения на сайте Microsoft есть, например learn.microsoft.com/en-US/troubleshoot/windows-server/…
Как вывести имя пользователя и бота в Python?
Здравствуйте, не подскажете как вывести в сообщении имя юзера (first.name) и имя бота? Использую библиотеку aiogram.
Раньше использовал teleBot так вот там примерно так будет:
bot.send_message(message.chat.id, "Привет, ! \n Я - , parse_mode='html', reply_markup=markup)
Заранее спасибо.
- Вопрос задан более двух лет назад
- 2952 просмотра
Комментировать
Решения вопроса 0
Ответы на вопрос 3

soremix @SoreMix Куратор тега Python
message.from_user.last_name message.from_user.first_name
Ответ написан более двух лет назад
Нравится 2 2 комментария
Max020899 @Max020899 Автор вопроса
Оно должно быть вот так?
@dp.message_handler(commands=['start', 'help']) async def send_welcome(message: types.Message): await message.from_user.first_name( "Привет, **! \n Я бот - **", reply = False, parse_mode= 'Markdown')
Просто вообще не выводит ничего.

soremix @SoreMix Куратор тега Python
Max020899, оно и не должно выводить.
В message.from_user.last_name лежит имя пользователя, в message.from_user.first_name — фамилия, в bot.get_me().first_name — имя бота
Модуль os

Модуль os предоставляет множество функций для работы с операционной системой, причём их поведение, как правило, не зависит от ОС, поэтому программы остаются переносимыми. Здесь будут приведены наиболее часто используемые из них.
Будьте внимательны: некоторые функции из этого модуля поддерживаются не всеми ОС.
os.name — имя операционной системы. Доступные варианты: ‘posix’, ‘nt’, ‘mac’, ‘os2’, ‘ce’, ‘java’.
os.environ — словарь переменных окружения. Изменяемый (можно добавлять и удалять переменные окружения).
os.getlogin() — имя пользователя, вошедшего в терминал (Unix).
os.getpid() — текущий id процесса.
os.uname() — информация об ОС. возвращает объект с атрибутами: sysname — имя операционной системы, nodename — имя машины в сети (определяется реализацией), release — релиз, version — версия, machine — идентификатор машины.
os.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True) — проверка доступа к объекту у текущего пользователя. Флаги: os.F_OK — объект существует, os.R_OK — доступен на чтение, os.W_OK — доступен на запись, os.X_OK — доступен на исполнение.
os.chdir(path) — смена текущей директории.
os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True) — смена прав доступа к объекту (mode — восьмеричное число).
os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True) — меняет id владельца и группы (Unix).
os.getcwd() — текущая рабочая директория.
os.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True) — создаёт жёсткую ссылку.
os.listdir(path=».») — список файлов и директорий в папке.
os.mkdir(path, mode=0o777, *, dir_fd=None) — создаёт директорию. OSError, если директория существует.
os.makedirs(path, mode=0o777, exist_ok=False) — создаёт директорию, создавая при этом промежуточные директории.
os.remove(path, *, dir_fd=None) — удаляет путь к файлу.
os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None) — переименовывает файл или директорию из src в dst.
os.renames(old, new) — переименовывает old в new, создавая промежуточные директории.
os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None) — переименовывает из src в dst с принудительной заменой.
os.rmdir(path, *, dir_fd=None) — удаляет пустую директорию.
os.removedirs(path) — удаляет директорию, затем пытается удалить родительские директории, и удаляет их рекурсивно, пока они пусты.
os.symlink(source, link_name, target_is_directory=False, *, dir_fd=None) — создаёт символическую ссылку на объект.
os.sync() — записывает все данные на диск (Unix).
os.truncate(path, length) — обрезает файл до длины length.
os.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True) — модификация времени последнего доступа и изменения файла. Либо times — кортеж (время доступа в секундах, время изменения в секундах), либо ns — кортеж (время доступа в наносекундах, время изменения в наносекундах).
os.walk(top, topdown=True, onerror=None, followlinks=False) — генерация имён файлов в дереве каталогов, сверху вниз (если topdown равен True), либо снизу вверх (если False). Для каждого каталога функция walk возвращает кортеж (путь к каталогу, список каталогов, список файлов).
os.system(command) — исполняет системную команду, возвращает код её завершения (в случае успеха 0).
os.urandom(n) — n случайных байт. Возможно использование этой функции в криптографических целях.
os.path — модуль, реализующий некоторые полезные функции на работы с путями.
Для вставки кода на Python в комментарий заключайте его в теги