أهم أوامر PowerShell لفني الدعم الفني: الدليل العملي الشامل

أهم أوامر PowerShell لفني الدعم الفني: الدليل العملي الشامل

آخر تحديث: 24 مايو 2026 | الفئة: IT Support - Windows - PowerShell - Automation

ملخص بصري لأهم أوامر PowerShell المستخدمة في الدعم الفني على Windows

ملخص بصري لأهم أقسام أوامر PowerShell لفني الدعم الفني ومدير النظام

إذا كانت أوامر CMD ممتازة للتشخيص السريع، فإن PowerShell يأخذك خطوة أبعد: أوامر تقرأ النظام ككائنات، فلترة دقيقة، تصدير تقارير CSV/JSON، إدارة خدمات ومستخدمين، وتشخيص شبكة أكثر احترافية. هذا الدليل يجمع أهم أوامر PowerShell التي يحتاجها فني الدعم الفني في Windows 10/11 وبيئات الشركات.
ملاحظة مهمة: بعض الأوامر تحتاج تشغيل PowerShell كـ Administrator. بعض الأوامر تغيّر النظام أو توقف خدمات أو تحذف ملفات، لذلك ستجد بجانب كل مجموعة شارات توضّح مستوى الخطورة والصلاحيات المطلوبة.

1. أساسيات PowerShell

ابدأ بهذه الأوامر لفهم البيئة، معرفة نسخة PowerShell، البحث عن الأوامر، وفتح المساعدة.

$PSVersionTable و Get-Host آمن

يعرضان نسخة PowerShell والبيئة الحالية. مهم عند اختلاف السلوك بين Windows PowerShell 5.1 وPowerShell 7.

عرض نسخة PowerShell بالتفصيل

$PSVersionTable

عرض معلومات الجلسة الحالية

Get-Host

Get-Command و Get-Help آمن

البحث عن الأوامر وقراءة المساعدة الرسمية مباشرة من PowerShell.

البحث عن أمر يحتوي كلمة Service

Get-Command *Service*

قراءة المساعدة المختصرة لأمر

Get-Help Get-Service

فتح المساعدة مع أمثلة

Get-Help Get-Service -Examples

تحديث ملفات المساعدة، يحتاج إنترنت وقد يحتاج Admin

Update-Help

التنقل السريع آمن

أوامر أساسية للتنقل داخل المجلدات وتنظيف الشاشة ومعرفة المسار الحالي.

عرض المسار الحالي

Get-Location

الانتقال لمجلد

Set-Location C:\Windows\System32

اختصار الانتقال لمجلد

cd C:\Windows\System32

مسح الشاشة

Clear-Host

2. معلومات النظام والهاردوير

هذه الأوامر تعطيك صورة دقيقة عن الجهاز ونظام التشغيل، وهي بديل حديث لكثير من استخدامات WMIC.

Get-ComputerInfo آمن

يعرض معلومات شاملة عن Windows والجهاز. ممتاز للتوثيق الأولي في تذكرة الدعم.

عرض معلومات الجهاز كاملة

Get-ComputerInfo

عرض معلومات مختصرة عن النظام

Get-ComputerInfo | Select-Object CsName, WindowsProductName, WindowsVersion, OsArchitecture

حفظ تقرير نصي

Get-ComputerInfo | Out-File C:\Temp\computerinfo.txt

Get-CimInstance آمن

البديل الأحدث والأفضل لكثير من أوامر WMIC. يعطي معلومات دقيقة من WMI/CIM.

معلومات نظام التشغيل

Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, LastBootUpTime

موديل الجهاز والشركة المصنعة

Get-CimInstance Win32_ComputerSystem | Select-Object Manufacturer, Model, TotalPhysicalMemory

Serial Number من BIOS

Get-CimInstance Win32_BIOS | Select-Object SerialNumber

معلومات المعالج

Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores, MaxClockSpeed

معلومات شرائح RAM

Get-CimInstance Win32_PhysicalMemory | Select-Object Manufacturer, Capacity, Speed
بديل WMIC: بدلاً من wmic bios get serialnumber استخدم Get-CimInstance Win32_BIOS. هذا الأسلوب أحدث وأسهل في التصفية والتصدير.

3. استكشاف أخطاء الشبكة

PowerShell يعطيك أوامر شبكة أقوى من ping التقليدي، خصوصاً عند اختبار المنافذ وDNS وإعدادات كرت الشبكة.

