Zum Inhalt wechseln


Foto

Variable für Powershell auf Remoteclient verfügbar machen


  • Bitte melde dich an um zu Antworten
2 Antworten in diesem Thema

#1 WPS

WPS

    Newbie

  • 27 Beiträge

 

Geschrieben 19. Januar 2017 - 06:56

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.  



#2 tesso

tesso

    Board Veteran

  • 2.238 Beiträge

 

Geschrieben 19. Januar 2017 - 07:42

Schau mal hier:

https://blogs.msdn.m...emote-commands/



#3 WPS

WPS

    Newbie

  • 27 Beiträge

 

Geschrieben 20. Januar 2017 - 11:08   Lösung

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}