2017-01-13 20 views
0
$MAC = arp -a $address | Select-String ('([0-9a-f]{2}-){5}[0-9a-f]{2}') 

MACアドレスをフィルタリングしていません。それは私に完全な出力を示しています。MACアドレスの取得arp -a

+0

どのMACアドレスを取得しますか? –

+2

'... |オブジェクトの選択 - 一致| Select-Object-Value Value' –

+0

達成しようとしているのは何ですか? – YanivK

答えて

0

アンスガーは、すでに指摘したように、あなたがたMatchオブジェクトからValueプロパティ値をお勧めします:

$MAC = arp -a $address | Select-String '([0-9a-f]{2}-){5}[0-9a-f]{2}' | Select-Object -Expand Matches | Select-Object -Expand Value 

や、プロパティの列挙を使用して:

$MAC = (arp -a $address | Select-String '([0-9a-f]{2}-){5}[0-9a-f]{2}').Matches.Value 
0

テンプレート

を使用することができます
[email protected]" 
{row*: {IP:0\.0\.0\.0}   {Mac:54-64-d9-6d-28-a3}  {TypeAdress:dynamique}} 
{row*: {IP:255\.255\.255\.255}   {Mac:ff-ff-ff-ff-ff-ff}  {TypeAdress:statique}} 
"@ 

#you can then filter directly 
arp -a '192.168.0.1' | ConvertFrom-String -TemplateContent $template | select {$_.Row.Mac} 

# or you can filter after 
arp -a | ConvertFrom-String -TemplateContent $template | where {$_.Row.IP -eq '192.168.0.1'} | select {$_.Row.Mac} 

#you can too get list of object like this 
arp -a | ConvertFrom-String -TemplateContent $template | %{[pscustomobject]@{IP=$_.Row.IP;MAC=$_.Row.Mac;Type=$_.Row.TypeAdress}} 
関連する問題