এই আর্টিকেলে আমরা PowerShell কনসোল থেকে ডিস্ক, পার্টিশন এবং ভলিউম ম্যানেজমেন্ট দেখব। আপনি PowerShell থেকে লোকাল ডিস্ক এবং পার্টিশন পরিচালনার সব অপারেশন করতে পারেন, যা আপনি সাধারণত "Disk Management" GUI (diskmgmt.msc) বা diskpart.exe কমান্ড লাইন টুল থেকে করেন। ডিস্ক ম্যানেজমেন্ট cmdlet-গুলো PowerShell 3.0-এ উপলব্ধ Storage মডিউলে অন্তর্ভুক্ত। আমরা দেখব কীভাবে ডিস্ক ইনিশিয়ালাইজ করা যায়, সেটিতে পার্টিশন টেবিল তৈরি করা যায়, ভলিউম তৈরি এবং ফরম্যাট করা যায়। নিচের কমান্ডগুলো উইন্ডোজ ১০ / সার্ভার ২০১৬ এবং উইন্ডোজ ৮.১ / সার্ভার ২০১২ R2-এ কাজ করবে (পুরানো উইন্ডোজ সংস্করণের জন্য আপনাকে প্রথমে PowerShell আপডেট করতে হবে)।
উইন্ডোজ ১০-এ Storage মডিউলে ১৬০টি PowerShell cmdlet রয়েছে। ডিস্ক ম্যানেজমেন্ট سے সম্পর্কিত সব উপলব্ধ কমান্ড দেখতে নিচের কমান্ডটি চালান:
Get-Command -Module Storage

গুরুত্বপূর্ণ. PowerShell থেকে ডিস্ক এবং পার্টিশন পরিচালনা করার সময় খুব সতর্ক থাকুন যাতে ভুলে কোনো ডেটা সহ পার্টিশন ডিলিট বা ফরম্যাট না হয়ে যায়।
PowerShell: লোকাল ডিস্ক এবং পার্টিশন তালিকা
প্রথমে, আপনার সিস্টেমে লজিক্যাল লেভেলে উপলব্ধ লোকাল ডিস্কগুলোর তালিকা দেখানোর চেষ্টা করুন। এজন্য নিচের কমান্ডটি চালান:
Get-Disk | ft -AutoSize
শুধু সিস্টেম ডিস্কটি সিলেক্ট করতে যেখানে উইন্ডোজ ইনস্টল করা আছে, নিচের কমান্ডটি দিন:
Get-Disk | Where-Object IsSystem -eq $True | fl
আপনি দেখতে পাচ্ছেন, কমান্ডটি সিস্টেম ডিস্কের নিচের অ্যাট্রিবিউটগুলো ফেরত দিয়েছে (আপনি সিলেকশনে এগুলোও ব্যবহার করতে পারেন):
UniqueId : SCSI\DISK&VEN_VMWARE&PROD_VIRTUAL_DISK\5&1EC51BF7&0&000000:DESKTOP-JOPF9
Number : 0
Path : \\?\scsi#disk&ven_vmware&prod_virtual_disk#5&1ec42ba7&0&000000#{21f23456-a6bf-12d0-94f2-001efb8b}
Manufacturer : VMware
Model : Virtual disk
SerialNumber :
Size : 98 GB
AllocatedSize : 98432321434
LogicalSectorSize : 512
PhysicalSectorSize : 512
NumberOfPartitions : 2
PartitionStyle : MBR
IsReadOnly : False
IsSystem : True
IsBoot : True
শুধু Offline ডিস্কগুলো দেখান:
Get-Disk | Where-Object IsOffline –Eq $True| ft –AutoSize

যদি আপনাকে ফিজিক্যাল ডিস্কের তথ্য জানতে হয় (কম্পিউটারের ফিজিক্যাল ডিস্কের বৈশিষ্ট্য এবং স্ট্যাটাস), তবে Get-PhysicalDisk cmdlet ব্যবহার করুন (আমরা আগে দেখিয়েছিলাম Get-PhysicalDisk cmdlet ব্যবহার করে Storage Spaces Direct-এ ব্যর্থ ফিজিক্যাল ডিস্ক সনাক্ত করা এবং ফল্ট টলারেন্ট S2D স্টোরেজ কনফিগার করার সময় এর ব্যবহার)।

আপনি কানেক্ট করা ডিস্কের টাইপ সনাক্ত করতে পারেন: SSD, HDD (সাধারণত SATA বাসে কানেক্টেড) বা USB ফ্ল্যাশ ড্রাইভ (UnSpecified মিডিয়া টাইপ)।
DeviceId Model MediaType BusType Size ———— ——— ——— ——- —- 0 TOSHIBA MK3775VSXP HDD SATA 500156374016 1 Samsung SSD 840 PRO Series SSD SATA 128060514304 2 Transcend UnSpecified USB 128169757184
সব ডিস্কের পার্টিশন তালিকা দেখান:
Get-Partition
অথবা নির্দিষ্ট ডিস্কের পার্টিশনগুলো:
Get-Partition –DiskNumber 1,2
উইন্ডোজের সব ভলিউমের তালিকা দেখাতে নিচের কমান্ডটি চালান:
Get-Volume

