speer 19 Geschrieben 13. Januar 2017 Melden Geschrieben 13. Januar 2017 Hallo zusammen, ich möchte auf mehreren Terminalservern diverse Punkte prüfen. Der Übersichtlichkeitshalber und spätere Verwendbarkeit verwende ich viele Funktionen. Mein Problem hänge nun im Zusammenhang mit invoke-command und Aufruf der Funktion zusammen. Meine Funktion ist fKopiereDateien, beim Aufruf erscheint folgende Fehlermeldung: Die Benennung "fKopiereDateien" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang. + CategoryInfo : ObjectNotFound: (fKopiereDateien:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException + PSComputerName : TSSAP01 Invoke-Command -ComputerName $serverArray -scriptblock { if (... ) { fKopiereDateien($Using:Quelle, $Using:Ziel) } Hat mir jemand einen Tip? Der Funktionsaufruf außerhalb funktioniert tadellos.
NilsK 3.045 Geschrieben 13. Januar 2017 Melden Geschrieben 13. Januar 2017 Moin, da Invoke-Command per PSRemoting ein Kommando auf dem entfernten Server ausführt, muss die Funktion dort erreichbar sein. Du musst sie also auf dem entfernten Server oder auf einem Dateiserver ablegen und dann mit ihrem Pfad aufrufen, damit sie verfügbar wird. Gruß, Nils
speer 19 Geschrieben 13. Januar 2017 Autor Melden Geschrieben 13. Januar 2017 Hallo Nils, klingt einleuchtend. Danke für den Hinweis.
MurdocX 1.002 Geschrieben 13. Januar 2017 Melden Geschrieben 13. Januar 2017 Du könntest sie aber mit übergeben. Einfach oben in den ScriptBlock mit einfügen, dann sind sie auf dem Remotesystem auch verfügbar.
Dukel 468 Geschrieben 13. Januar 2017 Melden Geschrieben 13. Januar 2017 Oder die Funktion (und das Script) in eine Datei auslagern und statt den Scriptblock die Datei angeben.
MurdocX 1.002 Geschrieben 13. Januar 2017 Melden Geschrieben 13. Januar 2017 Oder die Funktion (und das Script) in eine Datei auslagern und statt den Scriptblock die Datei angeben. Dann aber auf die RemoteExecution-Policy achten, falls diese Datei im Netzwerk auf einem Share liegt ;-)
Dukel 468 Geschrieben 13. Januar 2017 Melden Geschrieben 13. Januar 2017 Diese wird dann mit dem invoke-command auf den anderen Rechner kopiert.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden