ActiveBatch ExecutePowerShellScriptジョブ ステップを使用しSystem.Byte[]て、a を文字列に変換しようとしています。ActiveBatch ジョブ ステップにはInputObjects、前のジョブ ステップの出力に設定した を指定するプロパティがあります (これはジョブ ステップ エディターの単なるフィールドであり、PowerShell コードではありません)。$input次に、PowerShell スクリプトで呼び出された変数にアクセスできるようです。
$input整数に変換されたバイトのリストを取得するだけです。私は$input | gm得る:
There are 25 output objects generated by the Powershell script
TypeName: System.Byte[]
Name MemberType Definition
---- ---------- ----------
Count AliasProperty Count = Length
Address Method System.Byte&, mscorlib, Version=2.0.0.0, Culture...
試してみると、次の[System.Text.Encoding]::Unicode.GetString($input)ようになります。
PowerShell スクリプトの実行中に例外が発生しました: "GetString" と引数カウント "1" のオーバーロードが見つかりません。
試してみると、次の[System.Text.Encoding]::Unicode.GetString(,$input)ようになります。
PowerShell スクリプトの実行中に例外が発生しました: メソッド呼び出しに ')' がありません。
私が試してみると:
[byte[]]$bytes = $input
[System.Text.Encoding]::Unicode.GetString($bytes)
私は得る:
PowerShell スクリプトの実行中に例外が発生しました:「System.Management.Automation.Runspaces.PipelineReader
1+<GetReadEnumerator>d__0[System.Object]" value of type "System.Management.Automation.Runspaces.PipelineReader1+d__0[[System.Object, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]」を「System」型に変換できません。バイト[]"。
何か案は?