Invoca un segundo script con argumentos de un script

Soy relativamente nuevo en PowerShell y tengo un script que lee un archivo de configuración que da como resultado un conjunto de pares de valores de nombre que me gustaría pasar como argumentos a una función en un segundo script de PowerShell.

No sé qué parámetros se colocarán en este archivo de configuración en el momento del diseño, por lo que justo en el punto en el que necesito invocar este segundo script de PowerShell, básicamente tengo una variable que tiene la ruta de acceso a este segundo script y una segunda variable que es una matriz de argumentos para pasar al script identificado en la variable de ruta.

Entonces, la variable que contiene la ruta al segundo script ($ scriptPath), podría tener un valor como:

"c:\the\path\to\the\second\script.ps1"

La variable que contiene los argumentos ($ argumentList) podría verse algo como:

-ConfigFilename "doohickey.txt" -RootDirectory "c:\some\kind\of\path" -Max 11

¿Cómo puedo pasar de este estado de cosas a la ejecución de script.ps1 con todos los argumentos de $ argumentList?

Me gustaría que los comandos de escritura de este segundo script sean visibles en la consola desde la que se invoca este primer script.

He intentado el punto de origen, Invocar-Comando, Invocar-Expresión y Iniciar-Trabajo, pero no he encontrado un enfoque que no produce errores.

Por ejemplo, pensé que la primera ruta más fácil era probar Start-Job llamado de la siguiente manera:

Start-Job -FilePath $scriptPath -ArgumentList $argumentList

... pero esto falla con este error:

System.Management.Automation.ValidationMetadataException:
Attribute cannot be added because it would cause the variable
ConfigFilename with value -ConfigFilename to become invalid.

... en este caso, "ConfigFilename" es el primer parámetro en la lista de parámetros definida por el segundo script, y mi invocación aparentemente está tratando de establecer su valor en "-ConfigFilename", que obviamente pretende identificar el parámetro por su nombre , no establece su valor.

¿Qué me estoy perdiendo?

EDITAR:

Ok, aquí hay una maqueta del script to-be-be, en un archivo llamado invokee.ps1

Param(
[parameter(Mandatory=$true)]
[alias("rc")]
[string]
[ValidateScript( {Test-Path $_ -PathType Leaf} )]
$ConfigurationFilename,
[alias("e")]
[switch]
$Evaluate,
[array]
[Parameter(ValueFromRemainingArguments=$true)]
$remaining)

function sayHelloWorld()
{
    Write-Host "Hello, everybody, the config file is <$ConfigurationFilename>."
    if ($ExitOnErrors)
    {
        Write-Host "I should mention that I was told to evaluate things."
    }
    Write-Host "I currently live here: $gScriptDirectory"
    Write-Host "My remaining arguments are: $remaining"
    Set-Content .\hello.world.txt "It worked"
}

$gScriptPath = $MyInvocation.MyCommand.Path
$gScriptDirectory = (Split-Path $gScriptPath -Parent)
sayHelloWorld

... y aquí hay una maqueta del script de llamada, en un archivo llamado invokee.ps1:

function pokeTheInvokee()
{
    $scriptPath = (Join-Path -Path "." -ChildPath "invokee.ps1")
    $scriptPath = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($scriptPath)

    $configPath = (Join-Path -Path "." -ChildPath "invoker.ps1")
    $configPath = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath($configPath)

    $argumentList = @()
    $argumentList += ("-ConfigurationFilename", "`"$configPath`"")
    $argumentList += , "-Evaluate"

    Write-Host "Attempting to invoke-expression with: `"$scriptPath`" $argumentList"
    Invoke-Expression "`"$scriptPath`" $argumentList"
    Invoke-Expression ".\invokee.ps1 -ConfigurationFilename `".\invoker.ps1`" -Evaluate
    Write-Host "Invokee invoked."
}

pokeTheInvokee

Cuando ejecuto invoker.ps1, este es el error que recibo en la primera llamada a Invoke-Expression:

Invoke-Expression : You must provide a value expression on
the right-hand side of the '-' operator.

La segunda llamada funciona bien, pero una diferencia significativa es que la primera versión usa argumentos cuyas rutas tienen espacios en ellos, y la segunda no. ¿Estoy manejando mal la presencia de espacios en estos caminos?

Respuestas a la pregunta(7)

Su respuesta a la pregunta