【Windows】 コマンドで解像度を変更する

Surface Pro4を使ってVPN経由で職場のシンクライアント環境にリモートデスクトップをすると、

解像度の問題に直面することがある。

 

  • 解像度が高すぎて、文字が見づらい
  • 接続元(Surface)の「ディスプレイ設定」(100%~200%と選択するところ)で変更しても接続先には反映されない
  • 接続先はセキュリティの制約が厳しく、解像度の変更画面が開けない

これらの状況を踏まえて、「ディスプレイの設定」⇒「詳細設定」のページで解像度を変更する事で接続先でも解像度が反映されるが、接続する度に解像度を変更したり元に戻したりを手動で行うのは面倒くさい。

 

いっそのことコマンドでやって、ワンクリックでどうにかできるようにしたいと考えた。

 

PowerShellモジュールをインストールする

MicroSoftのスクリプトセンターで以下モジュールが提供されているのでこれを使う。

https://gallery.technet.microsoft.com/scriptcenter/2a631d72-206d-4036-a3f2-2e150f297515#content

 

まず、以下ディレクトリに「Set-ScreenResolution」ディレクトリを作成。

C:\Users\[Your userName]\Documents\WindowsPowerShell\Modules

その直下に上記のモジュールを

「Set-ScreenResolution.psm1」として保存する。

C:\Users\[Your userName]\Documents\WindowsPowerShell\Modules\Set-ScreenResolution\Set-ScreenResolution.psm1

 

 

Get-Commandで Set-ScreenResolutionコマンドレットが出てくればOK

 

シンプルにスクリプトファイルとバッチファイルで済ます

Set-1680×1050.ps1ファイルを作成する。

中身は

 

Set-ScreenResolution -Width 1680 -Height 1050

と書いてあるもののみ。

 

これを呼び出した後、オフィスにリモートデスクトップ接続するためのバッチファイル

Connect-to-office.batを用意する。

 

中身は以下の通り

PowerShell [path]\Set-1680×1050.ps1

mstsc /vXXX.XXX.XXX.XXX

 

あとは会社にVPN接続さえしておけば、ワンクリックで解像度変更してRDPしてくれる。

ちなみに元に戻すバッチも同じような要領で用意した。

 

 


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です