Я начал учиться создавать «код сценария PowerShell в стандартных рабочих процессах». швы хорошее решение.
Я попытался получить доступ к параметрам приложения логики с помощью:
$Cert = (@{parameters('CertificatePFX')} )
$domain =( @{parameters('AADDomain-(Prod)')} )
Но я получаю ошибку:
PowershellFunctionFailed
The inline code action 'Powershell' execution failed, with error 'At C:\home\site\wwwroot\wf-ReduceProposals\execute_powershell_code.ps1:8 char:22 + $Cert = (@{parameters('CertificatePFX')} ) + ~ Missing '=' operator after key in hash literal. At C:\home\site\wwwroot\wf-ReduceProposals\execute_powershell_code.ps1:9 char:24 + $domain =( @{parameters('AADDomain-(Prod)')} ) + ~ Missing '=' operator after key in hash literal.'.
Я надеюсь, что кто-то знает правильный синтаксис для этого. Может быть, я могу получить переменные среды только с помощью $env.{vname}?
Как насчет PnP-Powershell? как мне это включить?
Спасибо
Нет, я хочу получить доступ к тем же параметрам, которые используют другие рабочие процессы в том же приложении логики. в коде это выглядит как «AADDomain-(Prod)»: { «type»: «String», «value»: «mydomain.sharepoint.com» }, я обнаружил, что могу использовать переменные среды с $env.{vname }?
Доступ к параметрам приложения логики в коде сценария PowerShell в стандартных рабочих процессах
К параметрам нельзя получить прямой доступ внутри встроенного кода PowerShell, но на них нужно ссылаться с помощью переменной или вывода действия, как показано ниже, и я следовал Microsoft-Document и SO-Thread:
Сначала инициализируем пустую переменную, а затем устанавливаем для нее значение parameters('test')
.
При выполнении кода Powershell:
$rith = Get-ActionOutput -ActionName test
$test = $rith.outputs
$res = [string]$test.body.value
Push-WorkflowOutput -Output $res
Выход:
Спасибо. Хорошее объяснение.
вам нужна хеш-таблица?
@{parameters = 'AADDomain-(Prod)'}