PowerShell یک پوسته و زبان اسکریپتنویسی چندسکویی برای مدیریت و خودکارسازی ویندوز و لینوکس است.
PowerShell ۷.۷ چیست؟ PowerShell یک پوستهٔ خط فرمان و زبان اسکریپتنویسی چندسکویی است که برای مدیریت ویندوز، لینوکس و macOS، خودکارسازی کارهای تکراری و ادارهٔ زیرساختهای DevOps استفاده میشود. این ابزار با مدل شیءمحور خود اجازه میدهد خروجی فرمانها بهصورت دادهٔ ساختیافته بین cmdletها جابهجا شود؛ بنابراین مدیر سیستم میتواند یک فرایند را روی چند سیستمعامل با منطق تقریباً یکسان اجرا کند. در راهنمای مدیریت سرویسها و ابزارهای فنی تکتاز نیز همین نگاه عملی به اتوماسیون و نگهداری سرویسها دنبال میشود.
مایکروسافت در ۱۰ نوامبر ۲۰۲۶ انتشار عمومی PowerShell ۷.۷ را اعلام کرد. این نسخه یک انتشار Standard Term Support یا STS است و بر پایهٔ .NET ۱۱ ساخته شده است. تمرکز اصلی آن فقط افزودن چند فرمان تازه نیست؛ تیم PowerShell همزمان روی سختسازی امنیتی، رفتار قابلپیشبینیتر پوسته، ارتباطات راهدور و پایداری تجربهٔ تعاملی کار کرده است. برای دریافت جزئیات رسمی، اعلامیهٔ مایکروسافت دربارهٔ PowerShell ۷.۷ منبع اصلی این گزارش است.
مهمترین تغییرات PowerShell ۷.۷
یکی از تغییرات کاربردی، اضافهشدن cmdlet به نام New-TemporaryDirectory است. این فرمان یک پوشهٔ موقت با نام یکتا میسازد و شیء DirectoryInfo برمیگرداند؛ در نتیجهٔ آن، اسکریپتهای build، تست و پردازش فایل میتوانند فضای کاری موقت را بدون تکرار منطق نامگذاری ایجاد کنند. پارامتر -Extension به Join-Path اضافه شده و Format-Table، Format-List و Format-Custom نیز پارامتر -ExcludeProperty را دریافت کردهاند. این قابلیتها برای اسکریپتهایی که خروجی مدیریتی یا گزارش قابلخواندن تولید میکنند، کوچک اما مفید هستند.
تغییر مهم دیگر به New-Guid مربوط است. این فرمان اکنون بهطور پیشفرض UUID نسخهٔ ۷ تولید میکند؛ این شناسهها بر اساس زمان مرتبپذیرترند و برای برخی پایگاههای داده و سامانههای لاگ میتوانند locality بهتری ایجاد کنند. اگر یک اسکریپت به GUID کاملاً تصادفی نسخهٔ ۴ وابسته است، باید بهجای تکیه بر رفتار پیشفرض جدید، از [guid]::NewGuid() استفاده و نتیجه را در محیط آزمایشی بررسی کند.
امنیت و ارتباطات راهدور
PowerShell ۷.۷ در Constrained Language Mode محدودیتهای بیشتری برای انتساب ویژگی روی اشیای غیرهستهای اعمال میکند. در remoting نیز اعتبارسنجی آرگومانها و frameها سختگیرانهتر شده و اعتبارسنجی schema در cmdletهای CIM بازگردانده شده است. محافظتهای implicit remoting حالا aliasهای resolveشده را هم پوشش میدهند و استخراج Help قابلبهروزرسانی، اعتبارسنجی سختتری دارد. در سیستمهای Unix نیز مجوزهای پوشهٔ home موقتِ fallback محدودتر شدهاند.
رفتار Test-Json هم تغییر کرده است: ارجاع schemaهای خارجی دیگر بهصورت خودکار resolve نمیشود و اسکریپت باید صریحاً -FetchExternalReference را درخواست کند. این تغییر از دریافت ناخواستهٔ منابع خارجی در زمان اعتبارسنجی جلوگیری میکند، اما ممکن است برخی pipelineهای تست را که به رفتار قبلی وابستهاند، تغییر دهد.
پیش از ارتقا چه چیزهایی را تست کنیم؟
پیش از نصب PowerShell ۷.۷ روی production، نسخهٔ فعلی و ماژولهای وابسته را ثبت کنید و pipelineهای CI/CD را در یک محیط staging با همان نسخهٔ .NET بررسی کنید. بهطور ویژه خروجی New-Guid، اعتبارسنجی Test-Json، پارامترهای switch با مقدار صریح :$false، اسکریپتهای remoting و کدهایی را که روی خطاهای null یا empty حساب کردهاند، تست کنید. اگر اسکریپتها از Export-Csv همراه با -Append و -NoHeader استفاده میکنند، باید آن ترکیب را اصلاح کنند؛ در نسخهٔ جدید این الگو پذیرفته نیست.
در کنار این موارد، startup و tab completion نیز اصلاحاتی دریافت کردهاند و یک فایل powershell.config.json خراب یا غیرقابلخواندن در سطح کاربر دیگر مانع شروع PowerShell نمیشود. با این حال، پایدارتر شدن startup جایگزین کنترل نسخه و تست rollout نیست. مدیران میتوانند ابتدا نصب را روی چند سیستم منتخب انجام دهند، لاگ خطا و زمان اجرای jobها را مقایسه کنند و سپس با یک برنامهٔ بازگشت مشخص، ارتقا را مرحلهای گسترش دهند.
PowerShell ۷.۷ برای تیمهایی که مدیریت چندسکویی، اتوماسیون و امنیت اسکریپتها را همزمان دنبال میکنند، انتشار قابلتوجهی است. ارزش اصلی آن در کنار فرمانهای تازه، کاهش رفتارهای مبهم و سختسازی مسیرهایی است که اسکریپتها به فایل، remoting و schemaهای خارجی دسترسی دارند. نصب مستقیم روی محیط حساس توصیه نمیشود؛ ابتدا سازگاری را در staging بسنجید و بعد ارتقا را بهصورت کنترلشده انجام دهید.
منبع
Microsoft PowerShell Team — Announcing PowerShell 7.7 GA Release




مطالب مرتبط
همه مطالب مقالات آموزشیمقالات آموزشیWindows ۱۱؛ آپدیت اکتبر و تفاوت 26H1 و 26H2 برای مدیران
مقالات آموزشیKali Linux ۲۰۲۶.۳؛ ساخت ایمیج سفارشی با Docker و Podman
مقالات آموزشیفدورا ۴۵ با GNOME ۵۱؛ روانی بیشتر و امنیت بهتر
مقالات آموزشیحذف secretهای بلندمدت از GitHub Actions با OIDC
مقالات آموزشیCloud Pathways گوگل در ۲۰۲۶؛ اجرای مقاوم مدلهای بزرگ روی GKE و TPU
مقالات آموزشیDockerfile سریعتر و image کوچکتر؛ آموزش multi-stage و Build Cache










