PowerShellをふりかえりましたです。リモート処理をしている時に、ローカルで定義した関数を使うことはできないんですね。ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。いえリモート処理の内容をすべて一つのスクリプトブロックに押し込めるのは頂けません。長くなってくると分割したくなりますよね。何とか使えるようにする手はないものでしょうか。様々なドライブが存在します。ドライブというのがあります。Function:\と打つと、関数の一覧が表示されます。ドライブに関数を定義してやることで、リモート環境でもスクリプト関数を使うことができるのです。付きで利用するのがポイントです。関数を送り込むことはできました。内部の関数は実行できずにエラーになります。内部の関数も同様に送り込んでやればいいのですが、内部で呼ぶ関数が変わるたびに、送り込む部分も変更しなければなりません。そこで、直接呼んでいる再外周の関数だけ指定してやれば、それらが内部で呼んでいる関数は自動的に含まれるようにしようということを思いつきます。無駄に汎用的にしたがる。使った関数の再帰的解析というわけで、関数内で呼んでいる他の関数、その関数からまた呼ばれている他の関数...というように、再帰的に関数定義を引っ張ってくる関数を作りました。Tree:抽象構文木)機能が使えます。関する詳しいことは、牟田口さんが書いてくださるらしいので、そちらに丸投げさせて頂くとして...winscript.jp呼び出している関数を再帰的に取得する関数がこちらです。渡した関数自身を結果に含みます。指定すると、内部で呼んでいる関数を再帰的に取得します。いうハッシュテーブルに処理済みの関数を追加し、これを引き回すことで、重複処理を避けています。ドライブ内のアイテムの形式(FunctionInfo)で返すので、使い方が先ほどの例とちょっと違っています。これでリモート処理でも躊躇なく関数分割ができます。