LogVariables アクションに含まれる実際の PowerShell スクリプトの例を次に示します。変数で PowerShell アクションを使用できないことがわかったので、別のアクションを使用してスクリプトを追加し、Powershell コマンドレットとの間で情報をやり取りしました。
Powershell スクリプト
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)