【发布时间】:2015-08-24 22:04:07
【问题描述】:
我有一台配置有多个磁盘的服务器。一个用于操作系统,一个用于程序等,其余的将挂载到空的 NTFS 文件夹。
Disk 0: C:
Disk 1: G:
Disk 2: G:\Folder01\
Disk 3: G:\Folder02\
这通过 GUI 相当简单:https://technet.microsoft.com/en-us/library/cc753321.aspx
但是,我需要自动化,所以我需要弄清楚如何使用 PowerShell 来做到这一点。 我遇到了几个死胡同:
我以为我在 Get-Disk、Initialize-Disk 和 New-Partition 方面取得了一些进展
$Disk = Get-Disk 2
$Disk | Initialize-Disk -PartitionStyle MBR
$Disk | New-Partition -UseMaximumSize -MbrType IFS
$Partition = Get-Partition -DiskNumber $Disk.Number
从这里开始,我希望做类似的事情:
New-Volume $Partition -FriendlyName Folder01 -AccessPath F:\Folder01 -FileSystem NTFS
但这不会产生任何输出,而且我注意到在我之前创建分区时,它也创建了一个卷。
我认为New-Volume 可能是错误的命令,因为帮助表明输入对象应该是 MSFT_StoragePool 对象。
我尝试使用以下命令沿着这条路走一小段路:Get-PhysicalDisk、New-StoragePool、Get-StoragePool
$Disk = Get-PhysicalDisk -FriendlyName PhysicalDisk2
New-StoragePool -FriendlyName Pool2 -StorageSubsystemFriendlyName "Storage Spaces*" -PhysicalDisks $Disk
$Pool = Get-StoragePool Pool2
New-Volume -FriendlyName Folder01 -AccessPath G:\Folder01 -FileSystem NTFS -InputObject $Pool
但此时我只收到一条关于无效参数的错误消息,我认为这很奇怪,因为我能够使用 Get-Member 来确认 $Pool 是一个 MSFT_StoragePool。
我还注意到,在创建该存储池后,我的磁盘从磁盘管理中消失了,并且不再出现在 Get-Disk 中
我认为这表明存储池与我真正想做的完全不同。
如何使用 Powershell 将驱动器分配给 NTFS 文件夹?
【问题讨论】:
标签: powershell windows-server-2012 windows-server-2012-r2 disk-partitioning