ค้นหาเว็บไซต์

วิธีสร้างรหัสผ่านแบบสุ่มใน 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 เพื่อเลือกชุดย่อยแบบสุ่มของตัวเลขเฉพาะ ของตัวละคร

บทความที่เกี่ยวข้อง