使用 powershell 重新排列显示

Cra*_*Spy 5 powershell multiple-monitors screen

我有一台有两个屏幕的机器。由于某种原因,当我在 Windows 显示设置上重新排列显示时,我的 Windows 没有保留配置。

实际上我的显示器被列为

!-------!!-------!
!       !!       !
!   2   !!   1   !
!       !!       !
!-------!!-------!
Run Code Online (Sandbox Code Playgroud)

我想然后

!-------!!-------!
!       !!       !
!   1   !!   2   !
!       !!       !
!-------!!-------!
Run Code Online (Sandbox Code Playgroud)

此 powershell 代码返回给我显示属性:

Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Screen]::AllScreens

BitsPerPixel : 32
Bounds       : {X=0,Y=0,Width=1920,Height=1080}
DeviceName   : \\.\DISPLAY4
Primary      : True
WorkingArea  : {X=0,Y=0,Width=1920,Height=1040}

BitsPerPixel : 32
Bounds       : {X=-1920,Y=0,Width=1920,Height=1080}
DeviceName   : \\.\DISPLAY5
Primary      : False
WorkingArea  : {X=-1920,Y=0,Width=1920,Height=1040}
Run Code Online (Sandbox Code Playgroud)

想知道在powershell中是否有任何方法可以设置秒显示的WorkingArea和Bounds属性。

我需要从

Bounds       : {X=-1920,Y=0,Width=1920,Height=1080}
WorkingArea  : {X=-1920,Y=0,Width=1920,Height=1040}
Run Code Online (Sandbox Code Playgroud)

Bounds       : {X=1920,Y=0,Width=1920,Height=1080}
WorkingArea  : {X=1920,Y=0,Width=1920,Height=1040}
Run Code Online (Sandbox Code Playgroud)

如果我有一个代码可以做到这一点,我可以在登录电脑时自动运行该代码,并且我将自动执行重新排列显示器的日常繁琐任务。

有什么建议吗?