Как использовать get-PnPdevice для получения InstanceID устройства - PullRequest
0 голосов
/ 02 февраля 2020

Я хочу получить instanceID устройства в виде строки и присвоить его переменной

Я знаю только имя устройства, поэтому, когда я делаю:

Get-PnpDevice -FriendlyName 'TSP100'

It отображает:

Status     Class           FriendlyName       InstanceId                                                              
------     -----           ------------      ------------                                                               
OK         PrintQueue      TSP100            SWD\PRIN...                                                               

, поэтому в идеале это будет выглядеть примерно так:

$env:tsp100id = (Get-PnpDevice -FriendlyName 'TSP100' *some stuff*)

1 Ответ

2 голосов
/ 02 февраля 2020

Почему бы просто не попросить недвижимость, как это ...

# Assign the first instanceId of the target device to a variable
$env:tsp100id = Get-PnpDevice -FriendlyName 'Generic USB Hub' | 
Select-Object -Property InstanceId | 
Select-Object -First 1
$env:tsp100id

# Results
<#
@{InstanceId=USB\VID_05E3&PID_0610\8&26FFBCBB&0&1}
#>

# Assign and output to the screen
($env:tsp100id = (Get-PnpDevice -FriendlyName 'Generic USB Hub').InstanceId[0])

# Results
<#
USB\VID_05E3&PID_0610\8&26FFBCBB&0&1
#>

Кроме того, просто любопытно. Почему вы назначаете это как запись среды?

Что касается ...

Также, как бы я go об удалении USB \ VID_05E3 & PID_0610 \ и получении 8 & 26FFBCBB & 0 & 1

Простейший Кстати, в этом случае просто разделить на backsla sh. Например:

(($env:tsp100id = (Get-PnpDevice -FriendlyName 'Generic USB Hub').InstanceId[0]) -split '\\')[-1]
# Results
<#
8&26FFBCBB&0&1
#>

Это просто говорит о разделении на задней панели sh и вначале выполняет действие с последним.

...