PowerShell'de Rastgele Sayılar Nasıl Oluşturulur?


Son zamanlarda birisi bana PowerShell'de rastgele sayılar üretmenin farklı yöntemlerini sordu. Örneklerle farklı yöntemler önerdim. Bu eğitimde size PowerShell'de rastgele sayıların nasıl oluşturulacağını örneklerle göstereceğim.

PowerShell'de rastgele sayılar oluşturmak için Get-Random cmdlet'ini kullanabilirsiniz. Örneğin, tek bir rastgele sayı oluşturmak için, rastgele bir 32 bitlik tamsayı çıktısı verecek olan Get-Random komutunu çalıştırmanız yeterlidir. Belirli bir aralıkta rastgele bir sayıya ihtiyacınız varsa 1 ile 99 arasında rastgele bir sayı elde etmek için Get-Random -Minimum 1 -Maximum 100 komutunu kullanın.

PowerShell'de Rastgele Sayılar Oluşturma

PowerShell'de rastgele sayılar oluşturmak ve koleksiyonlardan rastgele öğeler seçmek için Get-Random cmdlet'ini kullanabilirsiniz.

Bu cmdlet'i kullanarak PowerShell'de tek bir rastgele sayı oluşturmanın bir örneğini size göstereyim.

Get-Random cmdlet'inin en basit kullanımı tek bir rastgele sayı oluşturmaktır. Varsayılan olarak, Get-Random rastgele 32 bitlik bir tamsayı üretir. Bu, 0 ile Int32.MaxValue (2,147,483,647) arasında rastgele bir sayı üretecektir.

$randomNumber = Get-Random
Write-Output $randomNumber

Varsayılan olarak, Get-Random negatif olmayan rastgele bir tamsayı üretir. Yukarıdaki PowerShell betiğini çalıştırdım ve tam çıktıyı görebilirsiniz. Aşağıdaki ekran görüntüsünde gösterildiği gibi rastgele bir sayı üretti.

PowerShell Global Değişkenlerine göz atın

PowerShell'de aralık dahilinde rastgele sayılar oluşturun

Şimdi size PowerShell'de aralık dahilinde rastgele bir sayının nasıl oluşturulacağını göstereyim.

Belirli bir aralıkta rastgele sayı üretmek istiyorsanız minimum ve maksimum değerleri parametre olarak belirtmeniz gerekir. -Minimum parametresi kapsayıcı alt sınırı ayarlarken, -Maximum parametresi dışlayıcı üst sınırı ayarlar.

# Generate a random number between 1 and 100
$randomNumber = Get-Random -Minimum 1 -Maximum 100
Write-Output $randomNumber

Bu örnekte rastgele sayı 1 (dahil) ile 100 (hariç) arasında olacaktır. Bu, rastgele kimlikler oluşturma, rastgele dizinler seçme veya belirli bir aralıkta sayı gerektiren herhangi bir uygulama gibi senaryolar için kullanışlıdır.

Aşağıdaki ekran görüntüsünde görebileceğiniz çıktı:

PowerShell: 1 ile 10 arasında rastgele sayı

1 ile 10 arasında rastgele bir sayı oluşturmak istediğiniz gibi özel gereksinimleriniz varsa yukarıdaki PowerShell betiğini aşağıdaki gibi değiştirebilirsiniz:

# Generate a random number between 1 and 10
$randomNumber = Get-Random -Minimum 1 -Maximum 11
Write-Output $randomNumber

Bu örnekte rastgele sayı 1 (dahil) ile 11 (hariç) arasında olacaktır. Bu, olası sonuçlar arasında 10 sayısının da yer almasını sağlar. Yukarıdaki PowerShell betiğini çalıştırdığınızda bu, 1 ile 10 arasında rastgele bir sayı üretecektir.

PowerShell Yerel Değişkenlerine göz atın

PowerShell'de 6 basamaklı rasgele sayı oluşturun

Rastgele altı basamaklı bir sayı oluşturmak için aralığı buna göre belirleyebilirsiniz. Altı basamaklı bir sayı 100000 ila 999999 arasında değişir; bu nedenle -Minimum'unuzu 100000'e ve -Maksimum'u 1000000'e (maksimum değer özel olduğundan) ayarlarsınız.

# Generate a random six-digit number
$randomNumber = Get-Random -Minimum 100000 -Maximum 1000000
Write-Output $randomNumber

Bu komut, oluşturulan sayının her zaman altı haneli bir tam sayı olmasını sağlar. Bu özellikle rastgele doğrulama kodları, kullanıcı kimlikleri veya sabit uzunlukta bir sayının gerekli olduğu diğer senaryoların oluşturulmasında yararlı olabilir.

Betiği VS kodunu kullanarak çalıştırdıktan sonra çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz.

PowerShell Rastgele Şifre Oluşturucuya göz atın

PowerShell'de Birden Çok Rastgele Sayı Oluşturma

Bazen PowerShell'de birden fazla rastgele sayı oluşturmanız gerekebilir.

Birden fazla rastgele sayı oluşturmak için bir döngü kullanabilir veya belirli sayıda rastgele değer oluşturmak üzere -Count parametresini belirtebilirsiniz.

İşte PowerShell betiğinin tamamı.

# Using a loop
for ($i = 0; $i -lt 5; $i++) {
    $randomNumber = Get-Random -Minimum 1 -Maximum 100
    Write-Output $randomNumber
}

# Using -Count parameter
$randomNumbers = Get-Random -Minimum 1 -Maximum 100 -Count 5
Write-Output $randomNumbers

Yukarıdaki PowerShell betiğini çalıştırdığınızda birden fazla rastgele sayı üretecektir. Betiği VS kodunu kullanarak çalıştırdıktan sonra aşağıdaki ekran görüntüsünü aldım.

PowerShell'e Nasıl Yorum Eklenir? bölümünü okuyun.

Bir Tohumla Get-Random'ı kullanın

Tekrarlanabilir rastgele sayılara ihtiyacınız varsa bir çekirdek değeri belirlemek için -SetSeed parametresini kullanabilirsiniz. Bu, birden fazla çalıştırmada aynı rastgele sayı dizisini oluşturmak isteyebileceğiniz test amaçları için kullanışlıdır.

# Generate a random number with a seed
$randomNumber1 = Get-Random -SetSeed 42
$randomNumber2 = Get-Random -SetSeed 42

Write-Output $randomNumber1
Write-Output $randomNumber2

Aynı tohum kullanıldığı için hem $randomNumber1 hem de $randomNumber2 aynı değere sahip olacaktır. Bu, rastgele sayılara dayanan komut dosyalarının hatalarını ayıklamak ve test etmek için inanılmaz derecede yararlı olabilir ve aynı koşulları tutarlı bir şekilde yeniden oluşturmanıza olanak tanır. Çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz:

Çözüm

Bu eğitimde, Get-Random cmdlet'ini kullanarak PowerShell'de rastgele sayıların nasıl oluşturulacağını anlattım. Tek rasgele sayı oluşturma, aralık belirleme, birden çok rasgele sayı oluşturma vb. konuları ele aldık. Ayrıca PowerShell'de 6 basamaklı rasgele sayının nasıl oluşturulacağını da anlattım.

İlgili makaleler