WPS 10 Posted January 19, 2017 Report Share Posted January 19, 2017 Hallo zusammen, ich sitze grade vor folgendem Problem. Ich habe mir ein Skript geschrieben, welches ich in der Konsole ausführe. Dort wird eine Variable über Read-Host gesetzt und soll später in einen Befehl auf einen mehreren Servern über Invoke-Comand verwendet werden. Nun steh ich vor dem Problem diese Variable auch auf dem Remote-Client verfügbar zumachen. Meine Ansatz war jetzt im Skript als erstes die Variable zu setzen um danach einen Skriptblock der die Variable beinhaltet zu definieren und diesen später auf mehreren Servern mit Invoke-Comand auszuführen. Wird dann im Skriptblock nicht der Wert der Variable gesetzt. $IN = Read-Host "Inventarnummer" $Code = { Get-Printerport | ? {$_.Name -like "$IN"} } foreach ($X in $Server){ Invoke-Command -ScriptBlock $Code -ComputerName $X} Hat jemand vielleicht eine Idee wie man das realisieren kann? Oder vielleicht einen anderen Ansatz? Wichtig ist nur, dass der Wert für die Variable immer erst bei Ausführung des Skriptes gesetzt werden kann. Quote Link to comment
tesso 375 Posted January 19, 2017 Report Share Posted January 19, 2017 Schau mal hier: https://blogs.msdn.microsoft.com/powershell/2009/12/29/how-to-pass-arguments-for-remote-commands/ Quote Link to comment
Solution WPS 10 Posted January 20, 2017 Author Solution Report Share Posted January 20, 2017 Hallo Tesso, danke für den Tipp! Hab es jetzt mit New-PSSession gelöst. Invoke-Command -Session $s -Script { Get-Printerport -Name $args[0]} -Args $IN} Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.