۱۳۸۹/۰۵/۰۲

نحوه‌ي خاتمه‌ي سشن‌هاي كاربران، از راه دور


يكي از مواردي رو كه بعضي از ادمين‌ها هيچ وقت ياد نمي‌گيرند اين است كه لطفا پس از اتمام كار ريموت، logoff كنيد و سشن را باز نگه نداريد. اگر چندين سشن به همين ترتيب باز بمانند پس از مدتي با پيغام حداكثر تعداد كانكشن‌هاي همزمان به يك سرور مواجه خواهيم شد و ديگر امكان اتصال نخواهد بود مگر اينكه يكي از سشن‌هاي باز خاتمه پيدا كند (همچنين مسايل امنيتي را هم در نظر بگيريد). باز بودن يك سشن هم همانطور كه عنوان شد به معناي فعال بودن كاربر نيست. عموما به معناي عدم logoff است.
خوب الان نياز است كه يك اتصال ريموت جهت به روز رساني برنامه‌اي برقرار شود اما نمي‌شود! كساني هم كه سشن باز بر روي سرور دارند هم اكنون در دسترس نيستند. چكار بايد كرد؟
عموما اين كار رو مي‌كنند: فلاني برو دكمه‌ي ريست سرور رو بزن! بعد هم كه سرور بالا اومد ديدن ديتابيس suspect شده واقعا لذت بخش خواهد بود!
راه بهتري هم هست:
برنامه‌اي به نام psexec از SysInternals موجود است كه آن‌را مي‌توان از آدرس ذيل دريافت كرد:

توسط اين برنامه مي‌توان به خط فرمان سرور ريموت دسترسي يافت (البته بديهي است كه پيشتر بايد اين دسترسي را داشته باشيد) و سپس امكان ليست كردن سشن‌هاي باز و همچنين خاتمه‌ي آن‌ها ميسر خواهد شد؛ به شرح زير:
الف) دسترسي به خط فرمان سرور از راه دور
psexec \\x.x.x.x -u domain\user -p password cmd
براي مثال:
psexec \\192.168.1.16 -u domain\admin -p password cmd

ب) ليست كردن سشن‌هاي باز
پس از اجراي موفقيت آميز دستور فوق، خط فرمان سرور در اختيار شما خواهد بود. اكنون دستور qwinsta را وارد كنيد. در ليست ارائه شده شماره Id ها مهم است.

ج) بر اساس Id هاي قابل مشاهده با استفاده از دستور زير مي‌توان سشن را خاتمه داد:
logoff [id# of session to quit] /v
براي مثال:
logoff 2 /v
با حذف سشن‌هاي باز امكان استفاده از امكانات ريموت دسكتاپ مجددا برقرار خواهد شد.