วิธีสร้างรหัสผ่านแบบสุ่มใน PowerShell (พร้อมตัวอย่าง)
บ่อยครั้งคุณอาจต้องการใช้ PowerShell เพื่อสร้างรหัสผ่านแบบสุ่มที่มีความยาวเฉพาะ
มีสองวิธีทั่วไปในการดำเนินการดังกล่าว:
วิธีที่ 1: สร้างรหัสผ่านแบบสุ่มด้วยอักขระพิเศษ
Add-Type -AssemblyName 'System.Web'
[System.Web.Security.Membership]::GeneratePassword(12, 4)
ตัวอย่างนี้ใช้วิธี GeneratePassword เพื่อสร้างรหัสผ่านแบบสุ่มที่มีอักขระทั้งหมด 12 ตัว โดยที่ อย่างน้อย 4 เป็นอักขระพิเศษ
วิธีที่ 2: สร้างรหัสผ่านแบบสุ่มโดยไม่มีอักขระพิเศษ
[System.Web.Security.Membership]::GeneratePassword(12, 4)
ตัวอย่างนี้สร้างรหัสผ่านที่มีอักขระทั้งหมด 12 ตัว และประกอบด้วยตัวอักษรและตัวเลขเท่านั้น
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ
ตัวอย่างที่ 1: สร้างรหัสผ่านแบบสุ่มด้วยอักขระพิเศษใน PowerShell
วิธีที่ง่ายที่สุดในการสร้างรหัสผ่านแบบสุ่มใน PowerShell ก็คือการใช้วิธี GeneratePassword() หลังจากโหลดแอสเซมบลี System.Web
ตัวอย่างเช่น คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อสร้างรหัสผ่านแบบสุ่มที่มีอักขระทั้งหมด 12 ตัว โดยที่อักขระอย่างน้อย 4 ตัวเป็นอักขระพิเศษ:
Add-Type -AssemblyName 'System.Web'
[System.Web.Security.Membership]::GeneratePassword(12, 4)ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
เรารันโค้ดนี้ 4 ครั้งและได้รับรหัสผ่านแบบสุ่ม 12 ตัวอักษรที่แตกต่างกันในแต่ละครั้ง
โปรดทราบว่ารหัสผ่านแต่ละอันประกอบด้วยอักขระพิเศษอย่างน้อย 4 ตัว แม้ว่ารหัสผ่านบางอันจะมีอักขระพิเศษมากกว่านั้นก็ตาม
ตัวอย่างเช่น รหัสผ่านล่าสุดที่สร้างขึ้นมีอักขระพิเศษทั้งหมด 6 ตัว:
- Lh#N*g*4r.^]
ส่วนที่ดีเกี่ยวกับการใช้เมธอด GeneratePassword() ก็คือ สามารถรวมอักขระประเภทต่อไปนี้ทั้งหมดไว้ในรหัสผ่าน:
- ตัวอักษรตัวพิมพ์เล็ก
- ตัวอักษรตัวพิมพ์ใหญ่
- ตัวเลข
- อักขระพิเศษ
ตัวอย่างที่ 2: สร้างรหัสผ่านแบบสุ่มโดยไม่มีอักขระพิเศษใน PowerShell
หากคุณต้องการสร้างรหัสผ่านแบบสุ่มใน PowerShell และไม่รวมอักขระพิเศษ คุณสามารถใช้ไวยากรณ์ต่อไปนี้:
-join((0x30..0x39)+( 0x41..0x5A)+( 0x61..0x7A) | Get-Random -Count 12 | % {[char]$_})โปรดทราบว่าตัวเลขหลังตัวดำเนินการ -Count ระบุความยาวของรหัสผ่าน
ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
เรารันโค้ดนี้ 4 ครั้งและได้รับรหัสผ่านแบบสุ่ม 12 ตัวอักษรที่แตกต่างกันในแต่ละครั้ง
โปรดทราบว่ารหัสผ่านแต่ละอันประกอบด้วยตัวอักษรและตัวเลขเท่านั้น รหัสผ่านแบบสุ่มไม่มีอักขระพิเศษ
หมายเหตุ: วิธีการนี้ทำงานโดยสร้างสตริงสุ่มซึ่งประกอบด้วยตัวอักษรพิมพ์ใหญ่ ตัวอักษรพิมพ์เล็ก และตัวเลข จากนั้นใช้ Get-Random cmdlet เพื่อเลือกชุดย่อยแบบสุ่มของตัวเลขเฉพาะ ของตัวละคร

