کار با داده‌های HTML و XML در PowerShell

PowerShell قابلیت‌های قدرتمندی برای کار با داده‌های ساختاریافته مانند HTML و XML دارد. HTML برای تولید گزارش‌های حرفه‌ای و زیبا کاربرد دارد و XML در بسیاری از بخش‌های محیط ویندوز، از فایل‌های پیکربندی تا ذخیره‌سازی داده‌ها، استفاده می‌شود. دستوراتی مانند Invoke-WebRequest، ConvertTo-HTML، Export-Clixml و Select-XML امکان دریافت، تجزیه، تولید و جستجوی این قالب‌ها را فراهم می‌کنند. با تسلط بر این ابزارها، مدیران می‌توانند گزارش‌گیری خودکار، ذخیره‌سازی داده‌های پیچیده و یکپارچه‌سازی PowerShell با سیستم‌های وب و سازمانی را انجام دهند.

PowerShell HTMLPowerShell XMLInvoke-WebRequestConvertTo-HTMLExport-ClixmlSelect-XML

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

1. کار با HTML


HTML زبان ساختاردهی محتوای وب است. PowerShell می‌تواند صفحات HTML را دریافت و تجزیه کند، فرم‌ها، لینک‌ها و فیلدهای ورودی را استخراج کند و گزارش‌های HTML تولید نماید.


1.1 دریافت صفحات HTML


با دستور Invoke-WebRequest صفحات وب بازیابی می‌شوند. پارامترهایی مانند -Credential، -Headers، -Method، -OutFile و -UserAgent امکان سفارشی‌سازی درخواست‌ها را فراهم می‌کنند. مدیریت نشست‌ها با -SessionVariable و -WebSession انجام می‌شود.


1.2 تجزیه نتایج HTML


شیء خروجی شامل ویژگی‌هایی مانند StatusCode، Headers، Forms، Links و ParsedHtml است. هر تگ به‌صورت شیء ارائه می‌شود و می‌توان URLها یا فیلدهای فرم را استخراج کرد.


1.3 تولید خروجی HTML


با ConvertTo-HTML می‌توان گزارش‌های HTML از خروجی دستورات ساخت. پارامترهایی مانند -Property، -Head، -Title و -CssUri امکان سفارشی‌سازی ظاهر گزارش را می‌دهند. همچنین می‌توان بخش‌های مختلف را به‌صورت Fragment ترکیب کرد و گزارش‌های چندبخشی ساخت.


2. کار با XML


XML برای ذخیره‌سازی داده‌های سلسله‌مراتبی مناسب است. PowerShell از سریال‌سازی و دسریال‌سازی اشیاء، خواندن داده‌های XML، ایجاد فایل‌های XML و اجرای پرس‌وجوهای XPath پشتیبانی می‌کند.


2.1 ذخیره‌سازی داده با XML


Export-Clixml و Import-Clixml اشیاء را به XML تبدیل و دوباره بازیابی می‌کنند. این روش برای گرفتن Snapshot از وضعیت سیستم بسیار کاربردی است.


2.2 خواندن داده‌های XML


با تبدیل محتوا به نوع داده [xml] می‌توان ساختار XML را به‌صورت سلسله‌مراتبی بررسی کرد و به عناصر و ویژگی‌ها دسترسی داشت.


2.3 ایجاد فایل‌های XML


ConvertTo-XML نمایش XML از اشیاء تولید می‌کند. برای ذخیره فایل باید از متد Save() استفاده کرد.


2.4 پرس‌وجوهای XPath


با دستور Select-XML می‌توان پرس‌وجوهای XPath را روی فایل‌های XML اجرا کرد و اطلاعات دقیق استخراج نمود.


نتیجه‌گیری


قابلیت‌های HTML و XML در PowerShell به مدیران امکان می‌دهد گزارش‌گیری خودکار، ذخیره‌سازی داده‌های پیچیده و یکپارچه‌سازی با سیستم‌های وب و سازمانی را انجام دهند. ترکیب دستوراتی مانند Invoke-WebRequest، ConvertTo-HTML، Export-Clixml و Select-XML PowerShell را به ابزاری قدرتمند برای مدیریت داده‌های ساختاریافته تبدیل می‌کند.


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

مقالات مرتبط

ترفندها و نکات پیشرفته PowerShell: تکنیک‌های حرفه‌ای

