¿Cómo usar el bucle foreach dentro de Invoke-Command en PowerShell?

En el siguiente código estaba usando$scripts variable para iterar a través de unforeach bucle dentro delInvoke-Command declaración. Pero$script los valores no se reemplazan correctamente y el resultado parece ser una sola cadena como "count.sql size.sql". losforeach el bucle se ejecuta correctamente si se define fuera delInvoke-Command lazo.

¿Hay alguna forma particular de definirforeach bucle dentroInvoke-Command?

$scripts = @("count.sql", "size.sql")
$user = ""
$Password = ""
$SecurePassword = $Password | ConvertTo-SecureString -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList $User, $SecurePassword

foreach ($server in $servers) {
    Invoke-Command -ComputerName $Server -Credential $cred -ScriptBlock {
        Param($server, $InputFile, $scripts, $url)

        foreach ($script in $scripts) {
            echo "$script"
    } -ArgumentList "$server,"$scripts","$url"
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta