4

所以,我找到了一些程序,可以从本地网络搜索 UPnP 设备,但我在 Powershell 中找不到相同的实现。也许有人可以告诉,如何使用 UPnP 编写 Powershell 脚本来搜索设备?

4

3 回答 3

5

对于这个问题,我得到了帮助。所以我的问题有答案,如果有人需要的话。PS中的代码应该是这样的:

$finder = New-Object -ComObject UPnP.UPnPDeviceFinder;
$devices = $finder.FindByType("upnp:rootdevice", 0)
foreach($device in $devices)
{
    Write-Host -ForegroundColor Red ---------------------------------------------
    Write-Host -ForegroundColor Green Device Name: $device.FriendlyName
    Write-Host -ForegroundColor Green Unique Device Name: $device.UniqueDeviceName
    Write-Host -ForegroundColor Green Description: $device.Description
    Write-Host -ForegroundColor Green Model Name: $device.ModelName
    Write-Host -ForegroundColor Green Model Number: $device.ModelNumber
    Write-Host -ForegroundColor Green Serial Number: $device.SerialNumber
    Write-Host -ForegroundColor Green Manufacturer Name: $device.ManufacturerName
    Write-Host -ForegroundColor Green Manufacturer URL: $device.ManufacturerURL
    Write-Host -ForegroundColor Green Type: $device.Type
}
于 2012-07-24T08:29:34.773 回答
0

您会对 Microsoft UPnP API,特别是IUPnPDeviceFinder 感兴趣。我对 Powershell 的了解还不够,无法判断您是否可以直接使用 API,或者您可能需要一些像这个这样的胶水 .NET 库。

于 2012-07-17T14:20:13.867 回答
0
$finder = New-Object -ComObject UPnP.UPnPDeviceFinder
$finder.FindByType('ssdp:all', 0)
于 2020-12-30T10:46:47.993 回答