我在“FinalBuilder”项目中添加了“Execute PowerShell Script”操作。手册说我可以使用以下语法(在Specify Script
区域中输入)访问FinalBuilder变量:
$FBVariables.GetVariable("VarName")
但问题是$FBVariables
在我的情况下总是null
,我的意思是跟随语句返回True
:
$FBVariables -eq $null
我不知道我做错了什么。
答案 0 :(得分:3)
$FBVariables
在Execute PowerShell Script
操作中不可用。
您必须使用Run Script
(或我认为旧版本中的Execute Script
)操作,在Script Editor
标签中将语言设置为Powershell,您可以在此使用{{1} }
http://www.finalbuilder.com/Default.aspx?tabid=456&aft=9647#10952
答案 1 :(得分:0)
以下是LogVariables Action中包含的工作PowerShell脚本的示例。我发现你无法使用PowerShell Action和变量,所以我只是使用了另一个动作并添加了一个脚本来传递/传出Powershell Commandlets中的信息。
Function ConvertNametoFolder([string]$FileName="VirtualServerInstanceName.web.config", [string]$FileSuffix="web.config")
{
[string]$Result = ""
if ($FileLen -ne "")
{
[int]$FileLen = $FileName.Length
[int]$SuffixLen = $FileSuffix.Length
$Result = $FileName
$Result = $FileName.SubString(0,($FileLen-$SuffixLen)-1)
# String join method (not safe)
#$Result = $Result + "\" + $FileSuffix
# .net Framework safe method for combining folder\file paths to Windows Standards.
$Result = [System.IO.Path]::Combine($Result, $FileSuffix)
}
Return $Result
}
$FileIn = $FBVariables.GetVariable("varWebConfigFilePath") # Passed-in at runtime
[string]$PathOut = ConvertNametoFolder $FileIn
$FBVariables.GetVariable("varIisSettingFile")
$FBVariables.SetVariable("varWebConfigFileDestinationPath", $PathOut)