🛠️ آموزش جامع PowerShell ویندوز | اتوماسیون پیشرفته، مدیریت سیستم و نکات امنیتی

مقدمه

PowerShell ستون فقرات اتوماسیون در ویندوز است. برخلاف Command Prompt که متن‌محور است، PowerShell خروجی‌ها را به‌صورت شیءهای .NET مدیریت می‌کند و همین آن را برای مدیریت سیستم، اسکریپت‌نویسی و عملیات تکراری فوق‌العاده قدرتمند می‌سازد. اگر یک کار را بیش از یک بار انجام می‌دهید، احتمالاً باید آن را در PowerShell خودکار کنید. این مقاله از مبانی تا نکات پیشرفته را پوشش می‌دهد تا بتوانید با اطمینان از PowerShell در پروژه‌های واقعی استفاده کنید.

شروع کار با PowerShell

  • محیط اجرا: Windows Terminal یا خود PowerShell
  • نسخه‌ها: PowerShell کلاسیک و PowerShell 7
  • سطح دسترسی: اجرای Run as Administrator برای برخی دستورات
  • کمک درون‌ساخت: Get-Help، Get-Command، Get-Member

نمونه:

Code
Get-Help Get-Service -Examples
Get-Command *service*
"Hello" | Get-Member

مفاهیم بنیادی

  • Cmdlet: ساختار Verb-Noun مانند Get-Process
  • خط لوله شی‌ءگرا: عبور خروجی به‌صورت شیء به دستور بعدی
  • Provider: دسترسی یکنواخت به منابع مثل رجیستری
  • ماژول‌ها: افزودن قابلیت‌های جدید

نمونه:

Code
Get-Process |
  Where-Object CPU -gt 50 |
  Sort-Object CPU -Descending |
  Select-Object -First 5 Name, CPU, Id

مدیریت فایل و سیستم

  • جست‌وجو و فیلتر فایل‌ها
  • محاسبه حجم کل
  • حذف خودکار فایل‌های قدیمی
  • فشرده‌سازی پوشه‌ها به ZIP

نمونه:

Code
Get-ChildItem C:\Logs -Recurse -File |
  Where-Object LastWriteTime -lt (Get-Date).AddDays(-30) |
  Remove-Item -Force

مدیریت پردازش‌ها و سرویس‌ها

  • شناسایی پردازش‌های پرمصرف
  • توقف یا ری‌استارت سرویس‌ها

نمونه:

Code
Restart-Service -Name Spooler -Force

کار با رجیستری

  • خواندن و نوشتن کلیدها
  • پشتیبان‌گیری از رجیستری

نمونه:

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

شبکه و فایروال

  • تست اتصال با Test-NetConnection
  • افزودن قوانین فایروال

مدیریت رخدادها

  • استفاده از Get-WinEvent برای جست‌وجوی لاگ‌ها
  • فیلتر و خروجی به CSV

ماژول‌ها و مدیریت بسته

  • نصب ماژول با Install-Module
  • لیست ماژول‌های نصب‌شده

پروفایل و شخصی‌سازی

  • تعریف توابع و الیاس‌ها
  • استفاده از PSReadLine برای تکمیل خودکار

امنیت اجرا

  • تنظیم Execution Policy روی RemoteSigned
  • امضای دیجیتال اسکریپت‌ها

اجرای راه دور

  • فعال‌سازی PSRemoting
  • اجرای دستور روی چند سرور

به‌روزرسانی‌های ویندوز

  • کنترل دانلود و نصب آپدیت‌ها با PSWindowsUpdate

زمان‌بندی وظایف

  • استفاده از ScheduledTasks برای اجرای اسکریپت‌ها به‌صورت خودکار

کنترل خطا

  • استفاده از Try/Catch
  • ثبت خطاها در لاگ

اشکال‌زدایی

  • کار با VS Code و PSScriptAnalyzer
  • تست واحد با Pester

نکات امنیتی

  • اصل حداقل دسترسی
  • استفاده از SecretManagement
  • فعال‌سازی لاگ‌های PowerShell

سناریوی نمونه بکاپ روزانه

  1. فشرده‌سازی داده‌ها
  2. حذف آرشیوهای قدیمی‌تر از ۳۰ روز
  3. ثبت گزارش در فایل لاگ

نمونه:

Code
Compress-Archive -Path C:\Data -DestinationPath D:\Backups\data.zip -Force

منابع معتبر

نتیجه‌گیری

PowerShell پلی بین کارهای تکراری و اتوماسیون هوشمند است. با یادگیری آن، می‌توانید کنترل کامل بر ویندوز داشته باشید، از مدیریت فایل و سرویس‌ها گرفته تا شبکه، امنیت و به‌روزرسانی‌ها.

Sending
User Review
0(0 votes)

درباره Hasti

Avatar photo

جهت مطالعه

نرم افزار NOTION

🧠 Notion چیست؟ راهنمای جامع نرم‌افزار نوت‌برداری، مدیریت پروژه و بهره‌وری شخصی

🧩 نرم افزار NOTION چیست؟ نرم‌افزار Notion یک پلتفرم همه‌کاره برای نوت‌برداری، مدیریت پروژه، برنامه‌ریزی …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

13 − سه =