[英]How to index a certain line within a powershell object
我是一個 powershell 初學者,嘗試使用 powershell 2.0 腳本抓取 SerialNumbers。 我不確定如何索引此列表(?)以返回 SerialNo (2390)。 這是我用來定位序列號存儲位置的命令。
PS C:\WINDOWS\system32> $currentDocument.IHTMLDocument3_getElementsByTagName("table") | Select-Object outerText | Format-List
下面是結果(--- 代表刪失數據)
outerText : Welcome to ---
Model ---
MAC Address---
Serial No.2390
Firmware Version---
System Uptime---
---
Basic Settings
---
Network Settings
---
Serial Settings
---
Operating Settings
outerText : Model Name---
MAC Address---
Serial No.2390
Firmware Version---
System Uptime---
它顯示所有的outerText 對象,並顯示兩個outerText 中保存的信息。 試圖將其設置為變量,並嘗試使用索引
$test[0]
但返回一個空行(沒有錯誤)。 有沒有辦法可以索引其中任何一個以顯示序列號?
謝謝!
編輯:也一直在玩 foreach 循環,到目前為止沒有任何返回
當您使用 Format-List 時,您將您的類型轉換為 object[],這會丟失一些您可以用來訪問變量的信息。
這種行為的簡單例子是,
$var1 = Get-Process winlogon
$var2 = Get-Process winlogon | Format-List
Write-Output "Handle for var1 -> $($var1.Handles)"
Write-Output "Handle for var2 -> $($var2.Handles)"
您可能希望 var1 和 var2 的輸出相同,但有趣的是,
輸出是
Handle for var1 -> 258
Handle for var2 ->
並且類型也會發生變化
-> $var1.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True False Process System.ComponentModel.Component
-> $var2.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
建議
如果您希望能夠訪問 OuterText 的序列號,我建議您不要使用用於獲取$test
變量的 Format-List
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.