Хотя есть Get-Disk
командлет в PowerShell, он не распознается как команда в PowerShell 2.0 в Windows 7. Итак, я использую команду diskpart со следующим примером:
DiskPart
List disk
Select disk 1
Clean
Create partition primary
Select partition 1
Active
Format FS=NTFS quick
Assign
Я хочу знать, могу ли я записать эти строки в текстовый файл, а затем использовать PowerShell для их выполнения. Я не мог найти для этого удобного руководства. Как я могу использовать PowerShell для выполнения команд Win32?
1 ответ
Вот соответствующий документ от Microsoft: сценарии и примеры diskpart.
Использовать
diskpart /s
для запуска сценариев, которые автоматизируют задачи, связанные с дисками, такие как создание томов или преобразование дисков в динамические. […]Чтобы создать сценарий diskpart, создайте текстовый файл, содержащий команды Diskpart, которые вы хотите запустить, по одной команде на строку и без пустых строк. Вы можете начать строку с
rem
чтобы сделать строку комментарием. Например, вот сценарий, который очищает диск, а затем создает раздел размером 300 МБ для среды восстановления Windows:select disk 0 clean convert gpt create partition primary size=300 format quick fs=ntfs label=Windows RE tools assign letter=T
Чтобы запустить сценарий diskpart, в командной строке введите следующую команду, где имя сценария это имя текстового файла, содержащего ваш скрипт:
diskpart /s scriptname.txt
Да, этот файл можно использовать в diskpart. Мне было интересно, могу ли я выполнить это удаленно через PowerShell.
— махмуд
6 янв в 20:21
@mahmood Я не могу найти это требование, упомянутое в вашем вопросе. Вы должны его отредактировать. Обязательно укажите все важные детали.
— горностай
6 янв в 20:25
@gronostaj «Как можно использовать PowerShell для выполнения команд win32?» — Однако я бы сказал, что вы уже ответили на этот вопрос, поскольку он должен быть таким же простым, как сценарий PowerShell, который выполняет
diskpart /s scriptname.txt
— Рамхаунд
6 янв в 21:38
@Ramhound Я имел в виду «удаленно». Я не знаком с тем, как работает PS в этом отношении.
— горностай
7 янв в 6:26
ХОРОШО. Удаленное выполнение команды
Invoke-Command -ComputerName $RemoteMachine -Credential $Cred -ScriptBlock { diskpart /s c:diskman.txt }
— махмуд
7 янв в 9:50