SMA ランブックでコードを再利用しようとしていますが、関数内に配置しようとしているすべてが期待どおりに機能していないようです。たとえば、これを行うと機能し、資格情報のユーザー名を返します。
workflow RB_Test
{
$credent = Get-AutomationPSCredential -Name "CRED_TESTE"
$var = $credent.Username
"result = ${var}"
}
出力:
しかし、私がこれに変わると、もう機能しません(nullを返します):
workflow RB_Test
{
function FN_Test
{
$credent = Get-AutomationPSCredential -Name "CRED_TESTE"
$var = $credent.Username
"result = ${var}"
}
FN_Test
}
私はさまざまなことを試しましたが、成功しませんでした。デバッグ/詳細画面では何も返されません。それも機能しません:
Inlinescript {
. FN_Test
}
私の目標は、いくつかの関数を別のモジュールに入れ、再利用のためにランブックにインポートすることですが、これは実際にはうまくいかないようです。これは、Service Management Automation (SMA) で作成されたランブック (powershell ワークフロー) です。
純粋な Powershell と比較して、Powershell ワークフローにはいくつかの制限があることを読みましたが、それらのいずれかに該当するかどうかはわかりません: https://blogs.technet.microsoft.com/heyscriptingguy/2013/01/02/powershell -ワークフロー-制限/
ありがとう