當我在Powershell(v3安裝)中觀察到一些奇怪的行爲時,我正在製作一個簡單的演示腳本。Powershell:GetType導致下載的奇怪行爲
$file = ls 'C:\temp' | Where-Object {$_.Extension -eq '.txt'}
$file.FullName
#$file.GetType()
dir 'c:\temp'
非常良性的權利?它按預期運行(假設你有一個c:\ temp目錄,並且裏面有一個txt文件)。但是,取消註釋$ file.GetType()行後面的dir行不再提供簡單的目錄列表。相反,它會給出目錄中所有項目的詳細列表。我嘗試將GetType輸出爲out-null,然後dir再次正常工作,但我似乎無法完成GetType並在之後列出目錄。
所以我很好奇,調用GetType是什麼造成了其他cmdlet下游的更改?任何人都可以解釋造成它的機制嗎?
此外,我嘗試了一些其他方法,發現一些導致問題(如GetAccessControl)和其他問題(如GetHashCode)。所以這不僅僅是通過調用方法,某些方法會導致行爲。
建議報告此[這裏](http://connect.microsoft.com/PowerShell) – 2013-04-23 18:10:06