Voglio utilizzare Powershell per chiamare un file batch su macchine remote. Questo file batch ha argomenti. Ecco quello che ho finora:Utilizzo di Invoke-Command di Powershell per chiamare un file batch con argomenti
$script = "\\fileshare\script.cmd"
$server = $args[0]
$args [string]::join(',',$args[1 .. ($args.count-1)])
Invoke-Command -computername $server {$script + ' ' + $args}
Dopo un po 'di ricerca, ho trovato che la funzione di Invoke-Command esegue il suo scriptblock in un intero processo di nuovo, quindi non si può mettere le variabili in esso (hanno vinto' t si espande). Ecco a cosa serve il tag -ArgumentList. Così ho provato questo invece ...
Invoke-Command -computername $server {\\fileshare\script.cmd} -ArgumentList "FirstArgument"
Che non ha funzionato neanche ... il mio script di gruppo mi dice che non vengono passati argomenti. Non riesco a trovare nulla che lo dica esplicitamente, ma sembra che il parametro -ArgumentList funzioni solo sugli script di PowerShell (non li inoltrerà a uno script batch).
Qualche idea su come utilizzare Invoke-Command per chiamare un file batch con argomenti?
Grazie, l'ho fatto! Questo è anche quello che dice di fare nella documentazione di Technet per Invoke-Command, quindi mi vergogno un po 'di non riuscire a capirlo da solo! Quel poco di $ args è comunque utile. –