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 کے سوا سب کے لیے inheritance بند کریں۔- رول غلط نیٹ ورک پروفائل میں بنایا گیا۔ فعال پروفائل چیک کریں:
Get-NetConnectionProfile۔ - RDP بند کرتے وقت NLA اور پاس ورڈز کو بھول جانا۔ RDP بند کرنے سے پہلے یقینی بنائیں کہ متبادل رسائی کام کر رہی ہے۔
اپنے سیٹ اپ کمانڈز کو فائل میں لکھنے کی عادت ڈالیں۔ "Access" ٹیب پر OS دوبارہ انسٹال کرنے میں منٹ لگتے ہیں، جبکہ سیٹنگز کو یادداشت سے بحال کرنے میں گھنٹے لگ جاتے ہیں۔