モジュールのメソッド/関数をジョブに送信しようとしました。
ジョブ内でメソッド/関数を実行するにはどうすればよいですか?Powershell Start-jobでモジュール関数を呼び出す方法
# Create a module with 1 method.
$m = New-Module -ScriptBlock{
function start(){
"started"
};
} -AsCustomObject
# Start a job and send in the function/method.
Start-Job -ScriptBlock{
$func = $args[0]
"<args0:$func>" # The function/method seems to contain what I want.
$funC# <------------ How do I call $func/$m.start?
} -ArgumentList $m.start
上記を実行し、その後job 498 | Receive-Job -Keep
ができます:私は関数/メソッドを持っているすべての私の知識にとても
PS C:\temp\> job 500 | Receive-Job -Keep
<argsO:System.Object start();>
RunspaceId : 9271e389-cc97-4d2a-9396-5f0ce3f0ae5c
Script :
"started"
OverloadDefinitions : {System.Object start();}
MemberType : ScriptMethod
TypeNameOfValue : System.Object
Value : System.Object start();
Name : start
IsInstance : True
。
あなたの例では、$ m.start()はジョブの開始時に実行されますが、そうではありませんか? - 仕事の中ではありません。私の '' "が何か関連していて、' $ func() '_after_' ""を呼び出さなければならないとします。 –
LosManos