回答:
新しいPower Shellプロセスでb.ps1を実行しても大丈夫ですか?その場合、次の説明に従ってください。
Invoke-Item (start powershell ((Split-Path $MyInvocation.InvocationName) + "\b.ps1"))
「Invoke-Expression」は同じプロセスで実行されますが、b.ps1の終了を待ちます。
a.ps1で、
& .\b.ps1
他のプログラムを呼び出す方法
私は別の記事からこれを得ましたが、ここに適用できます:ありがとう(/programming//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)
(私の物です)