2017-03-10 4 views
0

Read-Hostの前にコンソールに書き込むためにいくつかの情報が得られています。私は単純な例を捨ててみましょう。Read-Hostの前に出力を表示

Function Add-Build { 
[CmdletBinding()] 
Param ([Parameter(Mandatory=$True,Position=1)][String]$Build 
     ,[Parameter(Mandatory=$False,Position=2)][System.Nullable``1[[System.Int32]]]$VersionID 
     ,[Parameter(Mandatory=$False,Position=3)][String]$BuildDescription 
) 

    Write-Host -BackgroundColor DarkYellow "Adding SQL Build $($Build)" 


IF ($VersionID -eq $null) 
{ 
    Get-SqlVersions | Out-String 


    $VersionID = Read-Host -Prompt "SELECT Version (Enter To Skip)" | % { IF ($_ -eq '') {$null} ELSE {$_}} 
    } 
} 

FUNCTION Test-Function { 

    $BuildID = (Get-BuildID -Build "11.0.3156.0").ToString() 
} 

私はAdd-Buildを呼び出す場合は、直接、その後Read-Host.Get-SqlVersions | Out-String出力は、私はすべてのコンソールにGet-SqlVersionsもはや出力けれどもTest-Functionを呼び出した場合。 Get-SqlVersionsはSQL proc呼び出しを行い、出力は2つのDatarowsになります。

Test-Functionを呼び出すときにGet-SqlVersionsのデータが確実に表示されるようにする方法はありますか?

+2

ホストに出力します。 '$ GetSQL = Get-SqlVersions |アウトストリング; Write-Host $ GetSQL' – TheMadTechnician

+0

完全にうまくいって、答えとしてそれを入れて、私は喜んで受け入れます。ありがとう。 – MrTCS

答えて

1

明示的にホストに出力します。

$GetSQL = Get-SqlVersions | Out-String 
Write-Host $GetSQL 
0

Get-SqlVersions | Out-String;を変数に格納して表示してください。私はそれがうまくいくと思います。

$versions = Get-SqlVersions | Out-String; 
$versions 
+0

実際には 'Write-Output'に出力されます。これは、2番目の関数から呼び出されたときに変数によって消費されます。 – TheMadTechnician

+0

Write-hostを使用変数に続いて.. :) –

関連する問題