Get-NetIPConfiguration و Get-NetAdapter آمن للعرض

عرض إعدادات الشبكة وكروت الشبكة بشكل منظم.

عرض إعدادات IP الأساسية

Get-NetIPConfiguration

عرض كل كروت الشبكة وحالتها

Get-NetAdapter

عرض DNS Servers لكل Interface

Get-DnsClientServerAddress

Test-NetConnection آمن

بديل قوي لـ ping وtelnet، ويفيد جداً في اختبار المنافذ مثل 443 أو 3389.

اختبار الاتصال بـ IP

Test-NetConnection 8.8.8.8

اختبار اتصال HTTPS على منفذ 443

Test-NetConnection computargi.com -Port 443

اختبار RDP على منفذ 3389

Test-NetConnection 192.168.1.50 -Port 3389

تتبع المسار

Test-NetConnection computargi.com -TraceRoute

Resolve-DnsName و DNS Cache آمن غالباً

تشخيص DNS من PowerShell وعرض أو مسح DNS Cache.

حل اسم نطاق

Resolve-DnsName computargi.com

حل اسم نطاق باستخدام DNS مخصص

Resolve-DnsName computargi.com -Server 8.8.8.8

عرض DNS Cache

Get-DnsClientCache

مسح DNS Cache

Clear-DnsClientCache

4. العمليات والخدمات

Get-Process و Stop-Process العرض آمن الإيقاف قد يحتاج Admin

عرض العمليات وإنهاء العمليات المتجمدة. استخدم Stop-Process بحذر لأنه قد يغلق عمل المستخدم غير المحفوظ.

عرض العمليات

Get-Process

البحث عن عملية بالاسم

Get-Process -Name chrome

ترتيب العمليات حسب استهلاك الذاكرة

Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10

إنهاء عملية بالـ PID

Stop-Process -Id 1234 -Force

Get-Service و Restart-Service العرض آمن التعديل يحتاج Admin

إدارة خدمات Windows: عرض، تشغيل، إيقاف، إعادة تشغيل، وتغيير Startup Type.

عرض الخدمات

Get-Service

عرض الخدمات الجارية فقط

Get-Service | Where-Object Status -eq "Running"

عرض خدمة Windows Update

Get-Service -Name wuauserv

إعادة تشغيل خدمة Print Spooler

Restart-Service -Name Spooler

تعطيل خدمة، استخدمه بحذر

Set-Service -Name wuauserv -StartupType Disabled

5. المستخدمون والمجموعات المحلية

تنبيه: أوامر المستخدمين والمجموعات تغيّر صلاحيات الجهاز. استخدمها فقط على أجهزة مصرح لك بإدارتها، وشغّل PowerShell كمسؤول عند الإنشاء أو الحذف أو تعديل العضويات.

Get-LocalUser و New-LocalUser Admin للتعديل

عرض وإدارة حسابات المستخدمين المحليين.

عرض المستخدمين المحليين

Get-LocalUser

عرض مستخدم محدد

Get-LocalUser -Name Administrator

إنشاء مستخدم محلي مع إدخال كلمة المرور بشكل آمن

New-LocalUser -Name "supportUser" -Password (Read-Host -AsSecureString "Password")

تعطيل مستخدم

Disable-LocalUser -Name "supportUser"

Local Groups Admin للتعديل

عرض وإدارة عضويات المجموعات المحلية مثل Administrators.

عرض المجموعات المحلية

Get-LocalGroup

عرض أعضاء Administrators

Get-LocalGroupMember -Group "Administrators"

إضافة مستخدم إلى Administrators

Add-LocalGroupMember -Group "Administrators" -Member "supportUser"

إزالة مستخدم من Administrators

Remove-LocalGroupMember -Group "Administrators" -Member "supportUser"

6. الملفات والبحث

Get-ChildItem و Select-String آمن للعرض

استعراض الملفات والبحث داخل الملفات النصية. Get-ChildItem هو النسخة الأقوى من dir.

عرض محتويات مجلد

Get-ChildItem C:\Temp

عرض الملفات المخفية أيضاً

Get-ChildItem C:\Temp -Force

البحث عن ملفات log داخل مجلدات فرعية

Get-ChildItem C:\Temp -Recurse -Filter *.log

البحث داخل الملفات عن كلمة Error

Select-String -Path C:\Temp\*.log -Pattern "Error"

Copy-Item و Remove-Item النسخ آمن الحذف خطر