দ্রষ্টব্য যে ডিস্ক নম্বরিং ০ থেকে শুরু হয়, এবং পার্টিশন নম্বরিং – ১ থেকে।
PowerShell-এ ডিস্ক ইনিশিয়ালাইজেশন
পূর্বের উদাহরণে আপনি দেখেছেন যে ডিস্কগুলোর একটি Offline এবং Partition Style কলামে RAW লেবেল রয়েছে। চলুন এটি ইনিশিয়ালাইজ করি, এতে GPT বা MBR পার্টিশন টেবিল তৈরি করি এবং এতে একটি নতুন পার্টিশন তৈরি করি।
প্রথমে, আপনাকে ডিস্কটিকে Online করতে হবে:
Get-Disk | Where-Object IsOffline –Eq $True | Set-Disk –IsOffline $False
এখন আপনি এটি ইনিশিয়ালাইজ করতে পারেন (এর ইনডেক্স ১):
Initialize-Disk -Number 1

ডিফল্টভাবে, একটি ডিস্কে GPT (GUID) পার্টিশন টেবিল তৈরি হয়, কিন্তু আপনার যদি MBR দরকার হয়, তবে নিচের কমান্ডটি চালান:
Initialize-Disk 1 –PartitionStyle MBR
যদি ডিস্কে কিছু ডেটা থাকে, তবে mbr2gpt.exe টুল ব্যবহার করে ডেটা মুছে ফেলা ছাড়া পার্টিশন টেবিল MBR থেকে GPT-এ পরিবর্তন করা যাবে।
ডিস্ক নম্বর নির্দিষ্ট না করে RAW পার্টিশন টেবিল 가진 সব ডিস্ক ইনিশিয়ালাইজ করতে:
Get-Disk | Where-Object PartitionStyle –Eq 'RAW' | Initialize-Disk
দ্রষ্টব্য যে একটি ডিস্কের RAW স্ট্যাটাস থাকতে পারে যদি পার্টিশন টেবিল করাপ্ট হয়। আপনি আপনার RAW ডিস্কের পার্টিশন টেবিল এবং ডেটা রিকভার করার চেষ্টা করতে পারেন।
ডিস্কে পার্টিশন কীভাবে তৈরি করবেন?
ডিস্কে নতুন পার্টিশন তৈরি করতে New-Partition cmdlet ব্যবহার করা হয়। চলুন ১০ GB পার্টিশন তৈরি করি এবং এতে L: লেটার অ্যাসাইন করি:
New-Partition –DiskNumber 1 -Size 10gb -DriveLetter L

আপনি যদি পার্টিশনটি সমস্ত উপলব্ধ ডিস্ক স্পেস ঘেরতে চান, তবে UseMaximumSize অ্যাট্রিবিউট ব্যবহার করুন। লেটার অটোমেটিক্যালি অ্যাসাইন করতে AssignDriveLetter প্যারামিটার ব্যবহার করা হয় (কখনো কখনো উইন্ডোজ অটোমেটিক্যালি ড্রাইভ লেটার অ্যাসাইন করে না)।
New-Partition –DiskNumber 1 -AssignDriveLetter –UseMaximumSize
অ্যাসাইন করা লেটার পরিবর্তন করতে নিচের কমান্ডটি ব্যবহার করুন:
Set-Partition –DriveLetter L -NewDriveLetter U
আপনি যদি বিদ্যমান পার্টিশনটি বাড়াতে চান, তবে প্রথমে এই পার্টিশন বাড়ানোর জন্য উপলব্ধ unallocated স্পেস দেখান:
Get-PartitionSupportedSize -DriveLetter L | Format-List
তারপর পার্টিশনের আকার সর্বোচ্চ পর্যন্ত বাড়ান:
$MaxSize = (Get-PartitionSupportedSize -DriveLetter L).SizeMax
Resize-Partition -DriveLetter L -Size $MaxSize

আপনি যদি পার্টিশনটি অ্যাক্টিভ করতে চান, তবে এই কমান্ডটি ব্যবহার করা হয়:
Set-Partition -DriveLetter U -IsActive $true
PowerShell দিয়ে পার্টিশন ফরম্যাট করা
নতুন পার্টিশনটি NTFS-এ ফরম্যাট করি এবং DBData ভলিউম লেবেল সেট করি:
Format-Volume -DriveLetter L -FileSystem NTFS -NewFileSystemLabel DBData -Confirm:$false

ডিস্ক থেকে পার্টিশন কীভাবে সরাবেন?
ডিস্ক ১ এবং ২-এ সব পার্টিশন কনফার্মেশন ছাড়া মুছে ফেলতে নিচের কমান্ডটি চালান:
Get-Partition –DiskNumber 1,2 | Remove-Partition -Confirm:$false

ডিস্ক থেকে সব পার্টিশন মুছে ফেলা এবং ডেটা সম্পূর্ণ ক্লিয়ার করতে কমান্ডটি চালান
Clear-Disk -Number 1 -RemoveData -Confirm:$false
যদি ডিস্কে OEM পার্টিশন থাকে (OEM রিকভারি পার্টিশন, EFI পার্টিশন, System Reserved), তবে সেগুলো মুছে ফেলতে RemoveOEM প্যারামিটার ব্যবহার করুন:
Clear-Disk -Number 1 -RemoveData –RemoveOEM
পরবর্তী PowerShell one-liner নতুন কানেক্ট করা সব RAW-টাইপ ডিস্ক ইনিশিয়ালাইজ করবে, সেগুলোতে পার্টিশন টেবিল তৈরি করবে এবং সর্বোচ্চ উপলব্ধ আকারের NTFS পার্টিশন তৈরি করবে। নতুন ডিস্ক কানেক্ট করার সময় এটি ব্যবহার করা সুবিধাজনক:
Get-Disk |Where-Object PartitionStyle -eq 'RAW' |Initialize-Disk -PartitionStyle MBR -PassThru |New-Partition -AssignDriveLetter -UseMaximumSize |Format-Volume -FileSystem NTFS -Confirm:$false