PSDrives و PSProviders در PowerShell: فراتر از سیستم فایل

ماژول‌ها و Snap-inها در PowerShell علاوه بر افزودن cmdletها، معمولاً شامل PSProviders نیز هستند. PSProviderها آداپتورهایی هستند که منابع داده سلسله‌مراتبی مانند رجیستری، IIS یا SQL Server را به‌صورت ساختارهای مشابه درایو در PowerShell نمایش می‌دهند. این قابلیت امکان پیمایش و مدیریت یکنواخت داده‌ها را با استفاده از دستورات آشنای سیستم فایل فراهم می‌کند. در کنار آن، PSDrives اتصالات فعال به این منابع داده هستند که با نام مشخص می‌شوند. ترکیب این دو مفهوم، مدیریت داده‌های پیچیده را ساده و یکپارچه می‌سازد.

PSProvidersPSDrivesFileSystemRegistryIISSQL Server

~2 دقیقه مطالعه • بروزرسانی ۳۰ آذر ۱۴۰۴

1. PSProviders چیست؟


PSProvider آداپتوری است که PowerShell را به سیستم‌های خارجی متصل می‌کند و داده‌ها را به‌صورت سلسله‌مراتبی نمایش می‌دهد. برای مشاهده لیست Providerهای بارگذاری‌شده از Get-PSProvider استفاده می‌شود. هر Provider قابلیت‌های خاص خود را دارد؛ مثلاً رجیستری از تراکنش‌ها پشتیبانی می‌کند.


2. PSDrives چیست؟


PSDrive یک اتصال فعال از طریق Provider به یک منبع داده مشخص است. این درایوها نام دارند اما مانند درایوهای سنتی حرف اختصاصی ندارند. برای مشاهده لیست درایوها از Get-PSDrive استفاده می‌شود و برای ایجاد درایو جدید از New-PSDrive بهره می‌گیرند.


3. دستورات اصلی برای PSDrives


  • مدیریت آیتم‌ها: Get-ChildItem، New-Item، Remove-Item، Move-Item، Rename-Item.
  • ویژگی‌های آیتم: Get-ItemProperty، Set-ItemProperty.
  • پیمایش: Set-Location، Get-Location.

برای مسیرهایی که شامل کاراکترهای خاص مانند ? یا * هستند، از -LiteralPath استفاده کنید.


4. مثال‌ها در Providerهای مختلف


  • FileSystem: ایجاد فایل با New-Item و جابه‌جایی با Move-Item.
  • Registry: پیمایش به مسیر HKCU:\Software\Microsoft\Notepad و تغییر ویژگی‌ها با Set-ItemProperty.
  • IIS: بارگذاری ماژول WebAdministration و مشاهده AppPools و Sites.
  • SQL Server: پیمایش به SQLSERVER:\SQL\Server\Instance\Databases و تغییر تنظیمات پایگاه داده.

5. تراکنش‌ها


برخی Providerها مانند رجیستری از تراکنش‌ها پشتیبانی می‌کنند. دستورات کلیدی:


  • Start-Transaction
  • Set-ItemProperty ... -UseTransaction
  • Complete-Transaction یا Undo-Transaction

نتیجه‌گیری


PSProviders و PSDrives در PowerShell امکان مدیریت یکنواخت منابع داده مختلف را فراهم می‌کنند. با استفاده از دستورات عمومی سیستم فایل، می‌توان به‌سادگی داده‌های رجیستری، IIS یا SQL Server را پیمایش و مدیریت کرد. این رویکرد قدرت و انعطاف‌پذیری PowerShell را در مدیریت سیستم‌ها به‌طور چشمگیری افزایش می‌دهد.


نوشته و پژوهش شده توسط دکتر شاهین صیامی