Python ile Windows Kullanıcı Yönetimi
Gönderilme zamanı: 05 Şub 2025 17:29
Bu forum konusun da, Python kullanarak Windows işletim sisteminde kullanıcı hesaplarını yönetmek için basit bir betik oluşturmayı öğreneceksiniz. Betik, kullanıcıları listeleme, yeni kullanıcı oluşturma, kullanıcı silme ve şifre değiştirme gibi temel işlemleri gerçekleştirecektir.
Gerekli Kütüphaneler
Python'da sistem komutlarını çalıştırmak için subprocess modülünü kullanacağız. Bu modül, dış komutları çalıştırmamıza ve çıktısını almamıza olanak tanır.
Kod İçeriği :
Betik Yapısı
1.Komut Çalıştırma Fonksiyonu:
execute_command(command) fonksiyonu, verilen komutu çalıştırır ve çıktısını döndürür. Çıktıyı cp850 kodlamasıyla decode ederek Türkçe karakterlerin doğru bir şekilde görüntülenmesini sağlar.
2.Kullanıcıları Listeleme:
list_users() fonksiyonu, net user komutunu kullanarak mevcut kullanıcı hesaplarını listeler.
3.Yeni Kullanıcı Oluşturma:
create_user(username, password) fonksiyonu, belirtilen kullanıcı adı ve şifre ile yeni bir kullanıcı hesabı oluşturur.
4.Kullanıcı Silme:
delete_user(username) fonksiyonu, belirtilen kullanıcı adını kullanarak o kullanıcıyı siler.
5.Şifre Değiştirme:
change_password(username, new_password) fonksiyonu, belirtilen kullanıcı için yeni bir şifre atar.
6.Ana Fonksiyon:
main() fonksiyonu, kullanıcıdan hangi işlemi yapmak istediğini sorar ve uygun fonksiyonu çağırır.
Nasıl Çalıştırılacak Betik :
Örnek Windows Terminal Çıktısı :
Ekran Görüntüleri : (Sistem : Windows 11 Yapı 22H2 Home x64, Python sürümü : 3.13.0 )
Kullanıcı Hesabı Oluşturulması : (DENEME)
Oluşturulan Hesabın Silinmesi : (DENEME)
NOT:
Windows 11-10 sisteminizde Python ve Kütüphaneleri yüklü değilse bu betiği kullanamazsınız.
Windows Terminalini "Yönetici olarak çalıştırın"
Oluşturulan hesaplar "Standart Kullanıcı Hesabı'dır"
Gerekli Kütüphaneler
Python'da sistem komutlarını çalıştırmak için subprocess modülünü kullanacağız. Bu modül, dış komutları çalıştırmamıza ve çıktısını almamıza olanak tanır.
Kod İçeriği :
Kod: Tümünü seç
import subprocess
def execute_command(command):
"""Komutu çalıştır ve çıktıyı döndür."""
result = subprocess.run(command, capture_output=True, text=False, shell=True)
# Çıktıyı decode et ve döndür
return result.stdout.decode('cp850', errors='replace').strip()
def list_users():
"""Kullanıcıları listele."""
print("Kullanıcı Hesapları:")
output = execute_command("net user")
print(output)
def create_user(username, password):
"""Yeni bir kullanıcı oluştur."""
command = f"net user {username} {password} /add"
output = execute_command(command)
print(f"Kullanıcı hesabı oluşturuldu: {username}")
def delete_user(username):
"""Kullanıcıyı sil."""
command = f"net user {username} /delete"
output = execute_command(command)
print(f"Kullanıcı hesabı silindi: {username}")
def change_password(username, new_password):
"""Kullanıcının şifresini değiştir."""
command = f"net user {username} {new_password}"
output = execute_command(command)
print(f"Kullanıcının şifresi değiştirildi: {username}")
def main():
while True:
print("\nYapmak istediğiniz işlemi seçin:")
print("1 - Kullanıcıları Listele")
print("2 - Yeni Kullanıcı Oluştur")
print("3 - Kullanıcı Sil")
print("4 - Şifre Değiştir")
print("5 - Çıkış")
choice = input("Seçiminizi yapın (1-5): ")
if choice == "1":
list_users()
elif choice == "2":
username = input("Oluşturmak istediğiniz kullanıcı adını girin: ")
password = input("Kullanıcı için bir şifre girin: ")
create_user(username, password)
elif choice == "3":
username = input("Silmek istediğiniz kullanıcı adını girin: ")
delete_user(username)
elif choice == "4":
username = input("Şifresini değiştirmek istediğiniz kullanıcı adını girin: ")
new_password = input("Yeni şifreyi girin: ")
change_password(username, new_password)
elif choice == "5":
print("Çıkılıyor...")
break
else:
print("Geçersiz seçim. Lütfen tekrar deneyin.")
if __name__ == "__main__":
main()
1.Komut Çalıştırma Fonksiyonu:
execute_command(command) fonksiyonu, verilen komutu çalıştırır ve çıktısını döndürür. Çıktıyı cp850 kodlamasıyla decode ederek Türkçe karakterlerin doğru bir şekilde görüntülenmesini sağlar.
2.Kullanıcıları Listeleme:
list_users() fonksiyonu, net user komutunu kullanarak mevcut kullanıcı hesaplarını listeler.
3.Yeni Kullanıcı Oluşturma:
create_user(username, password) fonksiyonu, belirtilen kullanıcı adı ve şifre ile yeni bir kullanıcı hesabı oluşturur.
4.Kullanıcı Silme:
delete_user(username) fonksiyonu, belirtilen kullanıcı adını kullanarak o kullanıcıyı siler.
5.Şifre Değiştirme:
change_password(username, new_password) fonksiyonu, belirtilen kullanıcı için yeni bir şifre atar.
6.Ana Fonksiyon:
main() fonksiyonu, kullanıcıdan hangi işlemi yapmak istediğini sorar ve uygun fonksiyonu çağırır.
Nasıl Çalıştırılacak Betik :
Örnek Windows Terminal Çıktısı :
Kod: Tümünü seç
python kullanici_yonetimi.py
Kullanıcı Hesabı Oluşturulması : (DENEME)
Oluşturulan Hesabın Silinmesi : (DENEME)
NOT:
Windows 11-10 sisteminizde Python ve Kütüphaneleri yüklü değilse bu betiği kullanamazsınız.
Windows Terminalini "Yönetici olarak çalıştırın"
Oluşturulan hesaplar "Standart Kullanıcı Hesabı'dır"