Получить только значение, PowerShell без ключа - PullRequest
0 голосов
/ 11 сентября 2018

Здравствуйте, я использую PowerShell для определения mac-адресов для Ethernet, а также для WiFi ... этот mac-адрес будет использоваться для проверки. По команде я бы хотел получить только значение, а не ключ, а значение… что я могу хранить и проверять удаленную строку с известной строкой ...

пример: "Get-NetAdapter -Name" Wi-Fi "| Format-List -Property MacAddress" даст мне MacAddress: XX-XX-XX-XX-XX-XX

я хочу только XX-XX-XX-XX-XX-XX

Есть ли какой-нибудь файл-файл, который я могу применить без кода .. обходные пути….

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Чтобы не испортить частично приемлемый ответ vonPryz, но:

(get-wmiobject win32_networkadapter -Filter "AdapterType LIKE 'Ethernet 802.3'") | select -expand macaddress

Это даст вам все mac-адреса на вашем компьютере.

Или в списке через запятую:

(Get-WmiObject win32_networkadapterconfiguration -ComputerName $env:COMPUTERNAME | Where{$_.IpEnabled -Match "True"} | Select-Object -Expand macaddress) -join ","

Или в списке новой строки:

(Get-WmiObject win32_networkadapterconfiguration -ComputerName $env:COMPUTERNAME | Where{$_.IpEnabled -Match "True"} | Select-Object -Expand macaddress) -join "`r`n"
0 голосов
/ 11 сентября 2018

Format-List не требуется, просто получите доступ к собственности напрямую. Вот так

(Get-NetAdapter -name "wi-fi").macaddress
01-23-45-67-89-AB

Иногда вместо сокращенной записи требуется промежуточная переменная. Вот так

$wifi = Get-NetAdapter -name "wi-fi"
$wifi.MacAddress
01-23-45-67-89-AB

Если у вас есть несколько адаптеров, Select-Object может использоваться для расширения желаемого свойства. Вот так

Get-NetAdapter | ? { $_.status -eq "up" } | Select-Object -ExpandProperty macaddress
01-23-45-67-89-AB
01-23-45-67-89-CD
...