Передача команд в cmd из powershell - PullRequest
0 голосов
/ 28 июня 2018

Я хочу внести изменения в раздел реестра с помощью этой команды:

REG ADD "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQLServer\SuperSocketNetLib\Tcp\IPAll" /v TcpDynamicPorts /t REG_SZ /d 6363 /f

Это должно произойти в cmd, который я запустил как администратор через powershell с помощью этой команды в командном файле:

powershell.exe Start-Process cmd.exe -Verb runAs

Мне нужно приглашение UAC, чтобы пользователь мог ввести свои учетные данные администратора, чтобы сделать его максимально удобным для пользователя. Теперь мой вопрос: как передать команду reg add на консоль, которую я начал с правами администратора?

1 Ответ

0 голосов
/ 28 июня 2018

Вам необходимо передать команду в параметре -ArgumentList, например:

powershell.exe "Start-Process powershell -ArgumentList 'REG ADD "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQLServer\SuperSocketNetLib\Tcp\IPAll" /v TcpDynamicPorts /t REG_SZ /d 6363 /f' -Verb RunAs"

Это выполнит PowerShell, который попытается выполнить другое окно PowerShell, запрашивающее у вас учетные данные, а затем выполнит команду REG ADD и закроет PowerShell в конце.

Имейте в виду, что у вас нет обработки ошибок или чего-то подобного, поэтому вы можете добавить их позже, поскольку они могут быть очень полезны .

...