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

เก็บรหัสผ่านในตัวจัดการข้อมูลประจำตัวของ Windows เพื่อหลีกเลี่ยงการแจ้งเตือนของ PowerShell


PowerShell ช่วยให้ผู้ดูแลระบบทำงานได้ง่ายขึ้นโดยทำให้กระบวนการที่ต้องทำซ้ำๆ เป็นอัตโนมัติ ซึ่งช่วยลดโอกาสที่จะเกิดข้อผิดพลาดได้ มีปัญหาทั่วไปที่ผู้ดูแลระบบเผชิญทุกวันเมื่อใช้ PowerShell ในฐานะผู้ดูแลระบบ Microsoft 365 เป็นเรื่องยากที่จะพิมพ์ชื่อผู้ใช้และรหัสผ่านเมื่อเชื่อมต่อกับผู้เช่าหลายราย ไซต์ SharePoint หรือบริการต่างๆ ของ Office 365 เพื่อหลีกเลี่ยงไม่ให้ต้องระบุชื่อผู้ใช้และรหัสผ่านในกรณีดังกล่าว จึงมีหลายวิธีดังนี้ มาตรวจสอบกัน!

คุณจะเลี่ยงผ่านการแจ้งเตือนของ PowerShell ได้อย่างไร

เมื่อเรียกใช้สคริปต์ PowerShell จะต้องบันทึกข้อมูลประจำตัวเพื่อให้สามารถป้อนลงในสคริปต์ที่ทำงานโดยอัตโนมัติ

ฮาร์ดโค้ดรหัสผ่านในสคริปต์ - หนึ่งในวิธีการทั่วไปคือการเขียนชื่อผู้ใช้และรหัสผ่านโดยตรงลงในสคริปต์ PowerShell เป็นข้อความธรรมดา จากนั้นสร้างออบเจ็กต์ข้อมูลรับรอง PowerShell เพื่อส่งผ่าน วิธีการนี้ใช้งานได้เพื่อเรียกใช้สคริปต์ PowerShell โดยข้าม Get-Credential cmdlet แต่ค่อนข้างไม่ปลอดภัย เนื่องจากสคริปต์ PowerShell เก็บตัวแปรสตริงเป็นข้อความธรรมดา แฮกเกอร์สามารถเจาะรหัสผ่านที่ฮาร์ดโค้ดได้อย่างง่ายดายเพื่อแย่งชิงบัญชีผู้ดูแลระบบที่มีพลังสูง

การจัดเก็บข้อมูลประจำตัวในไฟล์ - ในบางสถานการณ์ ผู้ดูแลระบบอาจจัดเก็บรหัสผ่านในไฟล์เป็นข้อความธรรมดาเพื่อเรียกใช้ PowerShell โดยไม่ต้องแจ้งให้ทราบ แต่โดยทั่วไปแล้วไม่ใช่ความคิดที่ดีที่จะเก็บรหัสผ่านไว้ในไฟล์ แม้ว่าไฟล์จะถูกเข้ารหัส แต่ก็ยังมีความเสี่ยงที่การเข้ารหัสอาจถูกบุกรุก ทำให้ผู้โจมตีสามารถเข้าถึงรหัสผ่านได้

เนื่องจากความเสี่ยงที่เกี่ยวข้องกับการจัดเก็บรหัสผ่านในไฟล์และการเข้ารหัสรหัสผ่านแบบฮาร์ดโค้ดในสคริปต์นั้นมีมากกว่าประโยชน์ที่จะได้รับ การใช้ Credential Manager จึงกลายเป็นแนวทางปฏิบัติมากขึ้น

การใช้ใบรับรอง - ใบรับรองเป็นตัวเลือกที่ดีที่สุดเมื่อคุณไม่ต้องการป้อนข้อมูลรับรองหลายครั้งเพื่อเข้าถึงเครือข่าย คุณสามารถสร้างใบรับรองที่ลงนามด้วยตนเองและใช้เพื่อวัตถุประสงค์ภายในและการทดสอบได้อย่างง่ายดาย สำหรับการผลิตและสภาพแวดล้อมที่ต้องเผชิญภายนอก คุณต้องใช้ใบรับรอง CA ซึ่งมีราคาแพง อย่างไรก็ตาม มีเพียงไม่กี่บริการเท่านั้นที่รองรับการรับรองความถูกต้องตามใบรับรอง

Windows Credential Manager - Windows Credential Manager เป็นตัวจัดการรหัสผ่านที่ใช้งานง่าย ซึ่งคุณสามารถบันทึกข้อมูลประจำตัวสำหรับการเข้าถึงทรัพยากรเครือข่าย เว็บไซต์ และแอปได้ อนุญาตให้เก็บข้อมูลรับรอง 4 ประเภทซึ่งรวมถึงข้อมูลรับรอง Windows, ข้อมูลรับรองตามใบรับรอง และข้อมูลรับรองเว็บ นอกเหนือจากการบันทึกชื่อผู้ใช้และรหัสผ่านสำหรับเข้าสู่ระบบแล้ว Credential Manager ยังช่วยให้คุณดู ลบ เพิ่ม สำรองข้อมูล และกู้คืนข้อมูลประจำตัวได้อีกด้วย

