我正在尝试创建一个Powershell工作流程,其中包含许多功能。
我的代码和错误......
workflow New-AutomationVM
{
function Pre-DeploymentChecks
{ Write-Output $true }
function Deploy
{ $checkResult = Pre-DeploymentChecks }
Deploy
}
New-AutomationVM
术语“预部署检查”不会被识别为cmdlet,函数,脚本文件或可操作程序的名称。
我的目的是创建一个封装所有其他功能的部署功能。但似乎无法从工作流内的函数内调用函数。即我可以从工作流程调用Pre-DeploymentChecks,但不能调用函数。
显然我可以把这个逻辑放在函数之外,但这种方法看起来有点整洁。
我做了些蠢事!或者这在Powershell工作流程中是不可能的?
答案 0 :(得分:1)
改为使用嵌套工作流程:
<Grid>
<Rectangle x:Name="rect" Fill="{Binding ElementName=label, Path=Background}" />
<TextBlock x:Name="label" Text="Hover over me" >
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Height" Value="20" />
<Setter Property="Width" Value="100" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="LightBlue" />
</Trigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Grid>
这也允许您在每个嵌套工作流程中使用工作流构造,例如workflow New-AutomationVM
{
workflow Pre-DeploymentChecks
{ Write-Output $true }
workflow Deploy
{ $checkResult = Pre-DeploymentChecks }
Deploy
}
New-AutomationVM
或sequence
:
parallel