I am using the following script to get screen resolution in Windows using WMI. The script works fine when the computer is in landscape mode but returns incorrect values when in portrait mode. Works properly in XP and did not try in Vista. Can anyone confirm this is bug in Windows 7 WMI.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_DesktopMonitor",,48)
For Each objItem in colItems
Wscript.Echo "-----------------------------------"
Wscript.Echo "Win32_DesktopMonitor instance"
Wscript.Echo "-----------------------------------"
Wscript.Echo "ScreenHeight: " & objItem.ScreenHeight
Wscript.Echo "ScreenWidth: " & objItem.ScreenWidth
Next
The Get-DisplayResolution WMI cmdlet shows the display resolution for Windows 10 computers. Use the following PowerShell script to get the current screen resolution. Provide the computer name as the parameter and run the script. The resolution of the screen will be displayed.
Description. The Get-DisplayResolution cmdlet shows the display resolution for Windows Server® 2012 in Server Core mode. For a width of 1920 pixels and a height of 1080 pixels, the cmdlet displays 1920x1080. You can use the Set-DisplayResolution cmdlet to change the resolution.
Right-click on the desktop of your computer and select "Screen resolution". Click the drop-down menu labeled "Resolution" and use the slider to select the desired screen resolution. Click "Apply".
For the record, the PowerShell code is:
Get-WmiObject -Class Win32_DesktopMonitor | Select-Object ScreenWidth,ScreenHeight
I get the same values in Landscape or in Portrait mode.
UPDATE:
In a multi monitor environment you can get the info for all monitors with:
PS> Add-Type -AssemblyName System.Windows.Forms
PS> [System.Windows.Forms.Screen]::AllScreens
BitsPerPixel : 32
Bounds : {X=0,Y=0,Width=1280,Height=800}
DeviceName : \\.\DISPLAY1
Primary : True
WorkingArea : {X=0,Y=0,Width=1280,Height=770}
BitsPerPixel : 32
Bounds : {X=1280,Y=0,Width=1920,Height=1200}
DeviceName : \\.\DISPLAY2
Primary : False
WorkingArea : {X=1280,Y=0,Width=1920,Height=1170}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With