📚 لیول 3: Advanced System Engineer - سبق نمبر 1
📖 سبق 1: PowerShell Introduction - ونڈوز کی طاقتور اسکرپٹنگ لینگویج
مکمل تفصیل کے ساتھ پیش ہے:
⚡ سبق 1: PowerShell Introduction - کمانڈ لائن سے آگے
🎯 PowerShell کا تعارف
PowerShell مائیکروسافٹ کی ایک طاقتور اسکرپٹنگ لینگویج اور کمانڈ لائن شیل ہے جو cmd سے کہیں زیادہ صلاحیتیں رکھتی ہے۔ یہ آبجیکٹ پر مبنی ہے اور سسٹم ایڈمنسٹریشن کو آسان بناتی ہے۔
✨ اس سے کیا ممکن ہے؟
پیچیدہ انتظامی کاموں کا آٹومیشن
سسٹم کے تمام پہلوؤں تک رسائی
ڈیٹا پروسیسنگ اور تجزیہ
ریموٹ سسٹمز کا انتظام
APIs اور ویب سروسز کے ساتھ انٹیگریشن
🎯 PowerShell vs Command Prompt
| فیچر | Command Prompt | PowerShell |
|---|---|---|
| آؤٹ پٹ | Text (سادہ متن) | Objects (آبجیکٹس) |
| کمانڈز | محدود (100+) | ہزاروں (cmdlets) |
| اسکرپٹنگ | محدود (batch) | مکمل پروگرامنگ زبان |
| پائپ لائن | Text بھیجتا ہے | Objects بھیجتا ہے |
| ریموٹ مینجمنٹ | محدود | مکمل (WinRM) |
🛠️ شروع کرنا
PowerShell کھولنے کے طریقے:
1. Windows Terminal (ترجیحی):
Windows + X → Windows Terminal (Admin)
یا Windows Terminal میں PowerShell ٹیب
2. PowerShell کا آغاز:
Start میں "PowerShell" لکھیں
"Windows PowerShell" (Admin) منتخب کریں
پہلی کمانڈ:
Get-Command(تمام دستیاب کمانڈز دکھاتا ہے)
📋 بنیادی cmdlets (PowerShell کمانڈز)
Get-Command - کمانڈز ڈھونڈنا:
# تمام cmdlets دیکھنا Get-Command -CommandType Cmdlet # مخصوص نام سے کمانڈز Get-Command *process* # verb کے حساب سے Get-Command -Verb Get
Get-Help - مدد حاصل کرنا:
# بنیادی مدد Get-Help Get-Process # تفصیلی مدد Get-Help Get-Process -Detailed # مثالیں Get-Help Get-Process -Examples
Get-Member - آبجیکٹ پراپرٹیز:
# process آبجیکٹ کی پراپرٹیز Get-Process | Get-Member # specific properties Get-Process | Get-Member -MemberType Property
📊 عملی مثالیں
A. پروسیس مینجمنٹ
تمام پروسیس دیکھنا:
Get-Processمخصوص پروسیس:
Get-Process -Name chrome
پروسیس ختم کرنا:
Stop-Process -Name notepad -Force
پروسیس شروع کرنا:
Start-Process notepad.exe
B. سروس مینجمنٹ
تمام سروسز:
Get-Serviceچل رہی سروسز:
Get-Service | Where-Object {$_.Status -eq "Running"}
سروس شروع/روکنا:
Start-Service -Name Spooler Stop-Service -Name Spooler Restart-Service -Name Spooler
C. فائل سسٹم
فائلز اور ڈائرکٹریز:
# تمام فائلز Get-ChildItem # مخصوص قسم Get-ChildItem *.txt # ڈائرکٹریز Get-ChildItem -Directory
فائل مواد پڑھنا:
Get-Content C:\Temp\file.txt
فائل بنانا:
New-Item -Path C:\Temp\new.txt -ItemType File
🔍 آؤٹ پٹ کی تشریح
Get-Process آؤٹ پٹ:
Handles NPM(K) PM(K) WS(K) CPU(s) Id ProcessName
------- ------ ----- ----- ------ -- -----------
520 32 25000 35000 45.23 1234 chrome
245 18 12000 18000 12.34 5678 explorer
89 5 4500 6000 2.45 9012 notepadGet-Service آؤٹ پٹ:
Status Name DisplayName ------ ---- ----------- Running Spooler Print Spooler Stopped WSearch Windows Search Running WinRM Windows Remote Management
⚠️ ممکنہ مسائل اور حل
مسئلہ 1: "Execution Policy" کی پابندی
وجہ: PowerShell کی سیکیورٹی سیٹنگز
حل:
# موجودہ پالیسی چیک Get-ExecutionPolicy # پالیسی تبدیل (admin rights required) Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
مسئلہ 2: "Access is denied"
وجہ: Administrator rights کی ضرورت
حل:
PowerShell کو "Run as administrator" کھولیں
مسئلہ 3: کمانڈ نہ ملنا
وجہ: module انسٹال نہیں
حل:
# ماڈیول انسٹال Install-Module -Name ModuleName # ماڈیول امپورٹ Import-Module ModuleName
💼 عملی استعمال کے منظرنامے
منظرنامہ 1: سسٹم ہیلتھ چیک
# CPU usage Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 # Memory usage Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 5 # Disk space Get-PSDrive -PSProvider FileSystem
منظرنامہ 2: نیٹ ورک انفارمیشن
# IP configuration Get-NetIPAddress # Network adapters Get-NetAdapter # Active connections Get-NetTCPConnection
منظرنامہ 3: لاگ فائل تجزیہ
# ایونٹ لاگ Get-EventLog -LogName System -Newest 10 # errors ڈھونڈنا Get-EventLog -LogName Application -EntryType Error | Select-Object -First 10
منظرنامہ 4: خودکار رپورٹنگ
# HTML رپورٹ بنانا Get-Process | ConvertTo-Html -Property Name,CPU,WorkingSet | Out-File processes.html # CSV ایکسپورٹ Get-Service | Export-Csv services.csv -NoTypeInformation
🔧 PowerShell کی طاقت
آبجیکٹ پائپ لائن:
# Process list میں سے chrome ڈھونڈنا Get-Process | Where-Object {$_.Name -like "*chrome*"} # پراپرٹی سلیکٹ کرنا Get-Process | Select-Object Name,CPU,WorkingSet # سارٹنگ Get-Process | Sort-Object CPU -Descending
پاورپل expressions:
# حسابی پراپرٹیز Get-Process | Select-Object Name, @{Name="Memory(MB)"; Expression={$_.WorkingSet/1MB}}
لوپنگ اور کنڈیشنز:
# ہر process کے لیے Get-Process | ForEach-Object { if ($_.CPU -gt 10) { Write-Host "$($_.Name) is using high CPU" } }
📝 اسائنمنٹ
عملی کام:
Get-Process | Sort-Object CPU -Descending | Select -First 5چلائیںGet-Service | Where-Object {$_.Status -eq "Running"}چلائیںGet-ChildItem C:\ -Recurse -ErrorAction SilentlyContinue | Where-Object {$_.Extension -eq ".txt"}چلائیںاپنا پہلا PowerShell script بنائیں
سوالات:
PowerShell اور Command Prompt میں کیا بنیادی فرق ہے؟
آبجیکٹ پائپ لائن کا کیا فائدہ ہے؟
Execution Policy کیا ہے اور کیوں اہم ہے؟
cmdlet اور function میں کیا فرق ہے؟
مشق:
ایک PowerShell script لکھیں جو تمام services کی HTML رپورٹ بنائے
top 5 memory-consuming processes ڈھونڈیں
system uptime معلوم کریں
💡 بہترین مشقیں
cmdlets کے لیے Verb-Noun naming convention یاد رکھیں
Get-Help کو باقاعدگی سے استعمال کریں
scripts میں error handling شامل کریں
comments لکھنا نہ بھولیں
PowerShell ISE یا VS Code استعمال کریں
⚠️ اہم نوٹ (ڈسکلیمر)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔴 براہ کرم غور سے پڑھیں
یہ مواد آئی ٹی درسگاہ فورم کی جانب سے محض تعلیمی اور معلوماتی مقاصد کے لیے فراہم کیا جا رہا ہے۔
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⛔ ذمہ داری سے انکار:
• اس کورس میں دی گئی تمام کمانڈز، کوڈز، اور طریقہ کار صرف تعلیمی مقاصد کے لیے ہیں
• ان کا استعمال صرف آپ کی اپنی ذمہ داری پر ہوگا
• کسی بھی نقصان، ڈیٹا کے ضیاع، سسٹم کی خرابی، یا کسی دوسرے مسائل کی صورت میں آئی ٹی درسگاہ فورم، اس کے منتظمین، یا اساتذہ میں سے کوئی بھی ذمہ دار نہیں ہوگا
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ تجاویز:
• کسی بھی کمانڈ کو چلانے سے پہلے اسے اچھی طرح سمجھ لیں
• اہم ڈیٹا کا بیک اپ ضرور بنا لیں
• پہلے ٹیسٹ سسٹم پر کمانڈز آزمائیں
• اگر کسی کمانڈ کے بارے میں یقین نہ ہو تو ماہرین سے مشورہ کریں
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 قانونی پہلو:
اس کورس کا مقصد صرف علم کا فروغ ہے۔ آئی ٹی درسگاہ فورم ان کمانڈز کے استعمال سے ہونے والے کسی بھی نقصان کا ذمہ دار نہیں ہوگا۔
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📌 یاد رکھیں:
🛡️ پہلے بیک اپ، پھر کمانڈ 🔍 پہلے سمجھیں، پھر چلائیں 💭 شک ہو تو ماہر سے پوچھیں ⚡ احتیاط ہی بہترین حفاظت ہے
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚀 اگلا سبق:
"PowerShell Variables and Data Types"

کوئی تبصرے نہیں:
ایک تبصرہ شائع کریں