PowerShell مجموعه‌ای از قابلیت‌های کوتاه، کاربردی و بسیار قدرتمند دارد که متخصصان برای نوشتن اسکریپت‌های تمیز، سریع و قابل نگهداری از آن‌ها استفاده می‌کنند. این تکنیک‌های حرفه‌ای—مثل Splatting، مقادیر پیش‌فرض پارامترها، زیرعبارت‌ها، پرانتزهای اجرایی و قالب‌بندی پیشرفته—نتیجه کار را تغییر نمی‌دهند، اما سرعت و کیفیت کار را به‌طور چشمگیری افزایش می‌دهند. این مقاله مجموعه‌ای از بهترین ترفندهای PowerShell را معرفی می‌کند که اتوماسیون را ساده‌تر و مؤثرتر می‌سازند.

ادامه

امنیت در PowerShell: اهداف، مکانیزم‌ها و سیاست اجرای اسکریپت‌ها

PowerShell از ابتدا با رویکردی «امنیت‌محور اما بی‌طرف» طراحی شده است. هدف آن جلوگیری از اجرای ناخواسته اسکریپت‌ها توسط کاربران ناآگاه است—not جلوگیری از اقدامات عمدی یا سوءاستفاده‌های دارای مجوز. PowerShell امنیت ویندوز را تقویت نمی‌کند و چیزی از آن کم نمی‌کند؛ تنها لایه‌هایی برای جلوگیری از اشتباهات رایج اضافه می‌کند. این مقاله سه لایه امنیتی PowerShell—نیاز به مسیر برای اجرای اسکریپت، عدم وابستگی پسوندها به اجرای مستقیم، و سیاست اجرای اسکریپت‌ها—را بررسی می‌کند و سپس به امضای دیجیتال، ساخت گواهی، و نحوه اعمال Execution Policy می‌پردازد.

ادامه

متغیرها، آرایه‌ها، جدول‌های درهم‌ریخته (Hash Tables) و اسکریپت‌بلوک‌ها در PowerShell

متغیرها پایه‌ای‌ترین ابزار ذخیره‌سازی داده در PowerShell هستند. آن‌ها مقادیر مختلف—عدد، رشته، اشیاء—را نگه می‌دارند و امکان استفاده مجدد از داده‌ها را بدون اجرای دوباره دستورات فراهم می‌کنند. بر اساس همین مفهوم، ساختارهای پیشرفته‌تری مانند آرایه‌ها، هش‌تیبل‌ها و اسکریپت‌بلوک‌ها ایجاد شده‌اند که قدرت PowerShell را در اتوماسیون و مدیریت داده‌ها چند برابر می‌کنند. شناخت این ساختارها برای نوشتن اسکریپت‌های تمیز، کارآمد و حرفه‌ای ضروری است.

ادامه

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

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

ادامه

عبارات منظم در PowerShell: الگوها، عملگرها و کاربردها

عبارات منظم (Regex) زبانی قدرتمند برای توصیف الگوهای داده هستند. در PowerShell، این قابلیت با کتابخانه استاندارد .NET ادغام شده و امکان جستجو، تطبیق و جایگزینی داده‌ها را فراهم می‌کند. از بررسی ایمیل‌ها و شماره تلفن‌ها تا مسیرهای فایل و لاگ‌های سیستمی، Regex ابزار انعطاف‌پذیری برای مدیریت داده‌هاست. PowerShell علاوه بر پشتیبانی از نحو استاندارد، عملگرهایی مانند -match و دستورهایی مانند Select-String و Switch -regex را برای استفاده ساده‌تر از Regex ارائه می‌دهد.

ادامه

اعتبارنامه‌ها در PowerShell: احراز هویت امن و بهترین شیوه‌ها

بسیاری از دستورات PowerShell از پارامتر -Credential پشتیبانی می‌کنند و این امکان را می‌دهند که فرمان‌ها با حساب کاربری جایگزین اجرا شوند. این قابلیت اصل «حداقل سطح دسترسی» را تقویت می‌کند: کارها را با کمترین سطح دسترسی انجام دهید و تنها در مواقع ضروری از اعتبارنامه‌های سطح بالاتر استفاده کنید. اعتبارنامه‌ها می‌توانند به‌صورت رشته یا شیء PSCredential ارائه شوند، که رمز عبور در آن‌ها به‌صورت امن ذخیره می‌شود. PowerShell v3 امکاناتی مانند پیام سفارشی در پنجره ورود اعتبارنامه اضافه کرده است. مدیران می‌توانند اعتبارنامه‌های قابل‌استفاده مجدد ایجاد کنند، آن‌ها را در جلسات مدیریت کنند و در اسکریپت‌ها به کار گیرند. هرچند روش‌هایی برای ذخیره اعتبارنامه وجود دارد، این کار ریسک امنیتی بالایی دارد و باید با احتیاط انجام شود.

ادامه