نسخ ونقل وحذف الملفات. استخدم Remove-Item بحذر شديد، خصوصاً مع -Recurse و -Force.

نسخ ملف

Copy-Item C:\Temp\report.txt D:\Backup\report.txt

نسخ مجلد كامل

Copy-Item C:\Source D:\Backup -Recurse

نقل ملف

Move-Item C:\Temp\report.txt D:\Backup\report.txt

حذف ملف محدد

Remove-Item C:\Temp\old.log

اختبار وجود ملف أو مسار

Test-Path C:\Temp\report.txt
تحذير الحذف: تجنّب تشغيل Remove-Item -Recurse -Force على مسار غير متأكد منه. في PowerShell المسار الخاطئ قد يعني حذف مجلد كامل بسرعة.

7. الأقراص والتخزين

Get-Volume و Get-Disk آمن للعرض

عرض حالة الأقراص والأحجام والمساحات الحرة.

عرض وحدات التخزين والمساحة الحرة

Get-Volume

عرض الأقراص الفيزيائية

Get-Disk

عرض الأقسام

Get-Partition

عرض صحة الأقراص Storage Spaces إن وجدت

Get-PhysicalDisk

Repair-Volume يحتاج Admin بحذر

فحص وإصلاح أخطاء نظام الملفات. قد يشبه chkdsk في بعض السيناريوهات.

فحص سريع لوحدة C:

Repair-Volume -DriveLetter C -Scan

إصلاح Online إن أمكن

Repair-Volume -DriveLetter C -SpotFix

8. سجلات الأحداث Event Logs

Get-WinEvent آمن للعرض

أقوى طريقة لقراءة Event Logs من PowerShell، مع فلترة دقيقة حسب LogName وLevel وProvider ووقت الحدث.

عرض آخر 20 حدث من System

Get-WinEvent -LogName System -MaxEvents 20

عرض آخر 20 خطأ فقط من System

Get-WinEvent -FilterHashtable @{LogName="System"; Level=2} -MaxEvents 20

أحداث آخر 24 ساعة

Get-WinEvent -FilterHashtable @{LogName="System"; StartTime=(Get-Date).AddDays(-1)}

تصدير الأخطاء إلى CSV

Get-WinEvent -FilterHashtable @{LogName="System"; Level=2} -MaxEvents 100 | Export-Csv C:\Temp\system_errors.csv -NoTypeInformation

9. البرامج والتحديثات

Get-HotFix آمن

يعرض تحديثات Windows المثبتة، مفيد لمعرفة آخر KB أو التحقق من تحديث معين.

عرض التحديثات المثبتة

Get-HotFix

البحث عن تحديث KB محدد

Get-HotFix -Id KB5034123

ترتيب التحديثات حسب التاريخ

Get-HotFix | Sort-Object InstalledOn -Descending

winget من داخل PowerShell العرض آمن التثبيت/الحذف بحذر

Windows Package Manager يساعدك في عرض وتحديث وتثبيت البرامج. قد لا يكون متاحاً على كل الأجهزة القديمة.

عرض البرامج التي يعرفها winget

winget list

عرض التحديثات المتاحة

winget upgrade

البحث عن برنامج

winget search 7zip

تحديث برنامج محدد

winget upgrade --id 7zip.7zip

10. الإدارة عن بُعد

PowerShell Remoting يحتاج إعداد وصلاحيات مفيد في Domain

تشغيل أوامر على أجهزة أخرى عبر WinRM. ممتاز في بيئات الشركات، لكن يحتاج سياسات وصلاحيات مناسبة.

اختبار WinRM على جهاز بعيد

Test-WSMan SERVER01

فتح جلسة تفاعلية مع جهاز بعيد

Enter-PSSession -ComputerName SERVER01

تشغيل أمر على جهاز بعيد

Invoke-Command -ComputerName SERVER01 -ScriptBlock { Get-Service }

تفعيل Remoting على الجهاز الحالي

Enable-PSRemoting -Force
تحذير Remoting: لا تفعّل PowerShell Remoting على أجهزة الإنتاج بدون سياسة واضحة من فريق الأمن أو الشبكات، لأنه يفتح مسار إدارة عن بُعد يجب ضبطه جيداً.

11. Firewall والاتصالات

NetFirewall العرض آمن التعديل يحتاج Admin

عرض وإدارة Windows Defender Firewall من PowerShell.

عرض ملفات Firewall Profiles

Get-NetFirewallProfile

عرض قواعد Firewall المفعلة

