2016-10-27 85 views
1

我試圖做到以下幾點:讀主機執行順序

顯示從多維數組列表:

$Victim = Read-Host -Prompt 'Enter the number of the host you want rid of...' 

$AssetList | Where-Object {$_.agenttype -eq "N"} | Select-Object number, hostname, agentstatus | Write-Output 

在來自用戶的號碼,然後讀

實際情況是在讀寫輸出之前顯示讀主機。我怎樣才能翻轉它並扭轉它?

+1

的可能的複製[無法暫停或睡眠後選擇-對象](http://stackoverflow.com/questions/34835327/unable-to-pause-or-sleep-after-select -object) – PetSerAl

+0

我的解決方案是使用'Out-String'而不是'Write-Output'。這個解決方案似乎沒有提及... –

回答

0

我認爲這裏的問題是,您正在使用Write-Output(它寫入您的腳本/函數的輸出流)。如果您只想在Read-Host cmdlet之前將數據顯示在控制檯上,請嘗試使用Out-String | Write-Host。你可能會自己逃脫只有Out-String

輸出字符串

的輸出字符串轉換小命令是Windows PowerShell中 管理到字符串數組的對象。默認情況下,Out-String累加字符串並將其返回爲單個字符串,但您可以使用 流參數來指示Out-String一次返回一個字符串。 此cmdlet允許您在對象操作不太方便的情況下像傳統shell中的 一樣搜索和操作字符串輸出。

https://technet.microsoft.com/en-us/library/hh849952.aspx

+0

完美!謝謝查理。 –