Using powershell (or any software), how can i display the monitors id numberEnumDisplayDevices vs WMI Win32_DesktopMonitor, how to detect active monitors?How to run a PowerShell scriptHow to handle command-line arguments in PowerShellHow do I pass multiple parameters into a function in PowerShell?How do you comment out code in PowerShell?Powershell - display loading percentagesHow do I concatenate strings and variables in PowerShell?Display popup box via Powershell logon scriptobtain disk serial number from drive letterPowershell - How to use Get-WindowsOptionalFeature command to “Turn Windows Features On and Off”Palo Alto Network VPN monitoring Powershell script

How do I, as a DM, handle a party that decides to set up an ambush in a dungeon?

In linear regression why does regularisation penalise the parameter values as well?

no sense/need/point

As a GM, is it bad form to ask for a moment to think when improvising?

All of my Firefox add-ons been disabled suddenly, how can I re-enable them?

Sparring against two opponents test

Is any special diet an effective treatment of autism?

Will a God Eternal enchanted with Deep Freeze shuffle back into the deck if it dies?

How to pass hash as password to ssh server

How do I allocate more memory to an app on Sheepshaver running Mac OS 9?

Where are the "shires" in the UK?

Madam I m Adam..please don’t get mad..you will no longer be prime

Would a small hole in a Faraday cage drastically reduce its effectiveness at blocking interference?

Dihedral group D4 composition with custom labels

My large rocket is still flipping over

When did England stop being a Papal fief?

Why does sound not move through a wall?

Looking for sci-fi book based on Hinduism/Buddhism

All superlinear runtime algorithms are asymptotically equivalent to convex function?

Why did the Apollo 13 crew extend the LM landing gear?

Dirichlet series with a single zero

Speed up this NIntegrate

Is it normal for gliders not to have attitude indicators?

The Adventures of a Chocolate Cookie



Using powershell (or any software), how can i display the monitors id number


EnumDisplayDevices vs WMI Win32_DesktopMonitor, how to detect active monitors?How to run a PowerShell scriptHow to handle command-line arguments in PowerShellHow do I pass multiple parameters into a function in PowerShell?How do you comment out code in PowerShell?Powershell - display loading percentagesHow do I concatenate strings and variables in PowerShell?Display popup box via Powershell logon scriptobtain disk serial number from drive letterPowershell - How to use Get-WindowsOptionalFeature command to “Turn Windows Features On and Off”Palo Alto Network VPN monitoring Powershell script






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








1















In windows, I can use the identify button in the display control panel to display a number on each monitor corresponding to their ID in windows display manager.



Can I, preferably using powershell, show these ID temporarily just like clicking the button.
Windows display identify button



If it's not possible to get to show the ID as windows does it, would it be possible to popup a window in a specific monitor display ?



My goal is to get a monitor to show information on itself either by correlating display id with WMI information or by showing a window with the current monitor information.



For example, let's say i have 4 monitor in a 2x2 matrix. All the monitors are the same models, only thing that would change is the serial numbers. Using WMI, i can get information on the monitors, but is there a way to know which monitor is which physically?










