Как выполнить a.ps1 от другого.файл ps1?

У меня есть два файла PowerShell. a.ps1 и b.ps1.

в центральной точке a.ps1 я хочу начать выполнение кода в b.ps1 и завершить.ps1 скрипт.

Как это сделать, учитывая, что оба файла находятся в одной папке?

13
задан GibboK
24.01.2023 0:26 Количество просмотров материала 2400
Распечатать страницу

3 ответа

это нормально, если б.пс1 выполнен в новый процесс оболочки мощность? Если да, то следующее должно делать то, что вы описываете.

Invoke-Item (start powershell ((Split-Path $MyInvocation.InvocationName) + "\b.ps1"))

"Invoke-Expression" выполняется в том же процессе, но ожидает завершения b.ps1.

4
отвечен user2543253 2023-01-25 08:14

в.пс1,

& .\b.ps1

способ вызова других программ

15
отвечен chingNotCHing 2023-01-25 10:31

Я получил это из другой статьи, но ее можно подать здесь: спасибо (https://stackoverflow.com/users/3905079/briantist)

во-первых, если вы хотите сделать несколько вызовов за один сеанс на удаленную машину, сначала создайте сеанс PSSession:

$session = New-PSSession -ComputerName $ComputerName

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

Invoke-Command -Session $session -File $filename
Invoke-Command -Session $session -ScriptBlock {
# Some code

} Затем закройте сеанс, когда закончите:

Remove-PSSession -Session $session

кроме того, если вы не знаете точно, изделий, что сценарий будет но знайте, что ваш сценарий начинается и может сделать это:

$strInst = Get-ChildItem -Path $PSScriptRoot -Filter Import-Carbon.ps1 -recurse -ErrorAction SilentlyContinue -Force | Select Directory
Invoke-Experssion (start Powershell ($strinst\Import-Carbon.ps1)

(помоему так)

2
отвечен Kelly Davis 2023-01-25 12:48

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх