آموزش نصب و راه اندازی ترمینال سرویس ویندوز Microsoft Windows Terminal Service


ترمینال سرویس تکنولوژی است که با آن کاربران می توانند تا به برنامه های نصب شده روی Terminal Server دسترسی پیدا کنند. با Terminal Services همچنین می توان به محیط کامل دیسکتاپ دسترسی داشت. کاربران می توانند از درون یک شبکه یا از اینترنت ارتباط خود را برقرار کند. با استفاده از این سرویس می توان عملیات مدیریتی مربوط به نگه داری و نصب برنامه ها را به میزان قابل توجهی کاهش داد. همچنین با نصب برنامه ها تنها در یک یا چند نقطه مرکزی، احتمال کاهش هزینه های پیاده سازی و نگه داری بسیار زیاد است. زمانی که کاربر از ترمینال سرویس استفاده می کند، اجرای برنامه روی سرور اتفاق می افتد و تنها داده های مربوط به نمایش، keyboard، mouse و یا سایر تجهیزات مشابه در شبکه مخابره می شود. هر کاربر Session مربوط به خود را خواهد داشت و هر Session در سیستم عامل بدون وابستگی به Session دیگر مدیریت می شود. Terminal Server سروری است که می تواند یک برنامه محیط دسکتاپ را برای کلاینت های Terminal Services فراهم کند.
Terminal Services یک Server Role است که همان طور که نام آشکار است شامل چند سرویس است. به هر کدام از آن ها Role Services گفته می شود. در ویندوز سرور ۲۰۰۸ شامل رول های زیر است:

 
1. Terminal Server : رولی است که یک سرور را قادر می سازد تا یک برنامه یا محیط دسکتاپ ویندوز را برای کلاینت ها فراهم آورد. کاربران می توانند به ترمینال سرور برای اجرای برنامه ها، مشاهده و ذخیره سازی فایل های خود و… متصل شوند.
۲٫ TS Web Server : با استفاده از این رول کاربران می توانند به برنامه های RemoteApp و Remote Desktop از طریق یک وب سایت دسترسی داشته باشند.
۳٫ TS Licensing : این رول جهت مدیریت TS CALs یا Terminal Servies Client Access Licenses به کار می رود. لایسنس مریوط برای اتصال هر کامپیوتر یا کاربر به Terminal Server لازم است.
۴٫ TS Gateway : این رول کاربران را قادر می سازد تا از اینترنت از TS استفاده کنند.
۵٫ TS Session Broker : این رول از Session load balancing بین Terminal Server های یک Server Farm پشتیبانی به عمل می آورد.
*. در خصوص هر کدام از رول های فوق در آینده قدری بحث خواهد شد.
Terminal Services RemoteApp :
RemoteApp برنامه هایی هستند که از طریق سرویس Terminal Servce اجرا می شوند و به صورت remote به آن ها دسترسی ایجاد می شود اما عملکردی مشابه به آن دارند که روی کامپیوتر local (کلاینت در اینجا) در حال اجرا است. کاربران می توانند RempteApp را در کنار سایر برنامه های local خود اجرا کنند و اگر کاربر از چند RemoteApp همزمان استفاده کند، Session ایجاد شده بین برنامه ها مشترک خواهد بود. استفاده از RemoteApp می تواند در شعب شرکت ها که مدیران آی تی معمولا وجود ندارد یا پهنای باند کمی دارند بسیار مفید باشد. در محیط های کاربری که هر کاربر دارای یک کامپیوتر منحصر به فرد نمی باشد همانند هتل ها، مدارس و… .
در ایران: با توجه به مسائل لایسنس و عدم پرداخت هزینه های مربوطه اعم از راه اندازی، نگه داری و لایسنس های Terminal Services توسط شرکت ها، کمتر مدیران IT ترمینال سرویس را به عنوان یک ابزار جدی نگاه می کنند، اما می توان انتظار داشت در آینده بسیار مورد توجه قرار گیرد. همچنین از آنجایی که کمتر مورد توجه قرار گرفته، منابع آموزشی کمی موجود است. همچنین به انگلیسی نیز منابع تعددی مشابه سرویس اکتیو دایرکتوری را ندارد اما به نظر می رسد روند حرکت، به سوی توجه بسیار به این سرویس است.
مقایسه Terminal Services با Remote Desktop :
زمانی که سخن از  Terminal Services به میان می آید بسیاری به سرعت به یاد Remote Desktop می افتند. در تمام نسخ ویندوزهای XP، Vista ، ۷ ،Server 2003  و Server 2008 ابزاری به نام Remote Desktop موجود است. با استفاده از Remote Desktop می توان مشابه Terminal Services یک دسکتاپ را فراهم آورد. در واقع این دو به هم بسیار نزدیک و مرتبط اند. ابتدا آنکه هر دو تکنولوژی از یک ابزار موجود در ویندوز کلاینت به نام Remote Desktop استفاده می کنند. البته این نرم افزار Microsoft Terminal Services for Client نیز خوانده می شود که mstsc نام mstsc.exe کوتاه شده آن است. دوم آنکه هر دو تکنولوژی از یک سرویس به نام Terminal Services استفاده می کنند و یک پروتکل (RDP) یا Remote Desktop Protocol استفاده می کنند و همچنین از پورت ۳۳۸۹ TCP استفاده می کنند.
با وجود تمام این شباهت ها، اختلاف این تکنولوژی بسیار بیش از آن است که ترمینال سرویس scalability و ویژگی های بیشتری دارد. به عنوان مثال Terminal Services دارای دو mode متفاوت است:
الف: Execute Mode : برای اجرای برنامه ها به صورت عادی
ب. Install Mode : برای نصب برنامه ها
زمانی که برنامه ای را روی Terminal Server نصب می کنید، تنظیماتی در Registry یا یک فایل ini نوشته می شود که امکان استفاده چند کاربر همزمان ایجاد شود. Remote Desktop دارای Install Mode نیست.
مایکروسافت اکیدا توصیه می کند که پس از نصب این سرویس نرم افزار های لازم برای استفاده در TS نصب کنید. البته این تفاوت ها دلیل بر مزیت های یکی بر دیگری نمی باشد. Remote Desktop جزئی از ویندوز است و هزینه اضافی خرید لایسنس را ندارد اما Terminal Services دارای لایسنس جداگانه است و چنانچه لایسنس لازم در مدت ۱۲۰ روز فراهم نشود، Terminal Services از کار خواهد ایستاد. البته به معنای عدم دسترسی به Remote Desktop یا تاثیر در لایسنس سیستم عامل نخواهد بود.
در پرانتز: به منظور داشتن یک تصویر مناسب از استفاده کنار هم از این دو ابزار، در طراحی های بر اساس ویندوز سرور ۲۰۰۸، معمولا از Remote Desktop برای یک ابزار مدیریتی استفاده می شود و از Terminal Services برای یک هاست برنامه ها. هر چند می توان این دو ابزار را به عنوان جایگزین یک دیگر در بسیاری از مواقع استفاده کرد.
فعال سازی Remote Desktop : به صورت پیش فرض، ویندوز سرور ۲۰۰۸ هیچ ارتباطی را از Remote Desktop نمی پذیرد. برای فعال سازی Remote Desktop در DialogBox (کادر محاوره ای) System Properties در Tab (زبانه) Remote بروید. برای دسترسی به System Properties می توانید در run وارد کنید sysdm.cpl و یا آن را از طریق Control Panel > System باز کنید.
با توجه به نسخ سیستم عامل کلاینت(ها) گزینه فعال سازی مطلوب را انتخاب کنید. چنانچه به امنیت بیشتری در ارتباطات RDP احتیاج دارید گزینه ای که تنها ارتباطات با NLA (یا Network Level Authentication) را مجاز می داند انتخاب کنید، هر چند در این صورت کلاینت ها می توانند ویندوز ویستا به بعد باشند.
NLA چیست؟ NLA یکی از ویژگی های RDP 6.0 است که با استفاده از آن اطمینان حاصل می شود که پیش از برقراری ارتباط کامل کاربر Authenticate می شود. در ورژن های قبلی RDP کاربر برای شناسایی شدن باید یک نام کاربری و کلمه عبور را در  کادر مربوطه که در Remote Dekstop به نمایش در می آید وارد کند. با توجه به آنکه هر تلاشی برای Authenticate شدن می تواند مقداری از منابع سرور و شبکه را به خود اختصاص دهد به منظور جلوگیری از حملات Denial Of Service یا DOS راهکاری در RDP ورژن ۶٫۰ ارائه شد. البته مهم است که بدانیم به صورت پیش فرض NLA در Remote Desktop ویندوز XP به قبل (در صورت وجود) پشتیبانی نمی شود. البته می توان در سرویس پک دوم ویندوز XP به بعد با استفاده از نصب kb925876 این ویژگی را ایجاد کرد.
فعال سازی در Server-Core : در Server-Core به صورت کامل از Terminal Services پشتیبانی نمی شود، اما scregedit.wsf می توان برخی از ویژگی ها متداول را فعال کرد.