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

สามวิธีที่จะถูกปฏิเสธ หนึ่งกล่องโต้ตอบ

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

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

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

ไคลเอนต์ส่งอะไรไปจริง

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

คำสั่งอ่านอย่างเดียวสองคำสั่งบนเครื่อง Windows แสดงโปรไฟล์และข้อมูลรับรองที่แคชไว้ซึ่งอาจเอาชนะกล่องโต้ตอบได้ ทั้งสองไม่ได้โทรหาเซิร์ฟเวอร์:

Get-VpnConnection -Name 'Corp VPN' | Format-List Name, ServerAddress, TunnelType, AuthenticationMethod
cmdkey /list | Select-String -Pattern 'corp' -SimpleMatch

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

รับการตัดสินใจของนโยบาย ไม่ใช่การรีเซ็ต

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

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

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

ลองอีกครั้งหนึ่ง แล้วเปรียบเทียบ

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

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

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