1. sayfa (Toplam 1 sayfa)

Python ile Windows Kullanıcı Yönetimi

Gönderilme zamanı: 05 Şub 2025 17:29
gönderen TRWE_2012
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 :

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()
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ı :

Resim

Kod: Tümünü seç

python kullanici_yonetimi.py
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)
Resim

Oluşturulan Hesabın Silinmesi : (DENEME)
Resim

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"

Re: Python ile Windows Kullanıcı Yönetimi

Gönderilme zamanı: 05 Şub 2025 18:21
gönderen TRWE_2012
Eğer Windows terminalinde

Kod: Tümünü seç

 python kullanici_yonetimi.py
zor geliyorsa o zaman bunu Windows'a yaptıralım arka planda...

Windows Sağ Menüsüne : .py dosyalarını "Yönetici Olarak Çalıştır" girdisinin eklenmesi

run_python_as_admin.reg

Kod: Tümünü seç

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Python.File\shell\runas]
@="Yönetici olarak çalıştır"
"Icon"="C:\\Program Files\\Python313\\python.exe"

[HKEY_CLASSES_ROOT\Python.File\shell\runas\command]
@="cmd.exe /c start python \"%1\""
SİLME KODU.reg

Kod: Tümünü seç

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\Python.File\shell\runas]
SONUÇ:

Resim