3

У меня есть сервер, на котором есть несколько дисков. Один для ОС, один для программ и т. Д., А остальные - для пустых папок NTFS.Назначить путь к папке точки монтирования с помощью PowerShell

Disk 0: C: 
Disk 1: G: 
Disk 2: G:\Folder01\ 
Disk 3: G:\Folder02\ 

Это довольно просто через графический интерфейс: 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 может быть неправильной командой, потому что help указывает, что входной объект должен быть объектом 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

Я думаю, что показывает, что бассейны хранения являются чем-то совершенно отличается от того, что я хочу на самом деле.

Как назначить диск в папку NTFS с помощью Powershell?

ответ

7

Commandlet что я нужен был Add-PartitionAccessPath

Я установил вещи, как я хотел через графический интерфейс на диске 2, создал partion на диске 3, а затем тщательно сравнили свойства. Ключ был здесь:

(Get-Partition -DiskNumber 2).AccessPaths 
(Get-Partition -DiskNumber 3).AccessPaths 

Там был дополнительный AccessPath для Disk2, что привело меня по ряду статей MSDN, которые ищут метод, пока я наконец не нашел, что там уже есть команда для него.

Следующая команда опечатали сделки:

$Partition | Add-PartitionAccessPath -AccessPath "G:\Folder01" 

Для справки, вот полное решение:

$Disk = Get-Disk 3 
# $Disk | Clear-Disk -RemoveData -Confirm:$false 
$Disk | Initialize-Disk -PartitionStyle MBR 
$disk | New-Partition -UseMaximumSize -MbrType IFS 
$Partition = Get-Partition -DiskNumber $Disk.Number 
$Partition | Format-Volume -FileSystem NTFS -Confirm:$false 
$Partition | Add-PartitionAccessPath -AccessPath "G:\Folder01" 
-1

Как назначить диск на папку NTFS в Powershell с помощью Command Line:

cmd /c 'subst G: "C:\Folder1"' 

Примечание: Explorer показывает тот же размер папки как C :.

+0

Я не думаю, что это собирается сделать то, что я хочу, но я собираюсь дать ему попробовать и посмотреть, совпадает ли результат с тем, что я получаю, когда я это делаю с помощью графического интерфейса. я инициализирован диск и назначили его J :, Затем я попробовал команду: Подст J: G: \ Folder01 и получил недопустимый параметр - J: Я бегу ПФС/SCANNOW, чтобы увидеть, если я могу решить эту проблему. –

+0

Хорошо, я понял, почему это не работает для меня. Subst позволяет мне взять букву диска, которая в настоящее время не назначена, и использовать ее как shorctut для другого пути. Это круто, но не то, что я на самом деле пытаюсь сделать здесь. Я хочу взять «диск», к которому я имею в виду физический или виртуальный диск, и подключить его к папке, так что, когда я помещаю файлы в эту папку, они хранятся на этом диске. –

 Смежные вопросы

  • Нет связанных вопросов^_^