Многострочный Powershell .CMD файл - PullRequest
       10

Многострочный Powershell .CMD файл

0 голосов
/ 20 сентября 2018

Я пытаюсь создать файл CMD, который загружает PowerShell, используя стандартную команду PowerShell при запуске.Проблема в том, что он не выполняет никакого дополнительного кода после запуска PowerShell в CMD, он в основном останавливается.

Что необходимо сделать, чтобы остальная часть кода была выполнена после загрузки PS?

Извините, я новичок в кодировании и на этом сайте!

powershell
$domain = "domain"
$password = "password" | ConvertTo-SecureString -asPlainText -Force
$username = "$domain\username" 
$credential = New-Object System.Management.Automation.PSCredential($username,$password)
Add-Computer -DomainName $domain -Credential $credential
Restart-Computer -Force

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Поместить сценарий PowerShell в файл .ps1, как Джеймс С. suggetsted, вероятно, самый простой способ.Альтернативно, это может быть помещено в единственную команду.Конечно, ожидается, что это будет соответствовать максимальному пределу длины командной строки.

powershell -NoProfile -Command ^
    "$domain = 'domain';" ^
    "$password = 'password' | ConvertTo-SecureString -asPlainText -Force;" ^
    "$username = "$domain\username^";" ^
    "$credential = New-Object;" ^
    "System.Management.Automation.PSCredential($username,$password);" ^
    "Add-Computer -DomainName $domain -Credential $credential;" ^
    "Restart-Computer -Force"
0 голосов
/ 20 сентября 2018

Команды в вашем файле bat / cmd не будут введены для вас в консоль powershell.CMD запустит powershell, затем дождется его завершения, прежде чем выполнять следующую команду или, как вы описываете, она 'останавливается'.

Когда ваш скрипт просто запускает powershell, запускается консоль powershell (синтерактивная подсказка, ожидающая ввода user ).Это ничего не изменит, поскольку вы не указываете команду или файл для запуска.

Чтобы запустить ее, сохраните команды как файл .ps1, а затем получите powershell для запуска этого файла:

powershell -File C:\folder\script.ps1

РЕДАКТИРОВАТЬ:

Однако вы пытаетесь заново изобрести колесо, поскольку автоматическое присоединение к домену уже является частью файла ответов без присмотра (см. Диспетчер системных образов Windows ) и доступен с Windows 7.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...