Python, netdom. Переименование компьютеров. Где ошибка? Не бейте, это моя первая "программа". Требуется удаленно переименовать компьютеры в сети при помощи утилиты netdom. Проблема заключается в том, что после выполнения данной команды, она должна спросить подтверждение, но она его просто не выводит в результате чего происходит отказ в доступе.import os import getpass import subprocess old_name = str(input("Old name: ")) DNULL = open(os.devnull, 'w') response = subprocess.call(["ping", old_name], stdout=DNULL) if response == 0: new_name = str(input("New name: ")) account = str(input("Domain administrator: ")) password = getpass.getpass(prompt="Password: ") os.system("netdom renamecomputer " + old_name + " /newname:" + new_name + " /userd:111" + "\\" + account + " /passwordd:" + password) os.system("shutdown -r -f -t 300 -m \\" + old_name) print("Renaming completed.") else: print(old_name + " not found!")
Ваш код выглядит в целом правильным, но есть несколько моментов, которые могут вызвать проблемы.
Проблема с доменным именем пользователя: В строке os.system("netdom renamecomputer " + old_name + " /newname:" + new_name + " /userd:111" + "\\" + account + " /passwordd:" + password) вы указываете userd:111, который, вероятно, должен быть userd:.
Проблема с выводом подтверждения: Утилита netdom обычно запрашивает подтверждение от пользователя при выполнении операции переименования компьютера. Это подтверждение должно отображаться в информационном окне, но ваше приложение его не дожидается. Вам, вероятно, нужно изменить способ вызова netdom, чтобы он получил подтверждение.
Помимо этого, убедитесь, что ваше приложение запущено от имени администратора, чтобы получить необходимые права доступа для выполнения команд netdom и shutdown.
Попробуйте внести перечисленные выше изменения и запустить код снова.
Ваш код выглядит в целом правильным, но есть несколько моментов, которые могут вызвать проблемы.
Проблема с доменным именем пользователя:
В строке os.system("netdom renamecomputer " + old_name + " /newname:" + new_name + " /userd:111" + "\\" + account + " /passwordd:" + password) вы указываете userd:111, который, вероятно, должен быть userd:.
Проблема с выводом подтверждения:
Утилита netdom обычно запрашивает подтверждение от пользователя при выполнении операции переименования компьютера. Это подтверждение должно отображаться в информационном окне, но ваше приложение его не дожидается. Вам, вероятно, нужно изменить способ вызова netdom, чтобы он получил подтверждение.
Помимо этого, убедитесь, что ваше приложение запущено от имени администратора, чтобы получить необходимые права доступа для выполнения команд netdom и shutdown.
Попробуйте внести перечисленные выше изменения и запустить код снова.