Как я решил проблему:
Я создаю сценарий powershell временно при запуске .exe вместо того, чтобы пытаться упаковать в один .exe файл python, например:
with open("C:\\Temp\\newusers.ps1", 'w', encoding='utf8') as f:
f.write('$s = "OU=,DC=,DC="\n$User = Get-ADUser -Filter * -Properties name, employeeID -Searchbase $s | Select-Object -Property name,employeeID\n$User | Out-File -Encoding utf8 C:\\Users\\USER\\Desktop\\users.txt')`
и после закрытия графического интерфейса я удаляю скрипт .ps1:
os.remove('C:\\Temp\\newusers.ps1')
Упаковка файла python в .exe.
Шаг первый: установка pyinstaller
pip install pyinstaller
Шаг второй: используйте его
pyinstaller -F C:\Path\to\your\file.py