Pythonból biztonságosan meghívhatjuk a pspasswd.exe programot.
----------------
import subprocess
import getpass
import os
import sys
PSPASSWD = r"C:\Sysinternals\PsPasswd.exe"
def change_password(username):
if not os.path.isfile(PSPASSWD):
print(f"Hiba: nem található:\n{PSPASSWD}")
return False
new_password = getpass.getpass(
f"Új jelszó a(z) {username} felhasználóhoz: "
)
confirm_password = getpass.getpass(
"Új jelszó ismét: "
)
if new_password != confirm_password:
print("A két jelszó nem egyezik.")
return False
if not new_password:
print("Üres jelszó használata nem engedélyezett.")
return False
command = [
PSPASSWD,
username,
new_password
]
try:
result = subprocess.run(
command,
capture_output=True,
text=True
)
print("Kimenet:")
print(result.stdout)
if result.stderr:
print("Hiba:")
print(result.stderr)
if result.returncode == 0:
print("A jelszó módosítása sikeres.")
return True
print(
f"PsPasswd hibakód: {result.returncode}"
)
return False
except Exception as e:
print(f"Programhiba: {e}")
return False
if __name__ == "__main__":
print("=== PsPasswd Python vezérlő ===")
print()
username = input(
"Melyik helyi Windows-fiók jelszavát módosítsuk? "
).strip()
if not username:
print("Nem adtál meg felhasználónevet.")
sys.exit(1)
change_password(username)
---------------
import subprocess
def change_password(computer, username, new_password):
# A végrehajtandó parancs és argumentumai egy listában
command = [
r"C:\Path\To\pspasswd.exe", # A pspasswd.exe pontos elérési útja
f"\\\\{computer}", # Célgép (pl. \\szamitogep1)
username, # Felhasználónév
new_password # Új jelszó
]
try:
# A parancs futtatása biztonságosan, shell nélkül
result = subprocess.run(
command,
capture_output=True,
text=True,
check=True,
shell=False # Kifejezetten kikapcsolva a biztonság érdekében
)
print("Sikeres jelszómódosítás!")
print("Kimenet:", result.stdout)
except subprocess.CalledProcessError as e:
print("Hiba történt a végrehajtás során!")
print("Hibaüzenet:", e.stderr)
# Példa a használatra:
# change_password("kliens-pc", "Administrator", "TitkosJelszo2026!")
--------------
Nincsenek megjegyzések:
Megjegyzés küldése