PowerShellを使用してストレージスペースを作成・管理する方法

PowerShellを使用してストレージスペースを作成・管理する方法という問いには、候補をUniqueIdで明示し、プレビュー表と完全一致するプール名の承認入力を得た後にNew-StoragePoolを一回だけ実行するという方法で答えます。New-StoragePoolは選択した物理ディスクから実際にプールを作成する。CanPool=Trueの全ディスクを無条件に渡すと、別用途の空きディスクまで取り込む危険がある。この記事では物理ディスクはFriendlyNameだけでなくUniqueId、SerialNumber、Size、CanPoolで選び、作成先サブシステムのUniqueIdも固定するを判断軸にし、実行前の確認、記事固有のコード、合否判定、戻し方を一続きで示します。

状態確認だけで終えず、安全な選択・プレビュー・明示承認を経たプール作成までを扱うが、データ破壊を伴う初期化は行わない。完了は「新規プールのFriendlyName、HealthStatus、OperationalStatusと構成ディスクのUniqueIdが承認表に一致する」と定義します。対象が取れない場合は「CanPool候補が0件なら既存プール所属、残存メタデータ、接続状態を調べ、ディスク初期化や消去で無理に候補化しない」として切り分け、推測で成功扱いにしません。

目次

管理者権限とバックアップを先に確認

管理者権限とバックアップを先に確認では、記憶域スペースの作成と管理の対象を「物理ディスクはFriendlyNameだけでなくUniqueId、SerialNumber、Size、CanPoolで選び、作成先サブシステムのUniqueIdも固定する」という単位で扱います。New-StoragePoolは選択した物理ディスクから実際にプールを作成する。CanPool=Trueの全ディスクを無条件に渡すと、別用途の空きディスクまで取り込む危険がある。対象が複数なら表示名の部分一致で先頭を採らず、一意になる条件を追加します。

記憶域スペースの作成と管理を始める前に、PowerShellの版、コマンドの提供元、必要権限、管理ポリシーの有無を確認します。権限不足と対象なしは意味が異なるため、例外を0件へ置き換えません。

CanPoolの物理ディスクを一意に選ぶ

候補をUniqueIdで明示し、プレビュー表と完全一致するプール名の承認入力を得た後にNew-StoragePoolを一回だけ実行する。記憶域スペースの作成と管理ではこの進め方により、操作したという事実ではなく、期待する状態へ到達したかでタイトルの問いへ答えられます。状態確認だけで終えず、安全な選択・プレビュー・明示承認を経たプール作成までを扱うが、データ破壊を伴う初期化は行わない。

CanPoolの物理ディスクを一意に選ぶの合格条件は、新規プールのFriendlyName、HealthStatus、OperationalStatusと構成ディスクのUniqueIdが承認表に一致することです。作業時刻、実行ユーザー、端末名を添え、判断に使った値が後から追える形にします。

既存プールと仮想ディスクを読み取る

既存プールと仮想ディスクを読み取るは変更前の基準点です。物理ディスクはFriendlyNameだけでなくUniqueId、SerialNumber、Size、CanPoolで選び、作成先サブシステムのUniqueIdも固定するを出力に含め、取得時刻と一緒に保存します。値だけを切り取ると別対象との比較になるため、識別列を省きません。

Get-StoragePool | Select-Object FriendlyName, HealthStatus, OperationalStatus, IsPrimordial
Get-VirtualDisk | Select-Object FriendlyName, ResiliencySettingName, HealthStatus, Size
Get-PhysicalDisk -CanPool $true |
  Select-Object FriendlyName, UniqueId, SerialNumber, MediaType, HealthStatus, Size

New-StoragePoolは選択した物理ディスクから実際にプールを作成する。CanPool=Trueの全ディスクを無条件に渡すと、別用途の空きディスクまで取り込む危険がある。出力が多い場合も最初から無理に一件へ絞らず、候補数と除外理由を残してから対象を決めます。

作成後の姿をプレビュー表にする

作成後の姿をプレビュー表にするでは同じ対象を別経路でもう一度読みます。判定したいのは「コマンドが終了したか」ではなく、新規プールのFriendlyName、HealthStatus、OperationalStatusと構成ディスクのUniqueIdが承認表に一致するかどうかです。

Get-StoragePool -FriendlyName 'ITtrip-DataPool01' |
  Select-Object FriendlyName, HealthStatus, OperationalStatus, Size, AllocatedSize
Get-PhysicalDisk -StoragePoolFriendlyName 'ITtrip-DataPool01' |
  Select-Object FriendlyName, UniqueId, HealthStatus, OperationalStatus

CanPool候補が0件なら既存プール所属、残存メタデータ、接続状態を調べ、ディスク初期化や消去で無理に候補化しない。記憶域スペースの作成と管理の期待値と実測値が一致しないときは追加変更を重ねず、対象識別、権限、ポリシー、時間差の順で原因を分けます。

プール名を入力して承認する

プール名を入力して承認するでは、候補をUniqueIdで明示し、プレビュー表と完全一致するプール名の承認入力を得た後にNew-StoragePoolを一回だけ実行する。記憶域スペースの作成と管理の例中にある名前、パス、ID、時刻はサンプルなので、そのまま本番へ貼らず、直前の読み取り結果から承認値を入れます。

$poolName = 'ITtrip-DataPool01'
$approvedUniqueIds = @(
  'SCSI\Disk&Ven_Contoso&Prod_Data01\0001'
  'SCSI\Disk&Ven_Contoso&Prod_Data02\0002'
)
$disks = @(Get-PhysicalDisk -CanPool $true |
  Where-Object { $_.UniqueId -in $approvedUniqueIds })
