我目前有一个简单的脚本(A),它使用Invoke-Expression来调用脚本B.
#Call Script
$command = '\\BoxA\PowerShellScripts$\PS_CopyUIAutomationOutput.ps1'
Try
{Invoke-Expression $command }
Catch
{
Write-host "Error: "$_
}
但是当它执行此操作时,它会保持脚本A运行。我想要做的是脚本A调用脚本B然后脚本A关闭,而脚本B仍在运行日志记录完成到脚本B的共享路径,所以我不需要捕获任何错误或登录脚本A.
答案 0 :(得分:1)
只需使用exit
关键字:
Try
{Invoke-Expression $command }
Catch
{
Write-host "Error: "$_
}
exit
编辑:
如果你希望它在运行命令后直接退出,只需将它放在调用表达式之后,如下所示:
Try
{Invoke-Expression $command
exit}
Catch
{Write-host "Error: "$_
}
答案 1 :(得分:0)
使用Stop-Process
和自动变量$PID
来释放脚本A的会话并关闭PS窗口。
$command = '\\BoxA\PowerShellScripts$\PS_CopyUIAutomationOutput.ps1'
Try
{
Invoke-Expression $command
}
Catch
{
Write-host "Error: "$_
}
Stop-Process -Id $PID
答案 2 :(得分:0)
只需使用Start-Process
Start-Process -FilePath PowerShell.exe -Argumentlist $Command
exit
这将在另一个进程中启动$ command并继续到下一行
的问候,
Kvprasoon