इस लेख में हम PowerShell कंसोल से डिस्क, पार्टीशन और वॉल्यूम प्रबंधन पर विचार करेंगे। आप PowerShell से स्थानीय डिस्क और पार्टीशन के प्रबंधन के सभी ऑपरेशन कर सकते हैं, जिन्हें आप "डिस्क प्रबंधन" GUI (diskmgmt.msc) या diskpart.exe कमांड लाइन टूल से करने के आदी हैं। डिस्क प्रबंधन cmdlets PowerShell 3.0 में उपलब्ध Storage मॉड्यूल में शामिल हैं। हम विचार करेंगे कि डिस्क को कैसे इनिशियलाइज़ करें, उस पर पार्टीशन टेबल बनाएं, वॉल्यूम बनाएं और फॉर्मेट करें। नीचे दिए गए कमांड Windows 10 / Server 2016 और Windows 8.1 / Server 2012 R2 में काम करेंगे (पिछले Windows संस्करणों के लिए आपको पहले PowerShell अपडेट करना होगा)।
महत्वपूर्ण. PowerShell से डिस्क और पार्टीशन प्रबंधित करते समय बहुत सावधान रहें ताकि डेटा वाले पार्टीशन को गलती से हटाया या फॉर्मेट न किया जाए।
PowerShell: स्थानीय डिस्क और पार्टीशन सूचीबद्ध करें
सबसे पहले, अपने सिस्टम में तार्किक स्तर पर उपलब्ध स्थानीय डिस्क की सूची प्रदर्शित करने का प्रयास करें। ऐसा करने के लिए, यह कमांड चलाएं:
Get-Disk | ft -AutoSize
केवल सिस्टम डिस्क का चयन करने के लिए जिस पर Windows स्थापित है, निम्न कमांड दर्ज करें:
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
आप केवल ऑफ़लाइन डिस्क प्रदर्शित कर सकते हैं:
Get-Disk | Where-Object IsOffline –Eq $True| ft –AutoSize

यदि आपको भौतिक डिस्क के बारे में जानकारी चाहिए (कंप्यूटर पर भौतिक डिस्क की विशेषताएं और स्थिति), तो Get-PhysicalDisk cmdlet का उपयोग करें (पहले हमने दिखाया था कि Get-PhysicalDisk cmdlet का उपयोग करके स्टोरेज स्पेसेस डायरेक्ट में विफल भौतिक डिस्क का पता कैसे लगाएं और S2D फॉल्ट-टॉलरेंट स्टोरेज कॉन्फ़िगर करते समय इसका उपयोग कैसे करें)।

आप जुड़े डिस्क के प्रकार का पता लगा सकते हैं: SSD, HDD (आमतौर पर SATA बस से जुड़ा) या USB फ्लैश ड्राइव (अनिर्दिष्ट मीडिया प्रकार)।
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
Windows में सभी वॉल्यूम की सूची प्रदर्शित करने के लिए, यह कमांड चलाएं:
Get-Volume
कृपया ध्यान दें कि डिस्क नंबरिंग 0 से शुरू होती है, और पार्टीशन नंबरिंग - 1 से।
PowerShell में डिस्क इनिशियलाइज़ेशन
पिछले उदाहरण में आपने देखा कि डिस्क में से एक ऑफ़लाइन है और पार्टीशन स्टाइल कॉलम में RAW लेबल है। आइए इसे इनिशियलाइज़ करने, GPT या MBR पार्टीशन टेबल बनाने और उस पर एक नया पार्टीशन बनाने का प्रयास करें।
सबसे पहले, आपको डिस्क को ऑनलाइन करना होगा:
Get-Disk | Where-Object IsOffline –Eq $True | Set-Disk –IsOffline $False
अब आप इसे इनिशियलाइज़ कर सकते हैं (इसका इंडेक्स 1 है):
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 का उपयोग किया जाता है। आइए एक 10 GB पार्टीशन बनाएं और इसे अक्षर L: असाइन करें:
New-Partition –DiskNumber 1 -Size 10gb -DriveLetter L

यदि आप चाहते हैं कि पार्टीशन सभी उपलब्ध डिस्क स्थान पर कब्जा करे, तो UseMaximumSize विशेषता का उपयोग करें। स्वचालित रूप से अक्षर असाइन करने के लिए, AssignDriveLetter पैरामीटर का उपयोग किया जाता है (कभी-कभी Windows स्वचालित रूप से ड्राइव अक्षर असाइन नहीं करता है)।
New-Partition –DiskNumber 1 -AssignDriveLetter –UseMaximumSize
आप इस कमांड का उपयोग करके असाइन किए गए अक्षर को बदल सकते हैं:
Set-Partition –DriveLetter L -NewDriveLetter U
यदि आप मौजूदा पार्टीशन का विस्तार करना चाहते हैं, तो पहले इस पार्टीशन को विस्तारित करने के लिए उपलब्ध अनअलोकेटेड स्थान प्रदर्शित करें:
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

डिस्क से पार्टीशन कैसे हटाएं?
डिस्क 1 और 2 पर सभी पार्टीशन को पुष्टिकरण के बिना हटाने के लिए, यह कमांड चलाएं:
Get-Partition –DiskNumber 1,2 | Remove-Partition -Confirm:$false

डिस्क से सभी पार्टीशन को हटाने और डेटा को पूरी तरह से साफ़ करने के लिए, कमांड चलाएं
Clear-Disk -Number 1 -RemoveData -Confirm:$false
यदि डिस्क पर OEM पार्टीशन हैं (OEM रिकवरी पार्टीशन, EFI पार्टीशन, सिस्टम रिज़र्व्ड), तो उन्हें हटाने के लिए RemoveOEM पैरामीटर का उपयोग करें:
Clear-Disk -Number 1 -RemoveData –RemoveOEM
अगला PowerShell वन-लाइनर सभी नई कनेक्टेड RAW-प्रकार की डिस्क को इनिशियलाइज़ करेगा, उन पर पार्टीशन टेबल बनाएगा और अधिकतम उपलब्ध आकार के साथ NTFS पार्टीशन बनाएगा। नई डिस्क कनेक्ट करते समय इसका उपयोग करना सुविधाजनक है:
Get-Disk |Where-Object PartitionStyle -eq 'RAW' |Initialize-Disk -PartitionStyle MBR -PassThru |New-Partition -AssignDriveLetter -UseMaximumSize |Format-Volume -FileSystem NTFS -Confirm:$false