2017-03-10 2 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 출력은 I은 모든 콘솔에 Get-SqlVersions 더 이상 출력하지만 Test-Function를 호출하는 경우. Get-SqlVersions은 SQL proc 호출을하고 출력은 몇 개의 Datarows입니다.

Test-Function을 호출 할 때 Get-SqlVersions 데이터가 나타나는지 확인하는 방법이 있습니까?

+2

호스트로 출력하도록 설정합니다. '$ GetSQL = Get-SqlVersions | Out-String; 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'으로 출력됩니다. – TheMadTechnician

+0

쓰기 호스트 사용 다음에 변수가옵니다. :) –