কমান্ড লাইন থেকে উইন্ডোজ ফায়ারওয়ালে রিমোট ডেস্কটপ সক্ষম করুন


12

দ্রষ্টব্য: # কমান্ড-লাইন ট্যাগটি কেবল ব্যাচ-ফাইল-ই বোঝায় না, আমি একটি পাওয়ারশেল স্ক্রিপ্ট বা কোনও অবাধে উপলভ্য ইউটিলিটি গ্রহণ করব, যা কমান্ড লাইন থেকে শুরু করা যেতে পারে এবং এর কাজটি বিনা বাধায় শেষ করা যেতে পারে।


TL; ড

জিইআইআইতে ঠিক কীভাবে ফায়ারওয়াল বিধিগুলি রূপান্তর করা যায়, উইন্ডোজ ভিস্তার উপর কোনও ইন্টারফেস (ডিসপ্লে) ভাষার উইন্ডোজ 10 তে রাখে?

elaborating

এই প্রশ্নটি # 786383 এর মতো , তবে এটি একই নয়।

মূলত, কারণ উত্তর আমার পক্ষে ভাল নয়:

  1. set rule group="remote desktop" new enable=Yesপাবলিক নেটওয়ার্কগুলির জন্য 3389 পোর্ট খোলে এবং আমি এটি এড়াতে চাই। এছাড়াও, বিভিন্ন উইন্ডোজ ভাষার বিভিন্ন গ্রুপের নাম রয়েছে তবে আমার একটি সার্বজনীন সমাধান প্রয়োজন।
  2. netsh firewall set service type = remotedesktop mode = enable আমার পক্ষেও কাজ করছে না: এটি উইন since এর পরে অবহিত করা হয়েছে এবং এটি কেবলমাত্র বর্তমান নেটওয়ার্কের জন্য আরডিপি অনুমতি দেয় (যদি আপনি সর্বজনীন হয়ে থাকেন তবে ৩৩৯৯ জন পাবলিক নেটওয়ার্কের জন্য খোলা হবে এবং পরে ব্যক্তিগত নেটওয়ার্কগুলিতে কাজ করবে না)।

নোট করুন যে জিডিআইয়ের মাধ্যমে আরডিপি সক্ষম হওয়ার আগে আরডিপি-র জন্য প্রোটোকল প্রতি একটি নিয়ম রয়েছে। কিন্তু যখন আরডিপিটি জিইউআইয়ের মাধ্যমে সক্ষম করা হয়, তখন পোর্টটি কেবলমাত্র ব্যক্তিগত এবং ডোমেন নেটওয়ার্কগুলির জন্য খোলা হয় এবং এর জন্য বিধি বিভক্ত হয়। সক্ষম করার পরে, উইন্ডোজ 8+ এবং উইন্ডোজ এক্সপি, ভিস্তা এবং 7 তে 2 টি নিয়ম (কোনও ইউডিপি নেই) রয়েছে 4

আমি বর্তমানে ব্যবহার করছি তার নিজের নিয়মগুলি যুক্ত করছে:

netsh.exe advfirewall firewall add rule name="Remote Desktop - User Mode (TCP-In)" dir=in action=allow program="%%SystemRoot%%\system32\svchost.exe" service="TermService" description="Inbound rule for the Remote Desktop service to allow RDP traffic. [TCP 3389] added by LogicDaemon's script" enable=yes profile=private,domain localport=3389 protocol=tcp
netsh.exe advfirewall firewall add rule name="Remote Desktop - User Mode (UDP-In)" dir=in action=allow program="%%SystemRoot%%\system32\svchost.exe" service="TermService" description="Inbound rule for the Remote Desktop service to allow RDP traffic. [UDP 3389] added by LogicDaemon's script" enable=yes profile=private,domain localport=3389 protocol=udp

