در نسخههای قدیمیتر Windows Server میتوانستید برنامهای را از بخش Environment در ویژگیهای کاربر برای شروع خودکار در نشست RDP تعیین کنید. در Windows Server 2016 و جدیدتر، این روش به دلیل تغییر رفتار Remote Connection Manager قابل اتکا نیست؛ بنابراین باید از Group Policy استفاده کنید یا، با درنظرگرفتن ملاحظات مدیریتی، رفتار قدیمی را بازگردانید.
تفاوت رفتار در نسخههای جدید
در نسخههای قدیمی، تنظیم Start the following program at logon در پروفایل کاربر، برنامه را بهعنوان shell نشست اجرا میکرد و با بستهشدن آن، نشست RDS نیز پایان مییافت. در Windows Server 2016 و بعد از آن، RCM بهصورت پیشفرض تنظیمات مربوط به پیکربندی کاربر را از کنترلر دامنه دریافت نمیکند. در نتیجه، مقادیری مانند برنامه آغازین، مسیر پروفایل رومینگ و پوشه خانگی که در تبهای Environment یا Remote Desktop Services Profile ذخیره شدهاند، ممکن است نادیده گرفته شوند.
روش پیشنهادی: پیکربندی با Group Policy
- ویرایشگر GPOای را باز کنید که به میزبان RDS اعمال میشود.
- به مسیر User Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment بروید.
- گزینه Start a program on connection را روی Enabled قرار دهید.
- مسیر کامل فایل اجرایی برنامه را وارد کنید و در صورت نیاز، پوشه کاری آن را نیز مشخص کنید.
- برای جلوگیری از نمایش دسکتاپ کامل، گزینه Always show desktop on connection را روی Disabled تنظیم کنید.
مسیر فایل اجرایی باید در نشست RDS قابل دسترسی باشد. پیش از اعمال گسترده، این تنظیم را با یک حساب آزمایشی و در یک OU یا GPO محدود بررسی کنید.
بررسی اعمال شدن تنظیم
- با حساب آزمایشی از طریق RDP متصل شوید.
- بررسی کنید برنامه تعیینشده هنگام برقراری اتصال اجرا میشود.
- اگر نمایش دسکتاپ غیرفعال شده است، بررسی کنید کاربر به محیط کامل Explorer وارد نمیشود.
- در صورت مشاهده رفتار قدیمی، اعمال GPO و مقصد صحیح آن را کنترل کنید.
اگر اجرای برنامه انجام نشد، ابتدا مسیر کامل فایل، دسترسی حساب کاربر و اعمال شدن Policy را بررسی کنید. همچنین مطمئن شوید تنظیمات متعارض دیگری برای نشست یا کاربر وجود ندارد.
بازگردانی رفتار قدیمی RCM
اگر لازم است تنظیم برنامه در تب Environment دوباره توسط میزبان خوانده شود، منبع این روش ایجاد مقدار fQueryUserConfigFromDC با نوع REG_DWORD و مقدار 1 در هر دو محل زیر را پیشنهاد میکند:
HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Servicesپس از ایجاد مقدار، سرویس Remote Desktop Services یعنی TermService را راهاندازی مجدد کنید یا میزبان را reboot کنید. سپس مسیر برنامه یا اسکریپت آغازین را در ویژگیهای کاربر و تب Environment وارد کرده و با یک نشست آزمایشی نتیجه را بررسی کنید.
ملاحظات عملیاتی
گزینه رجیستری برای سازگاری با رفتار قدیمی است، نه نخستین انتخاب پیکربندی. Group Policy مدیریت متمرکزتری فراهم میکند و وابستگی به تنظیمات قدیمی پروفایل کاربر را کاهش میدهد. در هر دو روش، بستهشدن برنامه میتواند به پایان نشست کاربر منجر شود؛ بنابراین این رفتار را پیش از استقرار برای کاربران واقعی آزمایش کنید.
جمعبندی
برای Windows Server 2016 و جدیدتر، ابتدا Start a program on connection و Always show desktop on connection را در مسیر Remote Session Environment پیکربندی و با حساب آزمایشی اعتبارسنجی کنید. فقط در صورت نیاز به سازگاری با تنظیمات Environment، مقدار fQueryUserConfigFromDC را در هر دو کلید مشخصشده تنظیم و سرویس RDS را بازنشانی کنید.
