2012-07-17 70 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

相關問題