2017-03-10 92 views
0

我有一些問題得到了一些信息寫入只讀主機前控制檯。讓我拋出一個簡單的例子。顯示輸出讀主機

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輸出。如果我在所有調用Test-Function雖然Get-SqlVersions不再輸出到控制檯。 Get-SqlVersions進行SQL proc調用,輸出是一對數據行。

有沒有一種方法,以確保Get-SqlVersions數據顯示,高達調用Test-Function什麼時候?

+2

將其輸出到主機。 '$ GetSQL = Get-SqlVersions |輸出字符串;寫主機$ 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

這實際上輸出到'寫Output',這從他的第二個函數調用時會被變量消耗。 – TheMadTechnician

+0

使用寫主機隨後的變量然後.. :) –