درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
تخفیف های وب سایت
همه تخفیف ها

عضویت در

کانال تلگرام

توسینسو

اطلاعات مطلب
مدرس/نویسنده
امیرحسین کریم پور
امتیاز: 180392
رتبه:5
11
510
631
5722
امیرحسین کریم پور ، مدیر ارشد وب سایت TOSINSO ، متخصص شبکه ، تخصص در حوزه سیستم عامل های کلاینت و سرور مایکروسافت و سرویس های مربوطه ، سیستم عامل لینوکس و ... سابقه همکاری و فعالیت در سازمان های مختلف در قالب پروژه ، مشاوره ، تدریس و رفع اشکال ، علاقه مند به حوزه امنیت اطلاعات و تست نفوذ سنجی ... پروفایل کاربر

آموزش فعال کردن Remote Desktop روی ویندوز 10 بصورت Remote به روش های مختلف

تاریخ 2 ماه قبل
نظرات 1
بازدیدها 102
سلام خدمت دوستان و کاربران عزیز وب سایت توسینسو . در این مطلب به شما عزیزان روش های مختلف فعال سازی Remote Desktop بصورت ریموت که شامل Group Policy ، PowerShell ، WMI و ... می شود را آموزش میدهیم. خبره ترین و به اصطلاح Geek ترین افراد در حوزه سیستم عامل ویندوز هم گاهی اوقات نیاز پیدا می کنند تا به سیستم Remote Desktop بزنند و مدیریتش کنند. قطعا به عنوان کسی که به صورت حرفه ای با سیستم عامل ویندوز کار می کند میدانید که از طریق System Properties میتوانید Remote Desktop را در ویندوز فعال کنید. در واقع راحت ترین و در دسترس ترین راه همین است. اما اگر بخواهید به یک سیستم ریموت در شبکه Remote Desktop بزنید بایستی ابتدا Remote Desktop در آن سیستم فعال کنید زیرا به دلایل امنیتی بصورت پیش فرض این قابلیت در ویندوز ها غیر فعال است.


فعال سازی Remote Desktop از طریق Group Policy Object یا GPO


برای انجام این کار کنسول مدیریتی Group Policy را باز کنید و به مسیر زیر بروید :
Computer Configuration > Administrative Templates > Windows Components >Remote Desktop Services > Remote Desktop Session Host > Connections
روی پالسی Allow users to connect remotely using Remote Desktop Services دابل کلیک کنید و آنرا Enable کنید. حالا باید رنج آدرس IP یا آدرس های IP ای که میتوانند به سیستم ریموت Remote Desktop بزنند را باید در پالسی زیر مشخص کنید. ابتدا به مسیر زیر بروید :
Computer Configuration > Policies > Administrative Templates > Network > Network Connections > Windows Firewall > Domain Profile
روی پالسی Windows Firewall: Allow inbound Remote Desktop exceptions دابل کلیک کنید و آنرا Enable کنید و در کادر رنج IP یا آدرس های IP مورد نظر را وارد کنید.


فعال سازی Remote Desktop از طریق PowerShell


