You are probably living already in a connected smart home with many devices hooked up to your network. PowerShell can help you find your devices with just a few lines of code:
$UPnPFinder = New-Object -ComObject UPnP.UPnPDeviceFinder $UPnPFinder.FindByType("upnp:rootdevice", 0)
Note that the UPnP finder component takes some time to detect your devices. The result looks like this:
IsRootDevice : True RootDevice : System.__ComObject ParentDevice : HasChildren : False Children : System.__ComObject UniqueDeviceName : uuid:73796E6F-6473-6D00-0000-001132283f5e FriendlyName : Storage2 (DS414) Type : urn:schemas-upnp-org:device:Basic:1 PresentationURL : http://192.168.2.107:5000/ ManufacturerName : Synology ManufacturerURL : http://www.synology.com/ ModelName : DS414 ModelNumber : DS414 5.1-5055 Description : Synology NAS ModelURL : http://www.synology.com/ UPC : SerialNumber : 001132283f5e Services : System.__ComObject IsRootDevice : True RootDevice : System.__ComObject ParentDevice : HasChildren : False Children : System.__ComObject UniqueDeviceName : uuid:2f402f80-da50-11e1-9b23-001788ac0af1 FriendlyName : BridgeOne (192.168.2.100) Type : urn:schemas-upnp-org:device:Basic:1 PresentationURL : http://192.168.2.100/index.html ManufacturerName : Signify ManufacturerURL : http://www.meethue.com/ ModelName : Philips hue bridge 2015 ModelNumber : BSB002 Description : Philips hue Personal Wireless Lighting ModelURL : http://www.meethue.com/ UPC : SerialNumber : 001788ac0af1 Services : System.__ComObject ...
Use Select-Object to pick the properties you find interesting:
$UPnPFinder = New-Object -ComObject UPnP.UPnPDeviceFinder $UPnPFinder.FindByType("upnp:rootdevice", 0) | Select-Object ModelName, FriendlyName, PresentationUrl | Sort-Object ModelName
In my home, the list looks like this:
ModelName FriendlyName PresentationURL --------- ------------ --------------- AFTMM Tobias's 2nd Fire TV AFTS Tobias's Fire TV AFTT Tobias's 3rd Fire TV stick DS414 Storage2 (DS414) http://192.168.2.107:5000/ NETGEAR Orbi Desktop AC3000 Router RBR50 (Gateway) http://www.orbilogin.net/ Philips hue bridge 2015 BridgeOne (192.168.2.100) http://192.168.2.100/index.html Philips hue bridge 2015 BridgeWork (192.168.2.106) http://192.168.2.106/index.html SoundTouch 20 Bad SoundTouch 30 Portable SoundTouch SA-4 Garden SoundTouch SA-4 LivingRoom
I am using a Synology NAS, and if I ever forget the URL to access it, I can now easily look it up. The same goes for my Philips Hue light system: the UPnP finder returns the IP addresses for all hubs.
Note that the UPnP finder will only find devices that are connected to the same network your computer is connected to. If the device IP address is on another subnet, it can’t be detected this way.
You are a PowerShell Professional, passionate about improving your code and skills? You take security seriously and are always looking for the latest advice and guidance to make your code more secure and faster? You’d love to connect to the vibrant PowerShell community and get in touch with other PowerShell Professionals to share tricks and experience? Then PowerShell Conference EU 2020 might be just the right place for you: https://psconf.eu (June 2-5, 2020 in Hanover, Germany).
It’s a unique mixture of classic conference with three parallel tracks filled with fast-paced PowerShell presentations, and advanced learning class with live discussions, Q&A and plenty of networking.
Secure your seat while they last: https://psconf.eu/register.html. Help build the agenda and make this “your” event by submitting hypothetical sessions you’d like to hear: https://powershell.one/psconfeu/psconf.eu-2020/reverse-cfp. And if you’d like to present yourself and join the psconf.eu speakers’ team, submit proposals: https://sessionize.com/psconfeu/.