Skip to content
VDS · Windows Server

RDP के बिना रिमोट मैनेजमेंट: PowerShell

Windows Server मशीन को कमांड से कैसे मैनेज करें: WinRM, SSH पर PowerShell, सुरक्षित सेटअप, और ग्राफ़िकल सेशन उपलब्ध न हो तो क्या करें।

23 अगस्त 2026 को अपडेट किया गया

RDP सुविधाजनक है, लेकिन इसके लिए बैंडविड्थ, GUI और एक खुला पोर्ट चाहिए। रोज़मर्रा के कामों के लिए — अपडेट, सर्विसेज़ को रीस्टार्ट करना, लॉग देखना — कमांड लाइन तेज़ और ज़्यादा सुरक्षित है: तीन मिनट की क्लिकिंग की जगह एक लाइन।

पहला विकल्प: SSH के ज़रिए PowerShell

Windows Server 2022 और 2025 में बिल्ट-इन OpenSSH सर्वर आता है। यह सबसे आसान तरीका है, खासकर अगर आप पहले से कीज़ के साथ काम करते हैं।

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service sshd -StartupType Automatic
New-NetFirewallRule -DisplayName "SSH" -Direction Inbound -Protocol TCP -LocalPort 22 `
  -RemoteAddress 203.0.113.5 -Action Allow

PowerShell को डिफ़ॉल्ट शेल बनाएं:

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell `
  -Value "C:\Program Files\PowerShell\7\pwsh.exe" -PropertyType String -Force

लॉगिन की C:\Users\<name>\.ssh\authorized_keys में जाती है, और एडमिनिस्ट्रेटर के लिए C:\ProgramData\ssh\administrators_authorized_keys में, जिसमें सिर्फ़ SYSTEM और Administrators ग्रुप के लिए परमिशन होनी चाहिए, वरना सर्वर इसे इग्नोर कर देगा। इसके बाद C:\ProgramData\ssh\sshd_config में पासवर्ड लॉगिन बंद करें (PasswordAuthentication no) और सर्विस रीस्टार्ट करें।

कनेक्ट करना स्टैंडर्ड है:

ssh Administrator@YOUR_ADDRESS

दूसरा विकल्प: WinRM

यह Windows का नेटिव मैकेनिज़्म है। पोर्ट 5985 (HTTP) या 5986 (HTTPS)।

Enable-PSRemoting -Force
Set-NetFirewallRule -Name WINRM-HTTP-In-TCP -RemoteAddress 203.0.113.5

बिना एन्क्रिप्शन वाले 5985 को कभी इंटरनेट पर न खोलें। सही तरीका है सर्टिफ़िकेट के साथ HTTPS लिसनर:

$c = New-SelfSignedCertificate -DnsName "vds.example.ru" -CertStoreLocation Cert:\LocalMachine\My
New-Item -Path WSMan:\Localhost\Listener -Transport HTTPS -Address * -CertificateThumbPrint $c.Thumbprint -Force
New-NetFirewallRule -DisplayName "WinRM HTTPS" -Direction Inbound -Protocol TCP -LocalPort 5986 `
  -RemoteAddress 203.0.113.5 -Action Allow

किसी दूसरी Windows मशीन से काम करना:

$s = New-PSSession -ComputerName vds.example.ru -UseSSL -Credential (Get-Credential)
Invoke-Command -Session $s { Get-Service | Where-Object Status -eq Running | Select-Object -First 10 }
Enter-PSSession $s

कमांड से क्या-क्या सुविधाजनक है

Restart-Service W3SVC                        # restart IIS
Get-WinEvent -LogName System -MaxEvents 20   # latest events
Get-Process | Sort-Object WS -Desc | Select-Object -First 10 Name, WS
Get-Volume | Select-Object DriveLetter, SizeRemaining
Restart-Computer -Force

अपडेट GUI के बिना भी इंस्टॉल किए जा सकते हैं, देखें Windows Server अपडेट।

इमरजेंसी एक्सेस

अगर RDP, SSH और WinRM — तीनों जवाब देने में फ़ेल हो जाएं, तो पैनल में /hosting/vds/m/<id> पर “Console” टैब “Screen” मोड (VNC) में बचा रहता है। यह मशीन से मॉनिटर की तरह कनेक्ट होता है और OS के अंदर की नेटवर्क सेटिंग्स पर निर्भर नहीं करता। Windows के लिए सीरियल पोर्ट पर टेक्स्ट कंसोल का कोई मतलब नहीं है।

आम गलतियाँ

  • 5985 को पूरे इंटरनेट पर खोल देना। यह बिना एन्क्रिप्शन वाले चैनल पर मशीन मैनेज करना है। हमेशा एड्रेस को सीमित रखें और HTTPS को प्राथमिकता दें।
  • administrators_authorized_keys पर गलत परमिशन। OpenSSH सर्वर ऐसी फ़ाइल को चुपचाप इग्नोर कर देता है जिसमें दूसरे लिख सकते हों। इसे ठीक करें: icacls से SYSTEM और Administrators के अलावा सबके लिए इनहेरिटेंस बंद करें।
  • रूल गलत नेटवर्क प्रोफ़ाइल में बनाया गया। एक्टिव प्रोफ़ाइल चेक करें: Get-NetConnectionProfile।
  • RDP बंद करते समय NLA और पासवर्ड भूल जाना। RDP बंद करने से पहले पक्का करें कि वैकल्पिक एक्सेस काम कर रहा है।

अपने सेटअप कमांड को एक फ़ाइल में लिखने की आदत डालें। “Access” टैब पर OS रीइंस्टॉल करने में कुछ मिनट लगते हैं, जबकि सेटिंग्स को याद से बहाल करने में घंटे लग जाते हैं।