มาเจาะลึกและเรียนรู้ว่า Windows Credential Manager ช่วยเลี่ยงผ่านสคริปต์ PowerShell โดยไม่ได้รับแจ้งให้ใส่รหัสผ่านได้อย่างไร

จะเข้าถึง Windows Credential Manager จาก PowerShell ได้อย่างไร

เรียนรู้วิธีที่คุณสามารถจัดการข้อมูลรับรองที่บันทึกไว้โดยใช้ Windows Credential Manager โดย PowerShell

ในการเข้าถึง Credential Manager ใน PowerShell ขั้นตอนแรกคือการติดตั้งโมดูล Credential Manager

Install-Module -Name CredentialManager

จะบันทึกรหัสผ่านในตัวจัดการข้อมูลรับรองได้อย่างไร

New-StoredCredential cmdlet ช่วยในการจัดเก็บข้อมูลประจำตัวสำหรับผู้ใช้ ผู้เช่า หรือแอปพลิเคชันต่างๆ

New-StoredCredential -Target Contoso -UserName admin@contoso.com -Password XXX -Type Generic -Persist LocalMachine

ตัวอย่างข้างต้นจัดเก็บข้อมูลประจำตัวของผู้ดูแลระบบสำหรับผู้เช่า Office 365 Contoso เมื่อคุณส่งสถานะคงอยู่เป็นเครื่องท้องถิ่น คุณจะสามารถดูข้อมูลรับรองทั่วไปที่จัดเก็บไว้ใน UI ได้

คุณสามารถดึงข้อมูลรับรองที่เก็บไว้ทั้งหมดในตัวจัดการข้อมูลประจำตัวได้โดยการเรียกใช้ cmdlet ต่อไปนี้

Get-StoredCredential

จะเข้าถึง Windows Credential Manager โดยใช้ PowerShell ได้อย่างไร

การใช้ Get-StoredCredential ทำให้คุณสามารถดึงข้อมูลรับรองที่เก็บไว้และใช้ในสคริปต์ PowerShell ได้
หากต้องการรับและจัดเก็บข้อมูลประจำตัวในตัวแปร ให้เรียกใช้ cmdlet ต่อไปนี้

$Cred=Get-StoredCredential -Target Contoso 

$Cred

หากต้องการเชื่อมต่อกับบริการต่างๆ ของ Office 365 โดยไม่แสดงป๊อปอัปข้อมูลประจำตัว คุณสามารถส่ง $Cred ขณะสร้างเซสชันได้

ตัวอย่างเช่น หากต้องการเชื่อมต่อกับ Exchange Online PowerShell คุณสามารถเรียก Connect-ExchangeOnline cmdlet ได้โดยส่งพารามิเตอร์ข้อมูลรับรอง

Connect-ExchangeOnline -Credential $Cred

หากต้องการตรวจสอบว่าคุณเชื่อมต่อสำเร็จหรือไม่ คุณสามารถใช้ cmdlets เช่น Get-Mailbox ฯลฯ

หากคุณต้องการลบข้อมูลประจำตัวออกจาก Windows vault ให้รันคำสั่งต่อไปนี้:

Remove-StoredCredential -Target Contoso

ดังนั้นนี่คือวิธีที่คุณสามารถหลีกเลี่ยงการแจ้งข้อมูลรับรอง PowerShell โดยใช้ Windows Credential Manager

การจัดเก็บรหัสผ่านใน Windows Credential Manager

นอกเหนือจาก PowerShell แล้ว ทำความรู้จักกับวิธีการจัดเก็บรหัสผ่านใน Windows Credential Manager หลังจากนั้น คุณสามารถดึงข้อมูลและใช้ในสคริปต์ PowerShell ของคุณได้

ขั้นตอนที่ 1: ค้นหา Credentials Manager ในระบบของคุณ
ขั้นตอนที่ 2: คลิกข้อมูลรับรอง Windows.
ขั้นตอนที่ 3: ไปที่ เพิ่มข้อมูลรับรองทั่วไป
ขั้นตอนที่ 4: จากนั้นคุณจะได้รับแจ้งให้เข้าสู่หน้าใหม่ที่คุณต้องป้อน URL ชื่อผู้ใช้และรหัสผ่าน

ตัวอย่างเช่น คุณกำลังจัดเก็บข้อมูลประจำตัวของผู้ใช้ผู้เช่า Office 365 Contoso โดยใช้ Windows Credential Manager

ในส่วนอินเทอร์เน็ตหรือที่อยู่เครือข่าย คุณต้องป้อนเป้าหมาย จากนั้นกรอกชื่อผู้ใช้และรหัสผ่านตามลำดับ

เหตุใดผู้ดูแลระบบจึงต้องการตัวจัดการข้อมูลรับรองเพื่อการจัดการรหัสผ่านที่มีประสิทธิภาพ