فعال سازی Remote Desktop از طریق PowerShell کمی سخت است و ابتدا PowerShell Remoting باید روی سیستم مقصد فعال شده باشد تا بتوان توسط PowerShell سیستم های کلاینت و سرور را مدیریت کرد. ما فرض را بر این میگیریم که PowerShell Remoting روی سیستم مقصد فعال است . حالا با اجرای دستور زیر میتوانید Remote Desktop را روی سیستم مقصد فعال کنید :
Invoke-Command -Computername <computer name> -ScriptBlock {Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" –Value 0 }
به جای <computer name> باید اسم کامپیوتر مقصد را وارد کنید. ما از دستور Invoke-Command برای استفاده از دستور Set-ItemProperty استفاده کردیم. که مقدار کلید رجیستری fDenyTSConnections را به صفر تغییر می دهد. به احتمال زیاد فایروال ویندوز ترافیک RDP را Block می کند که شما باید با استفاده از دستور زیر بایستی اجازه ورود ترافیک RDP را به سیستم مقصد بدهید :
Invoke-Command -Computername <computer name> -ScriptBlock {Enable-NetFirewallRule -DisplayGroup "Remote Desktop"}


فعال سازی Remote Desktop از طریق WMI


اگر PowerShell Remoting در سیستم مقصد فعال نباشد شما همچنان میتوانید از PowerShell بوسیله WMI استفاده کنید. این روش زمانی که بخواهید RDP را روی تعداد زیادی کلاینت ها فعال کنید میتواند مفید واقع شود. با استفاده از Script زیر میتوانید بدون فعال سازی PowerShell Remoting روی سیستم های مقصد آنها را مدیریت کنید.
[cmdletbinding()]
param(
    [parameter(ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]
    [string[]]$ComputerName = $env:computername,
    [ValidateScript({Test-Path $_})]
    [string]$OutFolder = "c:\"
)
 
begin {
$SuccessComps = Join-Path $OutFolder "Successcomps.txt"
$FailedComps = Join-Path $OutFolder "FailedComps.txt"
}
 
process {
    foreach($Computer in $ComputerName) {
 
        try {
            $RDP = Get-WmiObject -Class Win32_TerminalServiceSetting `
                                -Namespace root\CIMV2\TerminalServices `
                                -Computer $Computer `
                                -Authentication 6 `
                                -ErrorAction Stop
                                
        } catch {
            Write-Host "$Computer : WMIQueryFailed"
            "$Computer : WMIQueryFailed" | Out-File -FilePath $FailedComps -Append
            continue
        }
        
        if($RDP.AllowTSConnections -eq 1) {
            Write-Host "$Computer : RDP Already Enabled"
            "$Computer : RDP Already Enabled" | Out-File -FilePath $SuccessComps -Append
            continue
        } else {
            try {
                $result = $RDP.SetAllowTsConnections(1,1)
                if($result.ReturnValue -eq 0) {
                    Write-Host "$Computer : Enabled RDP Successfully"
                    "$Computer : RDP Enabled Successfully" | Out-File -FilePath $SuccessComps -Append
                } else {
                    Write-Host "$Computer : Failed to enabled RDP"
                    "$Computer : Failed to enable RDP" | Out-File -FilePath $FailedComps -Append
 
                }
            
            } catch {
                Write-Host "$computer : Failed to enabled RDP"
                "$Computer : Failed to enable RDP" | Out-File -FilePath $FailedComps -Append
            }
        }
    }
 
}
 
end {}
این Script را درون یک فایل با پسوند ps1 ذخیره کنید. برای مثال ما اسم این فایل را Enable-RDPAccess.ps1 میگذاریم. حالا دستور زیر را اجرا کنید :
.\Enable-RDPAccess.ps1 -ComputerName <computer name>
به جای <computer name> باید اسم کامپیوتر مقصد را وارد کنید. اگر خواستید RDP را روی تعداد زیادی سیستم های کلاینت فعال کنید Computer name های سیستم ها را درون یک فایل متنی ذخیره کنید و دستور زیر را اجرا کنید :
Get-Content <path to text file> | Enable-RDPAccess.ps1
با اجرای دستور زیر نیز میتوانید اجازه ورود ترافیک RDP به سیستم مقصد را بدهید :
wmic /node:<computer name> process call create "cmd.exe /c netsh firewall set service RemoteDesktop enable"
همچنین با استفاده از ابزار wmic میتوانید Remote Desktop را روی کلاینت ها فعال کنید :
wmic /node:<computer name> process call create 'cmd.exe /c reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f'
توجه کنید که در تنظیمات فایروال سیستم ریموت باید اجازه ورود ترافیک WMI را بدهید. با استفاده از Group Policy میتوانید این کار را انجام دهید. برای انجام این کار در Group Policy به مسیر زیر بروید :
Computer Configuration > Policies > Windows Settings > Security Settings > Windows Firewall with Advanced Security
روی Inbound Rules راست کلیک کنید و گزینه Predefined را انتخاب کنید و Windows Management Instrumentation یا WMI را از Drop-Down menu انتخاب کنید.


فعال سازی Remote Desktop از طریق PsExec


گزینه دیگری که میتوان برای فعال سازی Remote Desktop روی سیستم های کلاینت بکار برد استفاده از ابزار رایگان PsExec است. استفاده از این ابزار نیازی به فعال کردن PowerShell Remoting روی سیستم های ریموت ندارد. تنها عیبی که این ابزار دارد این است که به اندازه دستور Invoke-Command در PowerShell برای استفاده کردن سر راست و آسان نیست. برای استفاده از PsExec بایستی File and Printer sharing در سیستم ریموت به سمت Inbound باز باشد. که به احتمال زیاد امکان باز بودن آن زیاد است نسبت به پورت های WMI یا فعال کردن PowerShell Remoting. چنانچه فعال نبود از مسیر زیر در Group Policy میتوانید آنرا فعال کنید :
Computer Configuration > Policies > Administrative Templates > Network > Network Connections > Windows Firewall > Domain Profile > Windows Firewall: Allow inbound file and printer sharing exception
حالا وارد پوشه ای شوید که ابزار psexec.exe در آن قرار دارد و سپس دستور زیر را در Command Prompt اجرا کنید :
psexec.exe \\<computer name> reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
طبق معمول با استفاده از دستور زیر بایستی اجازه ورود ترافیک RDP را به سیستم مقصد بدهید :
psexec.exe \\<computer name> netsh firewall set service RemoteDesktop enable
امیدوارم مورد توجه شما قرار گرفته باشد.


نویسنده : امیرحسین کریم پور
منبع : جزیره سرویس های شبکه مایکروسافت وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی میباشد
برچسب ها
مطالب مرتبط

در حال دریافت اطلاعات

نظرات

برای ارسال نظر ابتدا به سایت وارد شوید