Como usar o loop foreach dentro do Invoke-Command no PowerShell?
No código abaixo eu estava usando$scripts
variável para iterar através de umforeach
laço dentro doInvoke-Command
declaração. Mas$script
os valores não estão sendo substituídos corretamente e o resultado parece ser uma sequência única como "count.sql size.sql". oforeach
loop está sendo executado corretamente se definido fora doInvoke-Command
ciclo.
Existe alguma maneira específica de definirforeach
laço 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"
}