Eu descobri uma maneira de fazer isso, então vou postá-lo caso isso ajude alguém. Concedido eu tive que editar o script PS original, mas as alterações feitas são insignificantes e não afetam o processamento primário do script em tudo.
Conteúdo do script test.ps1 :
Param ([int]$Local)
function Test1 {Write-Host “This is test1”}
function Test2 {Write-Host “This is test2”}
If ($Local -eq 1) {Exit}
Test1
Test2
Conteúdo do script testtest.ps1 :
. ".\test.ps1" -Local 1
Test1
Quando executo test.ps1 , recebo:
This is test1
This is test2
Mas agora (com as alterações feitas), quando executo testtest.ps1 , recebo:
This is test1
Dessa forma, o script carregou as funções do test.ps1 na memória (para que possam ser usadas), mas não processa nenhuma parte do restante do script (porque nós Exit). Agora posso usar as funções localizadas neste script, se quiser, sem afetar o processamento do script de origem original.
Obrigado a todos pelo feedback !!