Python ile Windows Kullanıcı Yönetimi

Python programlama dili hakkında bilgiler, kaynaklar, dokümanlar ve örneklerin bulunduğu bölümümüz.
Cevapla
Kullanıcı avatarı
TRWE_2012
Mesaj Panosu Yöneticisi
Mesaj Panosu Yöneticisi
Mesajlar: 754
Kayıt: 30 Ağu 2022 21:59
Konum: DÜZCE/Akçakoca
Meslek: MADEN MÜHENDİSİ
Teşekkür etti: 186 kez
Teşekkür edildi: 612 kez
İletişim:

Python ile Windows Kullanıcı Yönetimi

Mesaj 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"
Dosya ekleri
kullanici_yonetimi.7z
TRWE_2012 ilk py kodlamasıdır.
Şubat 2025
(932 Byte) 2 kere indirildi
Verily We have granted thee a manifest Victory
Fetih Suresi - 1.Ayet


Resim
Resim

Etiketler:
Kullanıcı avatarı
TRWE_2012
Mesaj Panosu Yöneticisi
Mesaj Panosu Yöneticisi
Mesajlar: 754
Kayıt: 30 Ağu 2022 21:59
Konum: DÜZCE/Akçakoca
Meslek: MADEN MÜHENDİSİ
Teşekkür etti: 186 kez
Teşekkür edildi: 612 kez
İletişim:

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

Mesaj 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
Dosya ekleri
Python Sağ Menü.7z
TRWE_2012
Şubat 2025
Sağ Menü "Yönetici" girdi ekler veya siler.
(410 Byte) 3 kere indirildi
Verily We have granted thee a manifest Victory
Fetih Suresi - 1.Ayet


Resim
Resim
Cevapla

“Python Programlama” sayfasına dön