Genel

PassGenerate

Bu script parola oluşturmak için başka sitelere gitmeden kendiniz oluşturun diye hazırlanmıştır.


# Version: 1.1
# Author: Emrah Tolu

Function Generate-Pass {
    param (
        [int]$Option,
        [bool]$IncludeUpperCase = $true,
        [bool]$IncludeLowerCase = $true,
        [bool]$IncludeNumbers = $true,
        [bool]$IncludeSpecial = $true,
        [string]$ExcludeCharacters = "",
        [string]$CustomLength = ""
    )

    # Eğer Option değeri yoksa kullanıcıdan seçim al
    if (-not $Option) {
        Write-Host "`n[Şifre Uzunluğu Seçin]"
        Write-Host "1 - Kısa (5 karakter)"
        Write-Host "2 - Orta (10 karakter)"
        Write-Host "3 - Uzun (15 karakter)"
        Write-Host "4 - Çok Uzun (23 karakter)"
        $Option = Read-Host "Seçiminizi yapın (1-4)"
    }

    # Geçerli bir seçenek olup olmadığını kontrol et
    if ($Option -notin 1,2,3,4) {
        Write-Host "Hata: Geçersiz seçenek! Lütfen 1-4 arasında bir değer girin." -ForegroundColor Red
        return
    }

    # Şifre uzunluğu eşleşmeleri
    $LengthMap = @{ 1 = 5; 2 = 10; 3 = 15; 4 = 23 }
    $Digits = if ($CustomLength -match '^[0-9]+$') { [int]$CustomLength } else { $LengthMap[$Option] }

    # Kullanıcıya opsiyonları sorma
    Write-Host "`n[Şifre Karakter Seçenekleri] (Evet için 'E', Hayır için 'H' girin)"
    $IncludeUpperCase = (Read-Host "Büyük Harfler Kullanılsın mı? (E/H)") -eq "E"
    $IncludeLowerCase = (Read-Host "Küçük Harfler Kullanılsın mı? (E/H)") -eq "E"
    $IncludeNumbers = (Read-Host "Rakamlar Kullanılsın mı? (E/H)") -eq "E"
    $IncludeSpecial = (Read-Host "Özel Karakterler Kullanılsın mı? (E/H)") -eq "E"
    
    $ExcludeCharacters = Read-Host "Hariç tutulacak karakterleri girin (Boş bırakabilirsiniz)"

    # Karakter kümeleri
    $UpperCase = if ($IncludeUpperCase) { 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.ToCharArray() } else { @() }
    $LowerCase = if ($IncludeLowerCase) { 'abcdefghijklmnopqrstuvwxyz'.ToCharArray() } else { @() }
    $Numbers = if ($IncludeNumbers) { '0123456789'.ToCharArray() } else { @() }
    $Special = if ($IncludeSpecial) { '!@#$%^&*()-_=+[]{}|;:,.<>?/`~'.ToCharArray() } else { @() }

    # Hariç tutulacak karakterleri temizle
    $ExcludeSet = $ExcludeCharacters.ToCharArray()
    $UpperCase = $UpperCase | Where-Object { $_ -notin $ExcludeSet }
    $LowerCase = $LowerCase | Where-Object { $_ -notin $ExcludeSet }
    $Numbers = $Numbers | Where-Object { $_ -notin $ExcludeSet }
    $Special = $Special | Where-Object { $_ -notin $ExcludeSet }

    # Kullanılabilir karakterleri birleştir
    $AllCharacters = $UpperCase + $LowerCase + $Numbers + $Special
    if ($AllCharacters.Count -eq 0) {
        Write-Host "Hata: En az bir karakter türü seçilmelidir." -ForegroundColor Red
        return
    }

    # Her kategoriden en az bir karakter seç
    $Password = @()
    if ($UpperCase.Count -gt 0) { $Password += $UpperCase | Get-Random -Count 1 }
    if ($LowerCase.Count -gt 0) { $Password += $LowerCase | Get-Random -Count 1 }
    if ($Numbers.Count -gt 0) { $Password += $Numbers | Get-Random -Count 1 }
    if ($Special.Count -gt 0) { $Password += $Special | Get-Random -Count 1 }

    # Kalan karakterleri rastgele seç
    $RemainingCount = $Digits - $Password.Count
    if ($RemainingCount -gt 0) {
        $Password += $AllCharacters | Get-Random -Count $RemainingCount
    }

    # Karakterleri karıştır ve birleştir
    $FinalPassword = ($Password | Get-Random -Count $Password.Count) -join ''
    
    # Sonucu ekrana yazdır
    Write-Host "`nOluşturulan Şifre: " -NoNewline -ForegroundColor Yellow
    Write-Host $FinalPassword -ForegroundColor Green
}

# Script başlatıldığında fonksiyonu çağır
Generate-Pass


📌 Kullanımı:
Github kodunu kopyala scripts klasörüne kaydet Sonra scripti çalıştır (.\Generate-Pass.ps1)
Seçim yap, opsiyonları belirle, parolayı kolayca al! 🚀

Hangi özelliklere sahiptir.
1️⃣ İnteraktif Kullanım
Script çalıştırıldığında, kullanıcıdan seçim yapmasını ister.
Generate-Pass -Option gibi komutlarla çağırmaya gerek yoktur.

2️⃣ Parola Uzunluğu Seçimi
4 farklı uzunluk seçeneği sunar:
1 → Kısa (5 karakter)
2 → Orta (10 karakter)
3 → Uzun (15 karakter)
4 → Çok Uzun (23 karakter)
Kullanıcı özel bir uzunluk da belirleyebilir.

3️⃣ Parola Kategorileri Seçimi
Kullanıcıya şu karakterleri dahil edip etmeyeceği sorulur:
✅ Büyük harfler (A-Z)
✅ Küçük harfler (a-z)
✅ Rakamlar (0-9)
✅ Özel karakterler (!@#$%^&*…)
Kullanıcı ‘E’ (Evet) veya ‘H’ (Hayır) ile seçim yapar.

4️⃣ Hariç Tutulacak Karakterleri Belirleme
Kullanıcı, belirli karakterleri hariç tutabilir (örn: o, 0, l, 1).
Girilen karakterler parola oluşturulurken kullanılmaz.

5️⃣ Zorunlu Karakter Kullanımı
Seçilen her kategoriden en az 1 karakter mutlaka eklenir.
parola tamamen rastgele oluşturulur.

6️⃣ Parolayı Renklendirilmiş Çıktı ile Gösterme
“Oluşturulan parola: ” mesajı sarı, parola yeşil renkte görüntülenir.
Kullanıcı kolayca okuyabilir.

7️⃣ Hata Kontrolleri
Kullanıcı yanlış giriş yaparsa, hata mesajı verir.
En az bir karakter türü seçilmezse uyarır ve işlemi iptal eder.

Bu script ile artık başka sitelere gitmeden, tamamen kişiselleştirilmiş ve güvenli parolalar oluşturabilirsiniz. Detaylar ve kod için: https://lnkd.in/dcjVEuBN

(0)