তবে এটি খারাপ, কারণ (মানকগুলির বিপরীতে) তারা ব্যবহারকারীর দ্বারা সংশোধিত হতে পারে, কোনও গ্রুপ নেই (অন্যান্য স্ক্রিপ্টগুলির সাথে কাজ করার জন্য), এবং জিডিআইয়ের মাধ্যমে আরডিপি বন্ধ হয়ে গেলে স্বয়ংক্রিয়ভাবে অক্ষম হয় না।

স্ক্রীনশট

প্রথমবারের মতো জিইউআইয়ের মাধ্যমে আরডিপি সক্ষম করার আগে ফায়ারওয়াল বিধিগুলি * **

জিডিআই (রাজ্য আমি পেতে চাই) এর মাধ্যমে আরডিপি সক্ষম করা হলে একই নিয়ম:

এবং জিইউআইতে আরডিপি অক্ষম করার পরে:


উইন্ডোজ কমান্ড লাইন ইউটিলিটিগুলির সাথে আমি এই লড়াইয়ের পুরো কাহিনীটি পুনরায় বলব না, যতক্ষণ না কেউ জিজ্ঞাসা করে। রাশিয়ান ভাষায় সেই গল্পটি এখানে ।


1
সুতরাং আমি সংক্ষেপে এই কথাটি ঠিক করতে পারি যে আপনি কেবল দুটি ডোমেন এবং ব্যক্তিগত প্রোফাইলের জন্য পোর্ট 3389 এ ইউডিপি / টিসিপি সক্ষম করে ফায়ারওয়াল নিয়মগুলিতে তৈরি 2 টি চান?
নাথান রাইস

