2016-09-06 21 views
0

編輯:我意識到我可能在錯誤的位置發佈,可能會更好地將其發送到serverfault,如果是這樣,對不起。在指定磁盤上獲得最大音量

我正在研究磁盤還原操作的自動化,並且在它的中間,我需要爲包含Windows系統的還原卷指定一個字母,以允許修改其內容(驅動程序注入等)。

在機器上我有2個磁盤:磁盤0是恢復機器的系統磁盤,磁盤1是恢復機器的系統磁盤,有兩個分區,系統保留和標準的。

我想分配驅動器字母E到 磁盤1分區窗口。像這樣做手工後:

Get-Partition 

Disk Number: 1 
PartitionNumber DriveLetter Offset         Size Type 
--------------- ----------- ------         ---- ---- 
1       1048576        350 MB IFS 
2    E   368050176       29.66 GB IFS 

Disk Number: 0 
PartitionNumber DriveLetter Offset         Size Type 
--------------- ----------- ------         ---- ---- 
1       1048576        350 MB IFS 
2    C   368050176       49.66 GB IFS

我試了一下:

Get-Partition -DiskNumber 1 | Where-Object -FilterScript {$_.Type -Eq "Basic"} | 
    Set-Partition -NewDriveLetter E 

這並不工作,因爲當物體條件沒有檢測基本類型。

我想也許我可以嘗試檢測最大的分區,因爲磁盤上只有兩個分區。但是,怎麼樣,我不知道。

回答

2

如果你想得到最大的分區,你可以在size屬性上使用Sort-Object,它是uint64類型 - 所以你不必擔心基於MB的字符串排序來抓取錯誤的分區/ GB - ,然後使用選擇對象時,像這樣只取第一個結果:

Get-Partition -DiskNumber 1 | Sort-Object "Size" -Descending | Select-object -First 1 | Set-Partition -NewDriveLetter E 
+0

好吧,謝謝你! – kuzko

2

這將選擇在磁盤上1的最大分區:它的作品真的

Get-Partition -DiskNumber 1 | sort-object -property size -descending | select -first 1 

希望幫助