1

我使用PoweShell Studio 2014 Trial創建了一個表單,其中包含兩個控件,即命令按鈕&文本按鈕。下面是按鈕上的點擊事件的代碼 -(PoweShell Studio 2014 Trial)文本框中的輸出不完整

$button1_Click={ 

$results=Get-WinEvent -FilterHashtable @{ LogName = "application"; StartTime = "10/30/2014 12:00:01 AM"; EndTime = "10/30/2014 11:59:59 PM" } 

$textbox1.Text=$results 
} 

當我執行此操作時,它不會給出包含日誌的預期輸出。

它信息 - "System.Diagnostics.Eventing.Reader.EventLogRecord"

Form

但是,如果我在PowerShell ISE中運行 -

Get-WinEvent -FilterHashtable @{ LogName = "application"; StartTime = "10/30/2014 12:00:01 AM"; EndTime = "10/30/2014 11:59:59 PM" } 

,它顯示的所有日誌。

請幫忙。

感謝

+0

它正在輸出您要求的對象System.Diagnostics.Eventing.Reader.EventLogRecord PowerShell控制檯通過cmdlet更好地處理對象輸出比如'Format-Default'。你想在文本框中做什麼?所有這些信息?那麼你需要先將它格式化爲一個字符串。 – Matt 2014-11-02 15:52:21

+0

@ Matt-是的,我想要所有的信息。我如何將它格式化爲一個字符串?請幫忙。謝謝 – 2014-11-02 15:55:20

回答

2

就像我在我的評論說你得到你所要求的輸出。 PowerShell控制檯使用內置cmdlet處理對象輸出,如Out-Default。你說你想所有這些信息,但我猜你想要默認顯示什麼。因此,我會使結果如下

$results = Get-WinEvent -FilterHashtable @{ LogName = "application"; StartTime = "10/30/2014 12:00:01 AM"; EndTime = "10/30/2014 11:59:59 PM" } | Select provider,timecreated,id,leveldisplayname,message | Format-Table | Out-String -Width 1024 

使用Select只得到我們想要的。如果您認爲合適,請更改此項。使用Format-Table來製作固定寬度輸出,然後將其輸入到Out-String

+0

謝謝@Matt。這有幫助! – 2014-11-02 16:07:42

+0

@ Matt-如何格式化數據。到目前爲止,它是來 - http://s27.postimg.org/vei7njmab/display_submit.png 我希望它看起來適當的格式正確的列明智(就像它在PowerShell ISE中)。 – 2014-11-03 18:10:07

+1

@SanchitRasiya自從PowerShell使用像Courier這樣的固定寬度字體以來就出現了這種情況。將文本框的字體更改爲固定寬度,然後就可以了。 – Matt 2014-11-03 23:09:22