Я пытаюсь повторно использовать код в своих модулях Runbook SMA, но все, что я пытаюсь поместить в функцию, работает не так, как ожидалось. Например, если я это сделаю, он сработает и вернет имя пользователя учетных данных:
workflow RB_Test
{
$credent = Get-AutomationPSCredential -Name "CRED_TESTE"
$var = $credent.Username
"result = ${var}"
}
Выход:
Но если я перехожу к этому, он больше не работает (возвращает ноль):
workflow RB_Test
{
function FN_Test
{
$credent = Get-AutomationPSCredential -Name "CRED_TESTE"
$var = $credent.Username
"result = ${var}"
}
FN_Test
}
Я пробовал разные вещи, но безуспешно. Экран отладки/подробности не возвращает ничего другого. Это тоже не работает:
Inlinescript {
. FN_Test
}
Моя цель состояла бы в том, чтобы поместить несколько функций в отдельный модуль, а затем импортировать его в мои модули Runbook для повторного использования, но это действительно не работает. Это модуль Runbook (рабочий процесс PowerShell), созданный в Service Management Automation (SMA).
Я читал, что в рабочем процессе Powershell есть некоторые ограничения по сравнению с чистым Powershell, но я не уверен, что я нахожу одно из них: https://blogs.technet.microsoft.com/heyscriptingguy/2013/02/01/powershell-workflows-restrictions/
Спасибо