Get-NetFirewallRule | Where-Object Enabled -eq True

إنشاء قاعدة تسمح بمنفذ 8080

New-NetFirewallRule -DisplayName "Allow TCP 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow

تعطيل Firewall لكل Profiles، استخدمه فقط للاختبار المؤقت

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

Get-NetTCPConnection آمن للعرض

يعرض الاتصالات النشطة، بديل PowerShell مفيد لـ netstat.

عرض الاتصالات TCP

Get-NetTCPConnection

البحث عن اتصالات على منفذ 3389

Get-NetTCPConnection -LocalPort 3389

عرض العمليات المالكة للاتصالات

Get-NetTCPConnection | Select-Object LocalAddress, LocalPort, RemoteAddress, State, OwningProcess

12. Registry ومتغيرات البيئة

Registry Provider القراءة آمنة التعديل خطر

PowerShell يتعامل مع Registry كأنه Drive. القراءة مفيدة، لكن التعديل يحتاج نسخة احتياطية وفهم واضح.

قراءة مفتاح Registry

Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion"

البحث عن قيمة داخل مسار Registry

Get-ChildItem "HKLM:\SOFTWARE" -Recurse -ErrorAction SilentlyContinue | Where-Object Name -like "*keyword*"

إضافة قيمة Registry، استخدمه بحذر

New-ItemProperty -Path "HKCU:\Software\Example" -Name "Setting" -Value "1" -PropertyType String

Environment Variables غالباً آمن

عرض وتعديل متغيرات البيئة للمستخدم أو الجهاز.

عرض PATH للمستخدم الحالي

[Environment]::GetEnvironmentVariable("Path", "User")

إضافة متغير بيئة للمستخدم

[Environment]::SetEnvironmentVariable("SUPPORT_HOME", "C:\Support", "User")

عرض متغيرات البيئة في الجلسة الحالية

Get-ChildItem Env:

13. Execution Policy والسكربتات

Execution Policy العرض آمن التغيير بحذر

Execution Policy ليست نظام حماية كامل، لكنها تتحكم في تشغيل السكربتات. غيّرها فقط حسب سياسة الشركة.

عرض السياسة الحالية

Get-ExecutionPolicy

عرض السياسات لكل Scope

Get-ExecutionPolicy -List

تعيين RemoteSigned للمستخدم الحالي فقط

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

فك حظر ملف سكربت تم تنزيله

Unblock-File C:\Scripts\support.ps1

Start-Transcript مفيد للتوثيق

يسجل جلسة PowerShell في ملف نصي. ممتاز لتوثيق ما فعلته في تذكرة دعم.

بدء تسجيل الجلسة

Start-Transcript -Path C:\Temp\support-session.txt

إيقاف تسجيل الجلسة

Stop-Transcript

14. التصفية والتصدير والتقارير

Select و Where و Sort آمن

قوة PowerShell الحقيقية تظهر في Pipeline: اختر الأعمدة، صفّ النتائج، ورتّبها.

اختيار أعمدة محددة

Get-Service | Select-Object Name, Status, StartType

فلترة الخدمات المتوقفة

Get-Service | Where-Object Status -eq "Stopped"

ترتيب العمليات حسب CPU

Get-Process | Sort-Object CPU -Descending | Select-Object -First 10

Export-Csv و ConvertTo-Json آمن

تصدير النتائج لتقارير قابلة للإرسال أو التحليل لاحقاً.

تصدير الخدمات إلى CSV

Get-Service | Select-Object Name, Status, StartType | Export-Csv C:\Temp\services.csv -NoTypeInformation

تصدير معلومات النظام إلى JSON

Get-ComputerInfo | ConvertTo-Json | Out-File C:\Temp\computerinfo.json

عرض وحفظ المخرجات معاً

Get-NetIPConfiguration | Tee-Object -FilePath C:\Temp\network.txt
ملاحظة: أوامر Active Directory تحتاج تثبيت RSAT/ActiveDirectory Module، وتحتاج صلاحيات مناسبة داخل الـ Domain.

Active Directory Module Domain حسب الصلاحيات

أوامر يومية لفني الدعم في بيئات Domain.

تحميل الموديول

Import-Module ActiveDirectory

البحث عن مستخدم

Get-ADUser -Identity username -Properties LockedOut, Enabled, LastLogonDate

عرض أجهزة باسم محدد

Get-ADComputer -Filter "Name -like 'PC-*'" -Properties OperatingSystem

