2012-07-17 61 views
2

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

+0

查看我的评论,你没有得到第二级加设备与你的代码。级别含义比嵌套的第二级更深。 – 2012-09-04 08:27:42

回答

0

您会对Microsoft UPnP API感兴趣,特别是IUPnPDeviceFinder。我对Powershell不太了解,不知道是否可以直接使用这些API,或者您需要一些粘贴.NET库(例如this one)。

3

对于这个问题,我得到了帮助。所以如果有人需要它,我的问题就有了答案。 在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 
} 
+0

你是否意识到这不会给你位于你正在循环的设备下的设备?你只能获得一个深度的设备。您需要为每个设备执行相同的操作(如上所述),将它们添加到您的设备集合中,直到没有其他设备具有尚未添加的子设备。如果你想要的代码,我已经在vb6中做过。 – 2012-09-04 08:25:55

相关问题