share|improve this question






























    1















    In windows, I can use the identify button in the display control panel to display a number on each monitor corresponding to their ID in windows display manager.



    Can I, preferably using powershell, show these ID temporarily just like clicking the button.
    Windows display identify button



    If it's not possible to get to show the ID as windows does it, would it be possible to popup a window in a specific monitor display ?



    My goal is to get a monitor to show information on itself either by correlating display id with WMI information or by showing a window with the current monitor information.



    For example, let's say i have 4 monitor in a 2x2 matrix. All the monitors are the same models, only thing that would change is the serial numbers. Using WMI, i can get information on the monitors, but is there a way to know which monitor is which physically?










    share|improve this question


























      1












      1








      1


      0






      In windows, I can use the identify button in the display control panel to display a number on each monitor corresponding to their ID in windows display manager.



      Can I, preferably using powershell, show these ID temporarily just like clicking the button.
      Windows display identify button



      If it's not possible to get to show the ID as windows does it, would it be possible to popup a window in a specific monitor display ?



      My goal is to get a monitor to show information on itself either by correlating display id with WMI information or by showing a window with the current monitor information.



      For example, let's say i have 4 monitor in a 2x2 matrix. All the monitors are the same models, only thing that would change is the serial numbers. Using WMI, i can get information on the monitors, but is there a way to know which monitor is which physically?










      share|improve this question
















      In windows, I can use the identify button in the display control panel to display a number on each monitor corresponding to their ID in windows display manager.



      Can I, preferably using powershell, show these ID temporarily just like clicking the button.
      Windows display identify button



      If it's not possible to get to show the ID as windows does it, would it be possible to popup a window in a specific monitor display ?



      My goal is to get a monitor to show information on itself either by correlating display id with WMI information or by showing a window with the current monitor information.



      For example, let's say i have 4 monitor in a 2x2 matrix. All the monitors are the same models, only thing that would change is the serial numbers. Using WMI, i can get information on the monitors, but is there a way to know which monitor is which physically?







      powershell






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 23 at 20:10







      NMC

















      asked Mar 23 at 2:48









      NMCNMC

      697816




      697816






















          1 Answer
          1






          active

          oldest

          votes


















          0














          1. What have you tried?

          2. Where is your code and what is not working?

          3. What do you search for?

          There are many classes for examining virtually every part of Windows and hardware.



          Win32 Classes



          Get-WMIObject -List | 
          Where$_.name -match "^Win32_" |
          Sort Name | Out-Gridview


          Look for the ones that are for video or monitor



          Get-WMIObject -List | 
          Wheremonitor" |
          Sort Name | Out-Gridview


          Then play around with each until you see which one gives you what you need.



          Get-WmiObject win32_desktopmonitor | ft -a

          DeviceID DisplayType MonitorManufacturer Name ScreenHeight ScreenWidth
          -------- ----------- ------------------- ---- ------------ -----------
          DesktopMonitor1 Default Monitor
          DesktopMonitor2 (Standard monitor types) Generic PnP Monitor 1080 1920
          DesktopMonitor3 Lenovo Wide viewing angle & High density FlexView Display 1920x1080 1080 1920
          DesktopMonitor4 (Standard monitor types) Generic PnP Monitor 1080 1920
          DesktopMonitor5 Default Monitor
          DesktopMonitor6 Default Monitor


          For your other use case, displaying popups or toast info is well documented and there are modules you can download for that.



          Example: BurntToast




          Module for creating and displaying Toast Notifications on Microsoft
          Windows 10.




          Are you saying you are trying to replicate what the Windows Settings provide as a permanent display like say BGInfo does?



          That is a whole project, not a simple script.



          Update for the OP



          Understood, and as per my response, I have 4 monitor on my laptop, Well 3 external and the laptop monitor.



          For correlation of course that means using combined results from other cmdlets / classes.



          Example:



          Get-CimInstance -ClassName win32_desktopmonitor | 
          Select Name, DeviceID, PNPDeviceID |
          ft -a

          Name DeviceID PNPDeviceID
          ---- -------- -----------
          Default Monitor DesktopMonitor1
          Generic PnP Monitor DesktopMonitor2 DISPLAYACI27F68&5458763&0&UID256
          Wide viewing angle & High density FlexView Display 1920x1080 DesktopMonitor3 DISPLAYLEN41214&90CEFB8&0&UID265988
          Generic PnP Monitor DesktopMonitor4 DISPLAYACI21839&2E298509&0&UID256
          Default Monitor DesktopMonitor5
          Default Monitor DesktopMonitor6



          (Get-CimInstance -ClassName Win32_PnPEntity) -match 'monitor' |
          Select Name, Manufacturer, HardwareID, PNPDeviceID |
          ft -a

          Name Manufacturer HardwareID PNPDeviceID
          ---- ------------ ---------- -----------
          Generic PnP Monitor (Standard monitor types) MONITORACI27F6 DISPLAYACI27F68&5458763&0&UID256
          Generic PnP Monitor (Standard monitor types) MONITORACI27F6 DISPLAYACI27F68&5458763&0&UID257
          Generic PnP Monitor (Standard monitor types) MONITORACI2183 DISPLAYACI21839&2E298509&0&UID256
          WAN Miniport (Network Monitor) Microsoft ms_ndiswanbh SWDMSRRASMS_NDISWANBH


          Yet, even here, it gets hinky with matching up the PNPDeviceID's for identical vendor monitor types.



          Again, this why what you are asking for is a real project. NNot just a simple script. Meaning it may require very potentially diving in to C++ code to get the depth control need to do the. The code has to get to the settings, drivers, adapter to do this. Then combine all that together. That is a good deal of work, and not something that can prudently be handled on a Q&A like this.



          Example see this Q&A.



          EnumDisplayDevices vs WMI Win32_DesktopMonitor, how to detect active monitors



          What you see and get in Windows settings, is implemented via several under the cover libraries (DLL) to do this reliably, which you first need to discover to consume and learn how to use or writing your own.



          We all love us some PowerShell, but it is not the answer to everything standalone.



          Burnt toast will only pop where the system tray is docked.



          So, you now would have to write your own GUI form(s) (WPF) to position on whatever screen as needed.






          share|improve this answer

























          • Like you said, getting information on the monitors is easy. What i'm not able to do is to correlate the DeviceID with the physical monitor. Let's say for example i have 4 monitor on the same computer. These monitors are the same models. How can i know which one is which using a script. Burntoast looks nice, but can i chose which screen the toast is displayed ?

            – NMC
            Mar 23 at 20:06











          • See my update for you.

            – postanote
            Mar 23 at 21:15











          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55310148%2fusing-powershell-or-any-software-how-can-i-display-the-monitors-id-number%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          1. What have you tried?

          2. Where is your code and what is not working?

          3. What do you search for?

          There are many classes for examining virtually every part of Windows and hardware.



          Win32 Classes



          Get-WMIObject -List | 
          Where$_.name -match "^Win32_" |
          Sort Name | Out-Gridview


          Look for the ones that are for video or monitor



          Get-WMIObject -List | 
          Wheremonitor" |
          Sort Name | Out-Gridview


          Then play around with each until you see which one gives you what you need.



          Get-WmiObject win32_desktopmonitor | ft -a

          DeviceID DisplayType MonitorManufacturer Name ScreenHeight ScreenWidth
          -------- ----------- ------------------- ---- ------------ -----------
          DesktopMonitor1 Default Monitor
          DesktopMonitor2 (Standard monitor types) Generic PnP Monitor 1080 1920
          DesktopMonitor3 Lenovo Wide viewing angle & High density FlexView Display 1920x1080 1080 1920
          DesktopMonitor4 (Standard monitor types) Generic PnP Monitor 1080 1920
          DesktopMonitor5 Default Monitor
          DesktopMonitor6 Default Monitor


          For your other use case, displaying popups or toast info is well documented and there are modules you can download for that.



          Example: BurntToast




          Module for creating and displaying Toast Notifications on Microsoft
          Windows 10.




          Are you saying you are trying to replicate what the Windows Settings provide as a permanent display like say BGInfo does?



          That is a whole project, not a simple script.



          Update for the OP



          Understood, and as per my response, I have 4 monitor on my laptop, Well 3 external and the laptop monitor.



          For correlation of course that means using combined results from other cmdlets / classes.



          Example:



          Get-CimInstance -ClassName win32_desktopmonitor | 
          Select Name, DeviceID, PNPDeviceID |
          ft -a

          Name DeviceID PNPDeviceID
          ---- -------- -----------
          Default Monitor DesktopMonitor1
          Generic PnP Monitor DesktopMonitor2 DISPLAYACI27F68&5458763&0&UID256
          Wide viewing angle & High density FlexView Display 1920x1080 DesktopMonitor3 DISPLAYLEN41214&90CEFB8&0&UID265988
          Generic PnP Monitor DesktopMonitor4 DISPLAYACI21839&2E298509&0&UID256
          Default Monitor DesktopMonitor5
          Default Monitor DesktopMonitor6



          (Get-CimInstance -ClassName Win32_PnPEntity) -match 'monitor' |
          Select Name, Manufacturer, HardwareID, PNPDeviceID |
          ft -a

          Name Manufacturer HardwareID PNPDeviceID
          ---- ------------ ---------- -----------
          Generic PnP Monitor (Standard monitor types) MONITORACI27F6 DISPLAYACI27F68&5458763&0&UID256
          Generic PnP Monitor (Standard monitor types) MONITORACI27F6 DISPLAYACI27F68&5458763&0&UID257
          Generic PnP Monitor (Standard monitor types) MONITORACI2183 DISPLAYACI21839&2E298509&0&UID256
          WAN Miniport (Network Monitor) Microsoft ms_ndiswanbh SWDMSRRASMS_NDISWANBH


          Yet, even here, it gets hinky with matching up the PNPDeviceID's for identical vendor monitor types.



          Again, this why what you are asking for is a real project. NNot just a simple script. Meaning it may require very potentially diving in to C++ code to get the depth control need to do the. The code has to get to the settings, drivers, adapter to do this. Then combine all that together. That is a good deal of work, and not something that can prudently be handled on a Q&A like this.



          Example see this Q&A.



          EnumDisplayDevices vs WMI Win32_DesktopMonitor, how to detect active monitors



          What you see and get in Windows settings, is implemented via several under the cover libraries (DLL) to do this reliably, which you first need to discover to consume and learn how to use or writing your own.



          We all love us some PowerShell, but it is not the answer to everything standalone.



          Burnt toast will only pop where the system tray is docked.



          So, you now would have to write your own GUI form(s) (WPF) to position on whatever screen as needed.






          share|improve this answer

























          • Like you said, getting information on the monitors is easy. What i'm not able to do is to correlate the DeviceID with the physical monitor. Let's say for example i have 4 monitor on the same computer. These monitors are the same models. How can i know which one is which using a script. Burntoast looks nice, but can i chose which screen the toast is displayed ?

            – NMC
            Mar 23 at 20:06











          • See my update for you.

            – postanote
            Mar 23 at 21:15















          0














          1. What have you tried?

          2. Where is your code and what is not working?

          3. What do you search for?

          There are many classes for examining virtually every part of Windows and hardware.



          Win32 Classes



          Get-WMIObject -List | 
          Where$_.name -match "^Win32_" |
          Sort Name | Out-Gridview


          Look for the ones that are for video or monitor



          Get-WMIObject -List | 
          Wheremonitor" |
          Sort Name | Out-Gridview


          Then play around with each until you see which one gives you what you need.



          Get-WmiObject win32_desktopmonitor | ft -a

          DeviceID DisplayType MonitorManufacturer Name ScreenHeight ScreenWidth
          -------- ----------- ------------------- ---- ------------ -----------
          DesktopMonitor1 Default Monitor
          DesktopMonitor2 (Standard monitor types) Generic PnP Monitor 1080 1920
          DesktopMonitor3 Lenovo Wide viewing angle & High density FlexView Display 1920x1080 1080 1920
          DesktopMonitor4 (Standard monitor types) Generic PnP Monitor 1080 1920
          DesktopMonitor5 Default Monitor
          DesktopMonitor6 Default Monitor


          For your other use case, displaying popups or toast info is well documented and there are modules you can download for that.



          Example: BurntToast




          Module for creating and displaying Toast Notifications on Microsoft
          Windows 10.




          Are you saying you are trying to replicate what the Windows Settings provide as a permanent display like say BGInfo does?



          That is a whole project, not a simple script.



          Update for the OP



          Understood, and as per my response, I have 4 monitor on my laptop, Well 3 external and the laptop monitor.



          For correlation of course that means using combined results from other cmdlets / classes.



          Example:



          Get-CimInstance -ClassName win32_desktopmonitor | 
          Select Name, DeviceID, PNPDeviceID |
          ft -a

          Name DeviceID PNPDeviceID
          ---- -------- -----------
          Default Monitor DesktopMonitor1
          Generic PnP Monitor DesktopMonitor2 DISPLAYACI27F68&5458763&0&UID256
          Wide viewing angle & High density FlexView Display 1920x1080 DesktopMonitor3 DISPLAYLEN41214&90CEFB8&0&UID265988
          Generic PnP Monitor DesktopMonitor4 DISPLAYACI21839&2E298509&0&UID256
          Default Monitor DesktopMonitor5
          Default Monitor DesktopMonitor6



          (Get-CimInstance -ClassName Win32_PnPEntity) -match 'monitor' |
          Select Name, Manufacturer, HardwareID, PNPDeviceID |
          ft -a

          Name Manufacturer HardwareID PNPDeviceID
          ---- ------------ ---------- -----------
          Generic PnP Monitor (Standard monitor types) MONITORACI27F6 DISPLAYACI27F68&5458763&0&UID256
          Generic PnP Monitor (Standard monitor types) MONITORACI27F6 DISPLAYACI27F68&5458763&0&UID257
          Generic PnP Monitor (Standard monitor types) MONITORACI2183 DISPLAYACI21839&2E298509&0&UID256
          WAN Miniport (Network Monitor) Microsoft ms_ndiswanbh SWDMSRRASMS_NDISWANBH


          Yet, even here, it gets hinky with matching up the PNPDeviceID's for identical vendor monitor types.



          Again, this why what you are asking for is a real project. NNot just a simple script. Meaning it may require very potentially diving in to C++ code to get the depth control need to do the. The code has to get to the settings, drivers, adapter to do this. Then combine all that together. That is a good deal of work, and not something that can prudently be handled on a Q&A like this.



          Example see this Q&A.



          EnumDisplayDevices vs WMI Win32_DesktopMonitor, how to detect active monitors



          What you see and get in Windows settings, is implemented via several under the cover libraries (DLL) to do this reliably, which you first need to discover to consume and learn how to use or writing your own.



          We all love us some PowerShell, but it is not the answer to everything standalone.



          Burnt toast will only pop where the system tray is docked.



          So, you now would have to write your own GUI form(s) (WPF) to position on whatever screen as needed.






          share|improve this answer

























          • Like you said, getting information on the monitors is easy. What i'm not able to do is to correlate the DeviceID with the physical monitor. Let's say for example i have 4 monitor on the same computer. These monitors are the same models. How can i know which one is which using a script. Burntoast looks nice, but can i chose which screen the toast is displayed ?

            – NMC
            Mar 23 at 20:06











          • See my update for you.

            – postanote
            Mar 23 at 21:15













          0












          0








          0







          1. What have you tried?

          2. Where is your code and what is not working?

          3. What do you search for?

          There are many classes for examining virtually every part of Windows and hardware.



          Win32 Classes



          Get-WMIObject -List | 
          Where$_.name -match "^Win32_" |
          Sort Name | Out-Gridview


          Look for the ones that are for video or monitor



          Get-WMIObject -List | 
          Wheremonitor" |
          Sort Name | Out-Gridview


          Then play around with each until you see which one gives you what you need.



          Get-WmiObject win32_desktopmonitor | ft -a

          DeviceID DisplayType MonitorManufacturer Name ScreenHeight ScreenWidth
          -------- ----------- ------------------- ---- ------------ -----------
          DesktopMonitor1 Default Monitor
          DesktopMonitor2 (Standard monitor types) Generic PnP Monitor 1080 1920
          DesktopMonitor3 Lenovo Wide viewing angle & High density FlexView Display 1920x1080 1080 1920
          DesktopMonitor4 (Standard monitor types) Generic PnP Monitor 1080 1920
          DesktopMonitor5 Default Monitor
          DesktopMonitor6 Default Monitor


          For your other use case, displaying popups or toast info is well documented and there are modules you can download for that.



          Example: BurntToast




          Module for creating and displaying Toast Notifications on Microsoft
          Windows 10.




          Are you saying you are trying to replicate what the Windows Settings provide as a permanent display like say BGInfo does?



          That is a whole project, not a simple script.



          Update for the OP



          Understood, and as per my response, I have 4 monitor on my laptop, Well 3 external and the laptop monitor.



          For correlation of course that means using combined results from other cmdlets / classes.



          Example:



          Get-CimInstance -ClassName win32_desktopmonitor | 
          Select Name, DeviceID, PNPDeviceID |
          ft -a

          Name DeviceID PNPDeviceID
          ---- -------- -----------
          Default Monitor DesktopMonitor1
          Generic PnP Monitor DesktopMonitor2 DISPLAYACI27F68&5458763&0&UID256
          Wide viewing angle & High density FlexView Display 1920x1080 DesktopMonitor3 DISPLAYLEN41214&90CEFB8&0&UID265988
          Generic PnP Monitor DesktopMonitor4 DISPLAYACI21839&2E298509&0&UID256
          Default Monitor DesktopMonitor5
          Default Monitor DesktopMonitor6



          (Get-CimInstance -ClassName Win32_PnPEntity) -match 'monitor' |
          Select Name, Manufacturer, HardwareID, PNPDeviceID |
          ft -a

          Name Manufacturer HardwareID PNPDeviceID
          ---- ------------ ---------- -----------
          Generic PnP Monitor (Standard monitor types) MONITORACI27F6 DISPLAYACI27F68&5458763&0&UID256
          Generic PnP Monitor (Standard monitor types) MONITORACI27F6 DISPLAYACI27F68&5458763&0&UID257
          Generic PnP Monitor (Standard monitor types) MONITORACI2183 DISPLAYACI21839&2E298509&0&UID256
          WAN Miniport (Network Monitor) Microsoft ms_ndiswanbh SWDMSRRASMS_NDISWANBH


          Yet, even here, it gets hinky with matching up the PNPDeviceID's for identical vendor monitor types.



          Again, this why what you are asking for is a real project. NNot just a simple script. Meaning it may require very potentially diving in to C++ code to get the depth control need to do the. The code has to get to the settings, drivers, adapter to do this. Then combine all that together. That is a good deal of work, and not something that can prudently be handled on a Q&A like this.



          Example see this Q&A.



          EnumDisplayDevices vs WMI Win32_DesktopMonitor, how to detect active monitors



          What you see and get in Windows settings, is implemented via several under the cover libraries (DLL) to do this reliably, which you first need to discover to consume and learn how to use or writing your own.



          We all love us some PowerShell, but it is not the answer to everything standalone.



          Burnt toast will only pop where the system tray is docked.



          So, you now would have to write your own GUI form(s) (WPF) to position on whatever screen as needed.






          share|improve this answer















          1. What have you tried?

          2. Where is your code and what is not working?

          3. What do you search for?

          There are many classes for examining virtually every part of Windows and hardware.



          Win32 Classes



          Get-WMIObject -List | 
          Where$_.name -match "^Win32_" |
          Sort Name | Out-Gridview


          Look for the ones that are for video or monitor



          Get-WMIObject -List | 
          Wheremonitor" |
          Sort Name | Out-Gridview


          Then play around with each until you see which one gives you what you need.



          Get-WmiObject win32_desktopmonitor | ft -a

          DeviceID DisplayType MonitorManufacturer Name ScreenHeight ScreenWidth
          -------- ----------- ------------------- ---- ------------ -----------
          DesktopMonitor1 Default Monitor
          DesktopMonitor2 (Standard monitor types) Generic PnP Monitor 1080 1920
          DesktopMonitor3 Lenovo Wide viewing angle & High density FlexView Display 1920x1080 1080 1920
          DesktopMonitor4 (Standard monitor types) Generic PnP Monitor 1080 1920
          DesktopMonitor5 Default Monitor
          DesktopMonitor6 Default Monitor


          For your other use case, displaying popups or toast info is well documented and there are modules you can download for that.



          Example: BurntToast




          Module for creating and displaying Toast Notifications on Microsoft
          Windows 10.




          Are you saying you are trying to replicate what the Windows Settings provide as a permanent display like say BGInfo does?



          That is a whole project, not a simple script.



          Update for the OP



          Understood, and as per my response, I have 4 monitor on my laptop, Well 3 external and the laptop monitor.



          For correlation of course that means using combined results from other cmdlets / classes.



          Example:



          Get-CimInstance -ClassName win32_desktopmonitor | 
          Select Name, DeviceID, PNPDeviceID |
          ft -a

          Name DeviceID PNPDeviceID
          ---- -------- -----------
          Default Monitor DesktopMonitor1
          Generic PnP Monitor DesktopMonitor2 DISPLAYACI27F68&5458763&0&UID256
          Wide viewing angle & High density FlexView Display 1920x1080 DesktopMonitor3 DISPLAYLEN41214&90CEFB8&0&UID265988
          Generic PnP Monitor DesktopMonitor4 DISPLAYACI21839&2E298509&0&UID256
          Default Monitor DesktopMonitor5
          Default Monitor DesktopMonitor6



          (Get-CimInstance -ClassName Win32_PnPEntity) -match 'monitor' |
          Select Name, Manufacturer, HardwareID, PNPDeviceID |
          ft -a

          Name Manufacturer HardwareID PNPDeviceID
          ---- ------------ ---------- -----------
          Generic PnP Monitor (Standard monitor types) MONITORACI27F6 DISPLAYACI27F68&5458763&0&UID256
          Generic PnP Monitor (Standard monitor types) MONITORACI27F6 DISPLAYACI27F68&5458763&0&UID257
          Generic PnP Monitor (Standard monitor types) MONITORACI2183 DISPLAYACI21839&2E298509&0&UID256
          WAN Miniport (Network Monitor) Microsoft ms_ndiswanbh SWDMSRRASMS_NDISWANBH


          Yet, even here, it gets hinky with matching up the PNPDeviceID's for identical vendor monitor types.



          Again, this why what you are asking for is a real project. NNot just a simple script. Meaning it may require very potentially diving in to C++ code to get the depth control need to do the. The code has to get to the settings, drivers, adapter to do this. Then combine all that together. That is a good deal of work, and not something that can prudently be handled on a Q&A like this.



          Example see this Q&A.



          EnumDisplayDevices vs WMI Win32_DesktopMonitor, how to detect active monitors



          What you see and get in Windows settings, is implemented via several under the cover libraries (DLL) to do this reliably, which you first need to discover to consume and learn how to use or writing your own.



          We all love us some PowerShell, but it is not the answer to everything standalone.



          Burnt toast will only pop where the system tray is docked.



          So, you now would have to write your own GUI form(s) (WPF) to position on whatever screen as needed.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Mar 23 at 21:17

























          answered Mar 23 at 7:05









          postanotepostanote

          4,2912411




          4,2912411












          • Like you said, getting information on the monitors is easy. What i'm not able to do is to correlate the DeviceID with the physical monitor. Let's say for example i have 4 monitor on the same computer. These monitors are the same models. How can i know which one is which using a script. Burntoast looks nice, but can i chose which screen the toast is displayed ?

            – NMC
            Mar 23 at 20:06











          • See my update for you.

            – postanote
            Mar 23 at 21:15

















          • Like you said, getting information on the monitors is easy. What i'm not able to do is to correlate the DeviceID with the physical monitor. Let's say for example i have 4 monitor on the same computer. These monitors are the same models. How can i know which one is which using a script. Burntoast looks nice, but can i chose which screen the toast is displayed ?

            – NMC
            Mar 23 at 20:06











          • See my update for you.

            – postanote
            Mar 23 at 21:15
















          Like you said, getting information on the monitors is easy. What i'm not able to do is to correlate the DeviceID with the physical monitor. Let's say for example i have 4 monitor on the same computer. These monitors are the same models. How can i know which one is which using a script. Burntoast looks nice, but can i chose which screen the toast is displayed ?

          – NMC
          Mar 23 at 20:06





          Like you said, getting information on the monitors is easy. What i'm not able to do is to correlate the DeviceID with the physical monitor. Let's say for example i have 4 monitor on the same computer. These monitors are the same models. How can i know which one is which using a script. Burntoast looks nice, but can i chose which screen the toast is displayed ?

          – NMC
          Mar 23 at 20:06













          See my update for you.

          – postanote
          Mar 23 at 21:15





          See my update for you.

          – postanote
          Mar 23 at 21:15



















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55310148%2fusing-powershell-or-any-software-how-can-i-display-the-monitors-id-number%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          SQL error code 1064 with creating Laravel foreign keysForeign key constraints: When to use ON UPDATE and ON DELETEDropping column with foreign key Laravel error: General error: 1025 Error on renameLaravel SQL Can't create tableLaravel Migration foreign key errorLaravel php artisan migrate:refresh giving a syntax errorSQLSTATE[42S01]: Base table or view already exists or Base table or view already exists: 1050 Tableerror in migrating laravel file to xampp serverSyntax error or access violation: 1064:syntax to use near 'unsigned not null, modelName varchar(191) not null, title varchar(191) not nLaravel cannot create new table field in mysqlLaravel 5.7:Last migration creates table but is not registered in the migration table

          용인 삼성생명 블루밍스 목차 통계 역대 감독 선수단 응원단 경기장 같이 보기 외부 링크 둘러보기 메뉴samsungblueminx.comeh선수 명단용인 삼성생명 블루밍스용인 삼성생명 블루밍스ehsamsungblueminx.comeheheheh

          155 수학 과학 기타 둘러보기 메뉴eh추가해eh문서를 완성해