speer 19 Geschrieben 13. Januar 2017 Melden Teilen 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. Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 13. Januar 2017 Melden Teilen 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 Zitieren Link zu diesem Kommentar
speer 19 Geschrieben 13. Januar 2017 Autor Melden Teilen Geschrieben 13. Januar 2017 Hallo Nils, klingt einleuchtend. Danke für den Hinweis. Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 13. Januar 2017 Melden Teilen 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. Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 13. Januar 2017 Melden Teilen Geschrieben 13. Januar 2017 Oder die Funktion (und das Script) in eine Datei auslagern und statt den Scriptblock die Datei angeben. Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 13. Januar 2017 Melden Teilen 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 ;-) Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 13. Januar 2017 Melden Teilen Geschrieben 13. Januar 2017 Diese wird dann mit dem invoke-command auf den anderen Rechner kopiert. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.