وبلاگ نت‌آرامآموزش، تجربه و راهکارهای زیرساخت

حساب ویندوز سرور در ریموت دسکتاپ قفل شده؛ چطور آن را باز کنیم؟

تشخیص علت قفل حساب RDP با رویدادهای 4740 و 4625 و باز کردن حساب محلی یا Active Directory به روش امن.

انتشار:
توسط تیم فنی نت‌آرام
۹ دقیقه زمان مطالعه
۰ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله حساب ویندوز سرور در ریموت دسکتاپ قفل شده؛ چطور آن را باز کنیم؟ در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
می‌خواهید با ریموت دسکتاپ وارد سرور شوید، اما ویندوز می‌گوید حساب کاربری قفل شده است. حتی وقتی رمز درست را وارد می‌کنید هم اجازه ورود نمی‌دهد. معمولاً سیاست امنیتی پس از چند تلاش ناموفق حساب را برای مدتی قفل کرده است؛ دلیل این تلاش‌ها می‌تواند رمز ذخیره‌شده قدیمی، یک سرویس یا تلاش افراد ناشناس باشد.
باز کردن قفل، فقط راه ورود را برمی‌گرداند. اگر منبع تلاش‌های اشتباه همچنان فعال باشد، حساب دوباره قفل می‌شود. در این راهنما ابتدا راه دسترسی امن را پیدا می‌کنیم، بعد منشأ تلاش‌ها را می‌بینیم و در پایان قفل را برمی‌داریم.

۱. تکرار ورود را متوقف و مسیر جایگزین را پیدا کنید

چندین بار پشت سر هم رمز حدسی وارد نکنید. به پیام دقیق و ساعت آن توجه کنید. قفل حساب با غیرفعال شدن حساب، منقضی شدن رمز و قطع بودن خود سرویس RDP فرق دارد. اگر پیام می‌گوید رمز اشتباه است یا اتصال اصلاً برقرار نمی‌شود، ابتدا همان پیام را بررسی کنید؛ دستور باز کردن قفل برای هر خطایی مناسب نیست.
برای مشاهده گزارش‌ها به یک حساب مدیر دیگر نیاز دارید که قفل نشده و مجاز به ورود است. اگر آن حساب هم با RDP وصل نمی‌شود، از کنسول مدیریتی ارائه‌دهنده، مانند کنسول ماشین مجازی، استفاده کنید و با همان حساب مدیر وارد شوید. کنسول جای رمز و مجوز را نمی‌گیرد. در سرور فیزیکی هم مدیر مرکز داده می‌تواند مسیر کنسول مجاز را در اختیار شما قرار دهد.
اگر هیچ مدیر مجاز دیگری ندارید و تنها حساب موجود قفل است، خودسرانه سرور را بازنصب یا فایل‌های امنیتی را دستکاری نکنید. اگر سیاست اجازه باز شدن خودکار می‌دهد، مدت آن را صبر کنید؛ در غیر این صورت از مدیر سامانه یا پشتیبانی ارائه‌دهنده برای بازیابی دسترسی کمک بگیرید. پیش از هر کار از اطلاعات و روش بازیابی خود مطمئن شوید.

۲. حساب محلی است یا حساب دامنه؟

حساب محلی روی همان ویندوز سرور تعریف شده است. ورود با شکلی مثل SERVER01\ali یا .\ali معمولاً به حساب محلی اشاره دارد. حسابی مثل COMPANY\ali ممکن است مربوط به دامنه سازمان باشد. این نام‌ها فقط نمونه‌اند؛ اسم‌های واقعی شما متفاوت است.
اگر با حساب مدیر وارد شده‌اید، PowerShell را باز کنید و برای دیدن نام سرور و حساب فعلی بنویسید:
کد / دستور$env:COMPUTERNAME whoami
خروجی whoami حساب فعلی را نشان می‌دهد، نه لزوماً حسابی که قفل شده است. نام حساب قفل‌شده را از صفحه ورود یا تنظیمات سازمان مشخص کنید. در سرورهای عضو Active Directory ممکن است حساب محلی و دامنه نام مشابه داشته باشند؛ پیش از تغییر، دامنه و نام دقیق را تأیید کنید. حساب دامنه در Active Directory مدیریت می‌شود و برداشتن قفل حساب محلی همنام، آن را اصلاح نمی‌کند.

۳. کدام دستگاه یا تلاش باعث قفل شده است؟

داخل سرور، کلیدهای Win و R را بزنید، eventvwr.msc را وارد کنید و Enter بزنید. در Event Viewer به Windows Logs > Security بروید. از سمت راست Filter Current Log را انتخاب کنید و شناسه 4740 را وارد کنید. رویداد نزدیک به زمان مشکل را باز کنید.
در بخش Account That Was Locked Out، نام حساب قفل‌شده را با حساب خود مقایسه کنید. Caller Computer Name ممکن است نام دستگاهی را نشان دهد که آخرین تلاش منجر به قفل از آن آمده است؛ این مقدار همیشه IP نیست و ممکن است خالی یا ناکافی باشد. برای حساب دامنه، گزارش را روی کنترل‌کننده دامنه‌ای که رویداد را ثبت کرده نیز بررسی کنید. در مجموعه چند کنترل‌کننده، ممکن است لازم باشد بیش از یکی را ببینید.
برای مشاهده چند رویداد اخیر با PowerShell بازشده به‌عنوان مدیر:
کد / دستورGet-WinEvent -FilterHashtable @{LogName='Security'; Id=4740; StartTime=(Get-Date).AddHours(-24)} -MaxEvents 20 | Format-List TimeCreated, Message
اگر در ۲۴ ساعت گذشته رویدادی ثبت نشده باشد، ممکن است دستور پیام نبودن رویداد بدهد. نبودن رویداد به‌تنهایی ثابت نمی‌کند قفل رخ نداده است؛ ساعت، دستگاه درست و فعال بودن ثبت وقایع را بررسی کنید. گزارش امنیتی را عمومی ارسال نکنید، چون نام حساب‌ها و شبکه را نشان می‌دهد.
حالا همان فیلتر را برای شناسه 4625 در Security اجرا کنید. این رویداد، تلاش ورود ناموفق را نشان می‌دهد. نام حساب، ساعت، Logon Type، کد وضعیت و در صورت وجود Source Network Address را بخوانید. مثلاً کد 0xC000006A می‌تواند به رمز نادرست و 0xC0000234 به قفل بودن حساب اشاره کند. مقدار IP ممکن است موجود نباشد یا مربوط به واسطه شبکه باشد؛ بر اساس یک خط گزارش، شخص یا دستگاهی را قطعی مقصر ندانید.
در PowerShell هم می‌توانید رویدادهای اخیر را ببینید:
کد / دستورGet-WinEvent -FilterHashtable @{LogName='Security'; Id=4625; StartTime=(Get-Date).AddHours(-2)} -MaxEvents 30 | Format-List TimeCreated, Message
اگر تلاش‌ها هر چند دقیقه از یک دستگاه شناخته‌شده یا هم‌زمان با یک کار زمان‌بندی‌شده رخ می‌دهد، سراغ رمز ذخیره‌شده آن بروید. اگر مبدأ ناشناس است یا تلاش‌های پی‌درپی از اینترنت می‌بینید، مسئله را امنیتی در نظر بگیرید.

۴. رمز قدیمی را در محل درست اصلاح کنید

روی رایانه‌ای که با آن ریموت می‌زنید: Control Panel را باز کنید، به Credential Manager > Windows Credentials بروید و ورودی مربوط به همان آدرس سرور، گاهی با نام TERMSRV/...، را پیدا کنید. فقط همان ورودی را ویرایش یا حذف کنید و بعداً رمز معتبر را دوباره وارد کنید. سایر رمزهای ذخیره‌شده را پاک نکنید. صفحه ورود RDP را نیز ببندید تا تلاش خودکار با اطلاعات قبلی ادامه پیدا نکند.
برای سرویس یا کار زمان‌بندی‌شده: روی دستگاهی که در گزارش مشخص شده، services.msc یا Task Scheduler را باز کنید. سرویس یا کاری را که در همان زمان با آن حساب اجرا می‌شود پیدا کنید. در Properties سرویس، تب Log On حساب را نشان می‌دهد؛ در Task Scheduler نیز Properties کار و بخش حساب اجراکننده را ببینید. اگر رمز آن حساب عوض شده، با هماهنگی مسئول برنامه اطلاعات معتبر را در همان محل به‌روز کنید. بعضی سرویس‌ها برای اعمال تغییر به راه‌اندازی مجدد نیاز دارند؛ پیش از آن اثر قطع سرویس را بررسی کنید. بدون شناخت، همه سرویس‌ها را متوقف نکنید.
برای پیدا کردن سرویس‌هایی که از یک نام حساب استفاده می‌کنند، در PowerShell مدیر نام نمونه COMPANY\ali را با نام واقعی و مجاز جایگزین کنید:
کد / دستورGet-CimInstance Win32_Service | Where-Object { $_.StartName -eq 'COMPANY\ali' } | Select-Object Name, State, StartName
این دستور فقط اطلاعات سرویس‌ها را می‌خواند و رمز را نمایش نمی‌دهد. نبودن نتیجه، استفاده از همان حساب در Scheduled Task، یک دستگاه دیگر یا برنامه‌ای خارج از سرویس‌های ویندوز را رد نمی‌کند.