ต่อไปนี้เป็นเหตุผลบางประการที่ผู้ดูแลระบบอาจต้องการใช้ Credential Manager เพื่อจัดเก็บข้อมูลประจำตัว

  1. แนวทางที่เป็นมิตรต่อผู้ใช้ - การจัดเก็บข้อมูลรับรองใน Windows Vault ไม่จำเป็นต้องใช้ Hard cmdlets ใดๆ ผู้ใช้สามารถป้อนข้อมูลประจำตัวด้วยตนเองและสามารถเรียกใช้ในสคริปต์ PowerShell ได้อย่างง่ายดาย
  2. งานที่กำหนดเวลาไว้ไม่ใช่เรื่องยุ่งยากอีกต่อไป - พิจารณากรณีของสคริปต์อัตโนมัติที่ทำงานเป็นส่วนหนึ่งของงานที่กำหนดเวลาไว้หรือเฟรมเวิร์กการทำงานอัตโนมัติ คงไม่มีใครเฝ้าดูคอนโซลเพื่อพิมพ์ชื่อผู้ใช้และรหัสผ่านในสถานการณ์เหล่านี้ ฟังก์ชัน Get-StoredCredential ยังสามารถรวมเข้ากับสคริปต์ที่คุณเรียกใช้เป็น งานที่กำหนดเวลาไว้ ได้อย่างง่ายดาย
  3. ความเข้ากันได้หลายบริการ - เนื่องจากเป็นคุณลักษณะในตัวของ Windows Credential Manager จึงเข้ากันได้กับแอปพลิเคชันและบริการที่หลากหลาย ดังนั้นจึงเป็นทางเลือกที่สะดวกสำหรับการจัดเก็บข้อมูลประจำตัวเป็นประจำ
  4. พื้นที่เก็บข้อมูลที่เข้ารหัส - ด้วย Credential Manager ข้อมูลประจำตัวทั้งหมดของคุณจะได้รับการเข้ารหัส เพื่อให้มั่นใจว่าข้อมูลเหล่านั้นปลอดภัยและได้รับการปกป้องจากการเข้าถึงที่ไม่ได้รับอนุญาต

แม้ว่า Credential Manager จะสะดวกในการจัดเก็บรหัสผ่าน แต่ก็ยังมีความเสี่ยงด้านความปลอดภัยอยู่บ้าง

  1. รหัสผ่านของคุณจะถูกจัดเก็บในรูปแบบที่เข้ารหัสใน Credential Manager แต่เมื่อคอมพิวเตอร์ของคุณถูกบุกรุก แฮกเกอร์จะสามารถเข้าถึงข้อมูลรับรองทั้งหมดของคุณที่จัดเก็บไว้ใน Windows Vault ได้อย่างง่ายดาย
  2. ความจริงที่ว่ารหัสผ่านที่จัดเก็บไว้ใน Credential Manager จะไม่ทำงานในบัญชีที่มี MFA นั้นเป็นเรื่องที่ไม่น่าสนุกอย่างยิ่ง ดังที่เราทุกคนทราบดีว่า แนวทางปฏิบัติ MFA ที่เข้มงวดนั้นจำเป็นเพื่อป้องกันไม่ให้ผู้ใช้ของคุณถูกโจมตีข้อมูลระบุตัวตนที่มีชื่อเสียง เช่น ฟิชชิ่ง ความเหนื่อยล้าของ MFA การสลับซิม เล่นซ้ำ ฯลฯ
  3. เนื่องจาก Credential Manager เป็นตัวจัดการรหัสผ่านพื้นฐาน จึงไม่มีฟีเจอร์ขั้นสูงมากมายที่คุณอาจพบในตัวจัดการรหัสผ่านเฉพาะ

โดยสรุป Credential Manager เป็นเครื่องมือสำคัญสำหรับทุกคนที่ใช้ PowerShell เป็นประจำ ไม่ว่าคุณจะเป็นผู้ดูแลระบบหรือเพียงแค่คนที่ต้องการทำงานอัตโนมัติและหลีกเลี่ยงข้อความแจ้ง Credential Manager จะช่วยคุณจัดเก็บและจัดการข้อมูลรับรอง ซึ่งช่วยประหยัดเวลาและปรับปรุงประสิทธิภาพการทำงานของคุณ

ฉันหวังว่าบล็อกนี้จะช่วยให้คุณได้รับข้อมูลเกี่ยวกับวิธีการใช้ Windows Credential Manager เพื่อจัดเก็บข้อมูลประจำตัวและหลีกเลี่ยงการแจ้งเตือนเมื่อเรียกใช้สคริปต์ PowerShell อย่าลังเลที่จะแสดงความคิดเห็นด้านล่างพร้อมกับความคิดของคุณในหัวข้อนี้และวิธีการที่มีประสิทธิภาพอื่น ๆ ที่คุณติดตามในการจัดเก็บข้อมูลรับรอง

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