検索
連載

【 Set-Partition 】コマンドレット――ディスク上のパーティション設定を変更するWindows PowerShell基本Tips(98)

本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Set-Partition」コマンドレットを解説します。

Share
Tweet
LINE
Hatena
「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、コンピュータに接続されたディスク上のパーティション設定を変更する「Set-Partition」コマンドレットです。

Set-Partitionコマンドレットとは?

 Set-Partitionは、コンピュータに接続されたディスク上のパーティション設定を変更するコマンドレットです。本連載第91回で紹介した「Set-Disk」コマンドレットと同じような性格を持ち、「特定のパーティションを読み取り専用にしたい」「特定のパーティションを見えないようにしたい」といった場合に、本コマンドレットは非常に有用です。

 上記のような例はかなり特殊な使用方法と思いますが、それ以外にも「パーティションにドライブレターを設定する」といった通常の管理作業でも本コマンドレットを利用できます。

Set-Partitionコマンドレットの書式

Set-Partition [オプション]


Set-Partitionコマンドレットの主なオプション

オプション 意味
-DiskNumber 設定を変更したいパーティションが存在するディスク番号を指定する。「-DriveLetter」オプション指定時には省略可能
-PartitionNumber 設定を変更したいパーティションの番号を指定する。「-DriveLetter」オプション指定時には省略可能
-DriveLetter 設定を変更したいパーティションのドライブレターを指定する。省略可能
-NewDriveLetter 新たにドライブレターを指定する。省略可能
-IsReadOnly ディスクの読み取り専用状態を「$true/$false」で指定する。省略可能

パーティションのドライブレターを設定/変更する

 本連載第95回で紹介した「New-Partition」コマンドレットを使用してパーティションを新規作成すると、ドライブレターが設定されないままパーティションが作成されます。この状態ではWindowsの「エクスプローラー」などからはアクセスできないため、ドライブレターを設定する必要があります。

 ドライブレターの設定は、ドライブレターを設定したいパーティションを「-DiskNumber」オプションと「-PartitionNumber」オプションで特定します。このとき、ディスク番号は本連載第90回で紹介した「Get-Disk」コマンドレット、パーティション番号は本連載第94回で紹介した「Get-Partition」コマンドレットで取得できます。

 設定するドライブレターは「-NewDriveLetter」オプションで指定します(画面1)。なお、Set-Partitionコマンドレットは管理者権限で実行する必要があります。

コマンドレット実行例

Set-Partition -DiskNumber 0 -PartitionNumber 2 -NewDriveLetter S

ALT
画面1 ディスク番号「0」、パーティション番号「2」のパーティションにドライブレター「S」を設定した

 設定済みのドライブレターを変更したい場合は、同様に「-NewDriveLetter」オプションを利用します。この場合は、変更前のドライブレターで設定対象を特定できるので、「-DriveLetter」オプションを使用します(画面2)。

コマンドレット実行例

Set-Partition -DriveLetter S -NewDriveLetter T

ALT
画面2 ドライブレター「S」を「T」に変更した

指定したパーティションを「読み取り専用」に設定する

 ディスクに複数のパーティションを設定していた場合、Set-Diskコマンドレットを使用して「読み取り専用」にすると、ディスク全体が読み取り専用になってしまいます。Set-Partitionコマンドレットでは、“特定のパーティションのみ”を読み取り専用にできます。

 この場合、ドライブレターやパーティション番号でパーティションを指定した上で、「-IsReadOnly」オプションを使用します。今回は「読み取り専用」とするため、指定する値は「$true」となります(画面3)。

コマンドレット実行例

Set-Partition -DriveLetter T -IsReadOnly $true

ALT
画面3 ドライブレター「T」のパーティションを「読み取り専用」に設定した

 画面3では、Set-Partitionコマンドレット実行前後で対象ディスクにフォルダを新規作成しています。コマンドレット実行前には作成できていましたが、実行後は書き込みが拒否され、作成できなかったというエラーが出力されていることが確認できます。

 また、パーティションの状態をGet-Partitionコマンドレットで確認すると、ドライブレター「T」のパーティションだけが「読み取り専用」になっています。同じディスク上のドライブレター「U」のパーティションではフォルダ作成が可能であり、当該パーティションのみが読み取り専用となっていることが分かります。


指定したパーティションを「隠しパーティション」に設定する

 Set-Partitionコマンドレットでは、指定したパーティションを「隠しパーティション」に設定することも可能です。その場合は「-IsHidden」オプション(値は「$true」)を使用します(画面4)。

コマンドレット実行例

Set-Partition -DriveLetter T -IsHidden $true

ALT
画面4 ドライブレター「T」のパーティションを隠しパーティションに設定した

 「Get-PSDrive」コマンドレットで確認すると、確かにTドライブは見えません。当然エクスプローラーからも参照不可となります。

 隠しパーティションを無効にしたい場合、当該パーティションのドライブレターを指定してSet-Partitionコマンドレットを実行しても「オブジェクトが見つからない」というエラーになります(画面5)。ドライブレターが見えていないので、当然のエラーといえます。

ALT
画面5 ドライブレターの指定だけでは隠しパーティション設定を解除できない

 この場合は、ディスク番号とパーティション番号を指定してSet-Partitionコマンドレット実行することで、隠しパーティション設定を解除できます。

筆者紹介

後藤 諭史(ごとう さとし)

Microsoft MVP for Cloud and Datacenter Management(2012-2024)。現業の傍ら、コミュニティーイベントでの登壇や著作にてMicrosoftテクノロジーに関する技術情報の発信、共有を続けている。ネットワークやハードウェアといった物理層に近いところが大好きな、昔ながらのインフラ屋さん。得意技はケーブル整線。近著は『詳解! Windows Server仮想ネットワーク』(日経BP社)。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る