عرض أعضاء مجموعة

Get-ADGroupMember -Identity "IT Support"

فتح قفل حساب مستخدم

Unlock-ADAccount -Identity username

16. CMD أم PowerShell؟

المهمة CMD مناسب عندما... PowerShell مناسب عندما...
تشخيص سريع تحتاج أمر بسيط مثل ping أو ipconfig. تحتاج اختبار منفذ، فلترة، أو تقرير قابل للتصدير.
إدارة خدمات تستخدم net stop أو sc بسرعة. تريد فلترة الخدمات وتصدير حالتها أو تعديلها بكائنات.
تقارير تكتفي بملف نصي. تحتاج CSV أو JSON أو Pipeline منظم.
بيئات Domain لأوامر بسيطة فقط. أفضل بكثير مع Active Directory وRemoting.

17. أفضل الممارسات

أفضل قاعدة: في PowerShell ابدأ دائماً بأوامر القراءة، ثم صفّ النتائج، ثم نفّذ التغيير بعد أن تتأكد من الهدف.
  • استخدم -WhatIf عند توفره: يوضح ماذا سيحدث بدون تنفيذ فعلي.
  • استخدم -Confirm للأوامر الحساسة: خصوصاً عند الحذف أو تعديل الخدمات.
  • وثّق الجلسة: استخدم Start-Transcript عند العمل على مشكلة طويلة.
  • لا تحفظ كلمات مرور Plain Text: استخدم Read-Host -AsSecureString أو أدوات إدارة أسرار معتمدة.
  • صدّر النتائج قبل التغيير: مثال Get-Service | Export-Csv C:\Temp\before.csv.

18. الأخطاء الشائعة

  • تشغيل أوامر حذف مع -Recurse بدون مراجعة المسار: خطأ صغير في المسار قد يحذف مجلداً كاملاً.
  • استخدام Format-Table قبل Export-Csv: هذا يفسد البيانات. استخدم Select-Object ثم Export-Csv.
  • تعطيل Firewall للاختبار ثم نسيانه: استخدم مدة اختبار قصيرة ووثّق التغيير.
  • تشغيل سكربتات مجهولة: افحص محتوى السكربت قبل تشغيله، حتى لو كان Execution Policy يسمح بذلك.
  • الخلط بين PowerShell 5.1 وPowerShell 7: بعض الموديولات والأوامر تختلف حسب النسخة.

19. الأسئلة الشائعة FAQ

هل PowerShell بديل كامل لـ CMD؟
في أغلب مهام الدعم الحديثة، نعم PowerShell أقوى. لكن CMD ما زال سريعاً ومفيداً لأوامر تقليدية مثل ping وipconfig وnet use. الأفضل أن تتقن الاثنين.
هل يجب تشغيل PowerShell كـ Administrator دائماً؟
لا. أوامر القراءة لا تحتاج غالباً إلى Admin. شغّل كمسؤول فقط عند تغيير خدمات، مستخدمين، Firewall، Execution Policy، أو إعدادات النظام.
ما الفرق بين Windows PowerShell و PowerShell 7؟
Windows PowerShell 5.1 مدمج في Windows ويعتمد على .NET Framework. PowerShell 7 أحدث ومبني على .NET، ويعمل على Windows وLinux وmacOS، لكن بعض موديولات Windows القديمة قد تختلف في التوافق.
هل Execution Policy حماية كافية؟
لا. Execution Policy يساعد في منع تشغيل سكربتات غير مقصودة، لكنه ليس بديلاً عن مكافحة الفيروسات أو سياسات الأمان أو مراجعة السكربتات.

20. مراجع رسمية مفيدة

للتفاصيل الأعمق، هذه روابط Microsoft الرسمية التي تفيدك عند كتابة سكربتات أو شرح أمر معيّن لفريقك:

21. الخاتمة

PowerShell هو الخطوة الطبيعية بعد CMD لأي فني دعم يريد الانتقال من التشخيص اليدوي إلى التشخيص المنظم والأتمتة. ابدأ بأوامر القراءة والتصفية، ثم تعلّم التصدير والتقارير، وبعدها انتقل إلى Remoting وActive Directory حسب بيئة عملك.

الكلمات الدلالية:
PowerShell IT Support Windows Troubleshooting Automation Get-ComputerInfo Test-NetConnection Get-WinEvent Active Directory Blogger

↑ العودة إلى أعلى الصفحة

google-playkhamsatmostaqltradent