প্রায়। প্রথম, হ্যাঁ, আমি অন্তর্নির্মিত নিয়মগুলি সংশোধন করতে চলেছি। দ্বিতীয়ত, হ্যাঁ, আমি ডোমেন এবং ব্যক্তিগত নেটওয়ার্কগুলিতে 3389 সক্ষম করার জন্য বিল্ট-ইন বিধিগুলি চাই। তবে এখানে জটিল অংশটি রয়েছে (অন্যথায় এটি ইতিমধ্যে উত্তর দেওয়া হবে): আসুন প্রথমে টিসিপি সম্পর্কে বলি। ডিফল্টরূপে, {পাবলিক} এবং {ডোমান, প্রাইভেট} নেটওয়ার্কগুলির জন্য আলাদা কোনও বিধি নেই। {সমস্ত} নেটওয়ার্কগুলির জন্য একটি নিয়ম রয়েছে। কিন্তু যখন আরডিপিটি জিইউআইয়ের মাধ্যমে সক্ষম করা হয়, সেখানে দুটি নিয়ম উপস্থিত হয়, একটি {পাবলিক for এবং একটি {ডোমন, প্রাইভেট for এর জন্য} একই সাথে ইউডিপি। এছাড়াও আমি স্ক্রিনশট যুক্ত করেছি, কিছুটা স্পষ্টও করতে পারি।
লজিকডেমন

উত্তর:


8
netsh firewall set service type = remotedesktop mode = enable

অথবা

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

আমি চেষ্টা করেছিলাম। netsh firewallহ্রাস করা হয়েছে (উইন 7 থেকে), উইন 10 তে কাজ করে না এবং কেবলমাত্র বর্তমান নেটওয়ার্কের জন্য আরডিপি অনুমতি দেয় (আপনি যদি সর্বজনীন হয়ে থাকেন তবে আরডিপি পাবলিক নেটওয়ার্কের জন্য অনুমোদিত হবে এবং পরে ব্যক্তিগত নেটওয়ার্কগুলিতে কাজ করবে না)। এটি মূল গল্পে উল্লেখ করা হয়েছে, আমি কেবল ভেবেছিলাম এটি প্রশ্নে উল্লেখ করার মতো নয়। আমি সেই দোষটি ঠিক করে দেব।
লজিকডেমন

প্রকৃতপক্ষে অবহেলিত অবস্থায়, netsh firewallএখনও উইন্ডোজ 10 এ কাজ করে (প্রোতে পরীক্ষিত)।
আমি বলছি মনিকা পুনরায়

2
@ তিস্টি আমি নিশ্চিত করি, এটি প্রকৃতপক্ষে 1607 সংস্করণে (14393.693 বিল্ড) কাজ করে। যখন আমি আমার পূর্ববর্তী মন্তব্যটি লিখছি, আমি এটি বর্তমান সংস্করণে পরীক্ষা করেছি (এখনও কোনও প্রকাশ হয়নি), এবং এটি কার্যকর হয়নি।
লজিকডেমন

3

আমি যদি প্রশ্নটি সঠিকভাবে বুঝতে পারি তবে এটি আপনি যা চান তা পাবেন। এটি পাওয়ারশেল:

$FireWall = New-Object -comObject HNetCfg.FwPolicy2
$EnableRules = $FireWall.rules | Where-Object {$_.LocalPorts -like "*3389*" -and $_.Profiles -eq "3"}
ForEach ($Rule In $EnableRules){($Rule.Enabled = "True")}

এটি নিয়মগুলি ফিল্টার করে এবং সঠিক নিয়মের নাম ভাষার অজ্ঞাব্যক্তিকে গ্রহন করবে। এটি 3389 পোর্টে ফিল্টার করে এবং "ডোমেন এবং ব্যক্তিগত নেটওয়ার্ক" এর সাথে সম্পর্কিত নিয়মটি সন্ধান করে এটি করে। Profiles -eq 3ব্যক্তিগত এবং ডোমেন নেটওয়ার্কগুলির জন্য বিটম্যাপ মাস্ক, আপনি এখানে রেফারেন্স দেখতে পারেন:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa366303(v=vs.85).aspx

যেখানে 1 (ডোমেন নেটওয়ার্ক) + 2 (ব্যক্তিগত নেটওয়ার্ক) = 3

এখানে এমএসডিএন লিঙ্কটি রয়েছে যেখানে আমি বাকীগুলি বের করেছিলাম:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa365309(v=vs.85).aspx

এবং অন্যান্য জিনিসগুলির জন্য কী কী বৈশিষ্ট্য এবং পদ্ধতিগুলি ছিল তা আমি এখানে খুঁজে বের করেছি:

PS C:\> $FireWall | Get-Member


   TypeName: System.__ComObject#{98325047-c671-4174-8d81-defcd3f03186}

Name                                         MemberType            Definition
----                                         ----------            ----------
EnableRuleGroup                              Method                void EnableRuleGroup (int, string, bool)
IsRuleGroupEnabled                           Method                bool IsRuleGroupEnabled (int, string)
RestoreLocalFirewallDefaults                 Method                void RestoreLocalFirewallDefaults ()
BlockAllInboundTraffic                       ParameterizedProperty bool BlockAllInboundTraffic (NET_FW_PROFILE_TYPE2...
DefaultInboundAction                         ParameterizedProperty NET_FW_ACTION_ DefaultInboundAction (NET_FW_PROFI...
DefaultOutboundAction                        ParameterizedProperty NET_FW_ACTION_ DefaultOutboundAction (NET_FW_PROF...
ExcludedInterfaces                           ParameterizedProperty Variant ExcludedInterfaces (NET_FW_PROFILE_TYPE2_...
FirewallEnabled                              ParameterizedProperty bool FirewallEnabled (NET_FW_PROFILE_TYPE2_) {get...
IsRuleGroupCurrentlyEnabled                  ParameterizedProperty bool IsRuleGroupCurrentlyEnabled (string) {get}
NotificationsDisabled                        ParameterizedProperty bool NotificationsDisabled (NET_FW_PROFILE_TYPE2_...
UnicastResponsesToMulticastBroadcastDisabled ParameterizedProperty bool UnicastResponsesToMulticastBroadcastDisabled...
CurrentProfileTypes                          Property              int CurrentProfileTypes () {get}
LocalPolicyModifyState                       Property              NET_FW_MODIFY_STATE_ LocalPolicyModifyState () {g...
Rules                                        Property              INetFwRules Rules () {get}
ServiceRestriction                           Property              INetFwServiceRestriction ServiceRestriction () {g...



PS C:\> $Rules | Get-Member


   TypeName: System.__ComObject#{9c27c8da-189b-4dde-89f7-8b39a316782c}

Name                 MemberType Definition
----                 ---------- ----------
Action               Property   NET_FW_ACTION_ Action () {get} {set}
ApplicationName      Property   string ApplicationName () {get} {set}
Description          Property   string Description () {get} {set}
Direction            Property   NET_FW_RULE_DIRECTION_ Direction () {get} {set}
EdgeTraversal        Property   bool EdgeTraversal () {get} {set}
EdgeTraversalOptions Property   int EdgeTraversalOptions () {get} {set}
Enabled              Property   bool Enabled () {get} {set}
Grouping             Property   string Grouping () {get} {set}
IcmpTypesAndCodes    Property   string IcmpTypesAndCodes () {get} {set}
Interfaces           Property   Variant Interfaces () {get} {set}
InterfaceTypes       Property   string InterfaceTypes () {get} {set}
LocalAddresses       Property   string LocalAddresses () {get} {set}
LocalPorts           Property   string LocalPorts () {get} {set}
Name                 Property   string Name () {get} {set}
Profiles             Property   int Profiles () {get} {set}
Protocol             Property   int Protocol () {get} {set}
RemoteAddresses      Property   string RemoteAddresses () {get} {set}
RemotePorts          Property   string RemotePorts () {get} {set}
serviceName          Property   string serviceName () {get} {set}

নিশ্চিত না কেন, তবে এটি বলে যে এরকম কোনও সম্পত্তি নেই i.imgur.com/A0OmzZ8.png । আমার ধারণা এটি কারণ কারণ জিডিআইয়ের মাধ্যমে আরডিপি প্রথমবার সক্ষম করা না হওয়া অবধি এই জাতীয় কোনও নিয়ম নেই, সমস্ত নেটওয়ার্কের জন্য (সরকারী, ব্যক্তিগত, ডোমেন) একক নিয়ম রয়েছে । কিন্তু জিইউআইয়ের মাধ্যমে সক্ষম হয়ে গেলে, এই নিয়মটি বিভক্ত! এছাড়াও টাইপো রয়েছে)}
লজিকডেমোন

উইন্ডোজ 8-এ, কোনও ত্রুটি নেই, তবে পুরোপুরি কিছুই করা হয় না i.imgur.com/te0J1Q9.png । ফায়ারওয়াল বিধিগুলি প্রথমবারের মতো জিইউআইয়ের মাধ্যমে আরডিপি সক্রিয় করার আগে নজর রাখবে : i.imgur.com/sEIE0me.png , সক্রিয় করার পরে জিইউআইয়ের মাধ্যমে অক্ষম করার পরে: i.imgur.com/PjnFOh1.pngজিডিআইয়ের
লজিকডেমোন

0

আপনি যদি পাওয়ারশেল সমাধানের সন্ধান করছেন তবে নিম্নলিখিতগুলি ব্যবহার করা যেতে পারে:

Enable-NetFirewallRule -Name "RemoteDesktop-UserMode-In-TCP"
Enable-NetFirewallRule -Name "RemoteDesktop-UserMode-In-UDP"

0

নিম্নলিখিত সিএমডি কমান্ড ..

netsh firewall set service type = remotedesktop mode = enable

এবং

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /

দূরবর্তী ডেস্কটপ সক্ষম করতে যথেষ্ট নয়।

এটি কাজ করতে আমাকে এটি যুক্ত করতে হয়েছিল (ক্লায়েন্ট: উইন্ডোজ 10)

netsh advfirewall firewall add rule name="Open Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.