我想从Web服务器上获取一些数据,并遇到一个问题,即我无法正确处理返回对象,因为PowerShell似乎只是在等待它的无限期加载。
# Get a HtmlWebResponseObject
$Root = Invoke-WebRequest -Uri $BaseUrl -SessionVariable 'Session'
然后在大多数网页上,我可以与生成的对象进行交互:
PS> $Root | Measure Count : 1 Average : Sum : Maximum : Minimum : Property : PS> $Root.Links | Measure Count : 412 Average : Sum : Maximum : Minimum : Property :
但是,在某些情况下,对$Root.Links | Measure
的调用似乎冻结了PowerShell。即使尝试使用$Links = $Root.Links
将其复制到另一个对象,也会锁定PowerShell(我让它坐了一个多小时)。再次按下 Ctrl + C 取消是再次与PowerShell窗口进行交互的唯一方法。有趣的是,复制整个对象$Root1 = $Root
确实可行
我将如何分析出了什么问题?我的powershell.exe
的内存级别不超过70 MB,因此对我来说似乎很合理。