۵. قفل حساب محلی را باز کنید

پس از متوقف کردن تلاش اشتباه، با حساب مدیر دیگر وارد کنسول شوید. Win+R را بزنید و lusrmgr.msc را باز کنید. به Users بروید، روی حساب محلی درست دوبار کلیک کنید و در تب General، در صورت فعال بودن گزینه Account is locked out، تیک آن را بردارید و Apply و OK را بزنید. گزینه Account is disabled معنی دیگری دارد؛ بدون دانستن علت، وضعیت آن را تغییر ندهید.
اگر امکان استفاده از این ابزار را ندارید یا گزینه قفل قابل تغییر نیست، تنظیمات و سطح دسترسی سرور را با مدیر آن بررسی کنید. بعضی سیاست‌ها پس از زمان مشخص قفل را خودکار برمی‌دارند. برای دیدن سیاست حساب محلی در پنجره Command Prompt یا PowerShell مدیر:
کد / دستورnet accounts
مقدار مربوط به مدت قفل را بخوانید. اگر مدت قفل صفر تنظیم شده باشد، در آن سیاست باز شدن به دخالت مدیر نیاز دارد. برای حساب دامنه، سیاست سازمان یا تنظیم اختصاصی خود حساب می‌تواند متفاوت باشد؛ خروجی محلی را معیار قطعی آن قرار ندهید.

۶. اگر حساب مربوط به دامنه است

مدیر مجاز دامنه می‌تواند در Active Directory Users and Computers حساب را پیدا کند، Properties را باز کند و در تب Account گزینه باز کردن قفل را انتخاب کند. نمایش و عبارت گزینه ممکن است بر اساس نسخه و وضعیت حساب کمی متفاوت باشد. اگر این ابزار روی سرور شما نصب نیست، از دستگاه مدیریتی مجاز یا مدیر دامنه کمک بگیرید.
راه دیگر روی دستگاهی است که ماژول Active Directory دارد و کاربر اجراکننده مجوز لازم را گرفته است. ابتدا نام واقعی حساب را به‌جای ali بگذارید و وضعیت را بخوانید:
کد / دستورGet-ADUser -Identity 'ali' -Properties LockedOut | Select-Object SamAccountName, LockedOut
اگر حساب درست است و مقدار LockedOut برابر True است، مدیر مجاز می‌تواند اجرا کند:
کد / دستورUnlock-ADAccount -Identity 'ali'
سپس دستور اول را دوباره بزنید. این روش برای حساب Active Directory است، رمز را تغییر نمی‌دهد و برای حساب محلی مناسب نیست. خطای نبودن دستور یعنی ماژول مدیریتی در آن محیط در دسترس نیست؛ خطای مجوز هم باید توسط مدیر دامنه بررسی شود.

۷. از بازگشت مشکل جلوگیری و نتیجه را آزمایش کنید

اگر تلاش‌ها از اینترنت ناشناس می‌آیند، دسترسی RDP را با VPN یا قانون محدود به IPهای معتبر مدیریت کنید. پیش از تغییر فایروال، IP فعلی خود، دسترسی کنسول و قوانین سازمان را تأیید کنید و با یک نشست آزمایشی مطمئن شوید خودتان را قفل نمی‌کنید. حذف سیاست قفل یا باز کردن RDP برای همه، راه‌حل امنی نیست.
اکنون یک بار با نام کامل حساب و رمز معتبر وارد شوید. اگر ورود موفق بود، گزارش‌های ۴۶۲۵ و ۴۷۴۰ را برای مدتی زیر نظر بگیرید و کار زمان‌بندی‌شده یا سرویس اصلاح‌شده را نیز با مسئول آن آزمایش کنید. بازگشت سریع رویدادها نشان می‌دهد هنوز یک دستگاه، برنامه یا تلاش ناشناس باقی مانده است. اگر ورود انجام می‌شود ولی بعداً جلسه قطع می‌شود، موضوع را با راهنمای قطع ریموت در زمان بیکاری دنبال کنید.
این مراحل روی سرور مجازی ایران و ویندوز نصب‌شده روی سرور اختصاصی قابل استفاده‌اند، اما دسترسی به کنسول و سیاست دامنه به سرویس شما بستگی دارد. توضیح شناسه‌ها و روش باز کردن حساب دامنه را در مستند رویداد ۴۷۴۰ مایکروسافت و راهنمای Unlock-ADAccount ببینید.
اشتراک‌گذاری:
لینکدینتلگرامایکس
مقاله قبلی
مقاله قبلی وجود ندارد.

دیدگاه‌ها (۰)

دیدگاه‌های تاییدشده و پاسخ‌های تیم نت‌آرام