if ($disks.Count -ne $approvedUniqueIds.Count) { throw '承認済み物理ディスクを全件特定できません。' }
$subsystems = @(Get-StorageSubSystem | Where-Object { $_.FriendlyName -like 'Windows Storage*' })
if ($subsystems.Count -ne 1) { throw '作成先ストレージサブシステムを一意に特定できません。' }
$preview = $disks | Select-Object FriendlyName, UniqueId, SerialNumber, Size
$preview | Format-Table
$approval = Read-Host "作成を承認する場合はプール名 $poolName を入力"
if ($approval -ne $poolName) { throw '記憶域プールの作成は承認されませんでした。' }
New-StoragePool -FriendlyName $poolName -StorageSubSystemUniqueId $subsystems[0].UniqueId -PhysicalDisks $disks

OSディスク、データ入りディスク、識別不能な同型ディスクが一件でも候補に混じれば作成を中止する。仮想ディスク作成やフォーマットは別承認にする。記憶域スペースの作成と管理でプレビュー対応コマンドを使える場合はWhatIfを先に実行し、非対応の操作は対象一覧と引数を画面へ出して人が承認してから一度だけ実行します。

New-StoragePool後にHealthStatusを検証

仮想ディスク作成前かつデータ未格納の段階だけ撤回を検討する。使用開始後に汎用的な一発ロールバックはないためバックアップからの復旧計画を先に持つ。復旧操作にも同じ識別条件を使い、名前が似た別対象へ戻し処理を適用しません。

  • 記憶域スペースの作成と管理の変更前値と取得時刻
  • 復旧対象: 物理ディスクはFriendlyNameだけでなくUniqueId、SerialNumber、Size、CanPoolで選び、作成先サブシステムのUniqueIdも固定する
  • 復旧後の判定: 新規プールのFriendlyName、HealthStatus、OperationalStatusと構成ディスクのUniqueIdが承認表に一致する
  • 再実行を止める条件: OSディスク、データ入りディスク、識別不能な同型ディスクが一件でも候補に混じれば作成を中止する。仮想ディスク作成やフォーマットは別承認にする

データ格納前だけ可能な撤回

OSディスク、データ入りディスク、識別不能な同型ディスクが一件でも候補に混じれば作成を中止する。仮想ディスク作成やフォーマットは別承認にする。データ格納前だけ可能な撤回に該当したら、警告を消して継続するのではなく、どの条件で止まったかを記録します。

CanPool候補が0件なら既存プール所属、残存メタデータ、接続状態を調べ、ディスク初期化や消去で無理に候補化しない。記憶域スペースの作成と管理ではエラー本文、FullyQualifiedErrorId、対象ID、直前に成功した段階を残すと、別担当者が安全な地点から調査できます。

物理ディスク障害を継続監視

Get-StoragePool、Get-VirtualDisk、Get-PhysicalDisk、Get-StorageJobを同じ時刻に採取し、縮退や修復中を見落とさない。記憶域スペースの作成と管理を繰り返す場合は、正常、対象なし、要承認、失敗を異なる終了状態として記録し、前回値との比較だけで異常を決めません。

物理ディスク障害を継続監視の識別軸物理ディスクはFriendlyNameだけでなくUniqueId、SerialNumber、Size、CanPoolで選び、作成先サブシステムのUniqueIdも固定する
採用する実測新規プールのFriendlyName、HealthStatus、OperationalStatusと構成ディスクのUniqueIdが承認表に一致する
0件時の扱いCanPool候補が0件なら既存プール所属、残存メタデータ、接続状態を調べ、ディスク初期化や消去で無理に候補化しない
保留にする兆候OSディスク、データ入りディスク、識別不能な同型ディスクが一件でも候補に混じれば作成を中止する。仮想ディスク作成やフォーマットは別承認にする

記憶域スペースの作成と管理の実行記録には、開始前の対象候補、採用した識別値、実行したコード、終了後の実測、除外した候補と理由を同じ作業番号で残します。特に「物理ディスクはFriendlyNameだけでなくUniqueId、SerialNumber、Size、CanPoolで選び、作成先サブシステムのUniqueIdも固定する」を省くと、後日の再確認で別対象の値を比較するおそれがあります。画面コピーだけでなく、日時と端末名を含む構造化した出力も保存します。

PowerShellを使用してストレージスペースを作成・管理する方法を定期手順へ組み込む場合も、初回は対話的に候補を確認します。正常時は「新規プールのFriendlyName、HealthStatus、OperationalStatusと構成ディスクのUniqueIdが承認表に一致する」、判定不能時は「CanPool候補が0件なら既存プール所属、残存メタデータ、接続状態を調べ、ディスク初期化や消去で無理に候補化しない」、中止時は「OSディスク、データ入りディスク、識別不能な同型ディスクが一件でも候補に混じれば作成を中止する。仮想ディスク作成やフォーマットは別承認にする」をそれぞれ別の結果として扱います。これにより、0件や例外を都合よく成功へ丸めず、次の担当者が同じ対象と条件で追試できます。

公式情報・参考資料

記憶域スペースの作成と管理で使うコマンド名、引数、対応環境は次のMicrosoft一次資料で確認しました。記事の確認日は2026年7月17日です。OSやモジュール更新後は、実行端末のGet-Helpと併せて再確認してください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次