¿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"
}