Cyb*_*nik 1 powershell scripting device instanceid
我想以字符串形式获取设备的实例 ID 并将其分配给变量
我只知道设备名称,所以当我这样做时:
Get-PnpDevice -FriendlyName 'TSP100'
Run Code Online (Sandbox Code Playgroud)
它显示:
Status Class FriendlyName InstanceId
------ ----- ------------ ------------
OK PrintQueue TSP100 SWD\PRIN...
Run Code Online (Sandbox Code Playgroud)
所以理想情况下它看起来像这样:
$env:tsp100id = (Get-PnpDevice -FriendlyName 'TSP100' *some stuff*)
Run Code Online (Sandbox Code Playgroud)
为什么不直接要求财产,像这样......
# 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
#>
Run Code Online (Sandbox Code Playgroud)
另外,只是好奇。为什么将其指定为环境条目?
至于...
另外,我将如何删除 USB\VID_05E3&PID_0610\ 并只获取 8&26FFBCBB&0&1
在这种情况下,最简单的方法就是在反斜杠上拆分。例如:
(($env:tsp100id = (Get-PnpDevice -FriendlyName 'Generic USB Hub').InstanceId[0]) -split '\\')[-1]
# Results
<#
8&26FFBCBB&0&1
#>
Run Code Online (Sandbox Code Playgroud)
这只是说在反斜杠上分开并首先对最后一个采取行动。
| 归档时间: |
|
| 查看次数: |
17461 次 |
| 最近记录: |