در این نکته میخواهیم یک اسکریپت PowerShell بنویسیم که یک گزارش خوب و مفید از فایل هایی با حجم زیاد را در File Server مان را تهیه کند. مزیت انجام این کار در این است که میتوانید یک مدیریت خوب ابر روی ظرفیت فعلی فایل سرورتان در شبکه داشته باشید و فایل هایی که حجمشان رفته رفته بزرگتر می شود را شناسایی کنید. ما این کار را بوسیله نوشتن یک Script بسیار ساده PowerShell ای انجام میدهیم. در ابتدا وارد فایل سرورتان شوید و Powershell ISE را باز کنید و Script زیر را در آن تایپ کنید :
gci -path \\FS1\Shared -re -in * | ?{ -not $_.PSIsContainer } | sort Length -descending | select -first 25 | Export-CSV -path c:\temp\largest_files_report.csv
بوسیله دستور gci که یک Alias برای دستور Get-ChildItem در PowerShell است به شما این امکان را میدهد که Item های (فایل ها و پوشه ها) موجود در مسیری که مشخص کردید را بدست می آورد و در خروجی به شما نشان می دهد. بوسیله پارامتر Path باید مسیر UNC Path پوشه Share شده را مشخص کنیم. not $_.PSIsContainer هم به این معناست که Attribute های فایل ها و پوشه ها را در خروجی نشان نده.
sort Length -descending نیز همانطور که از ظاهرش مشخص است به این معناست که سایز آیتم ها را بصورت کاهشی یا نزولی مرتب کن و نمایش بده. select -first 25 هم یعنی فقط 25 آیتم را در خروجی نشان بده. در نهایت با دستور Export-CSV و مشخص کردن یک مسیر با پارامتر Path خروجی این Script را به درون فایلی با فرمت CSV (فایل اکسل) میریزیم. خروجی به شکل زیر خواهد بود :
امیدوارم مورد توجه شما قرار گرفته باشد.
نویسنده : امیرحسین کریم پور
منبع : جزیره سرویس های شبکه مایکروسافت وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی میباشد
مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت
امیرحسین کریم پور ، مدیر ارشد توسینسو ، متخصص در حوزه سیستم عامل های کلاینت و سرور مایکروسافت و سرویس های مربوطه ، سیستم عامل لینوکس ، مجازی سازی و ... سابقه کار با سازمان ها و شرکت های مختلف در زمینه سرویس های مایکروسافت در قالب پروژه ، مشاوره و آموزش. علاقه مند به حوزه امنیت اطلاعات و تست نفوذ سنجی
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود