Amazon(AWS) EC2 Windows2019 インスタンスを起動させると壁紙にインスタンス情報が表示されるのだが、Windowsの個人用設定から壁紙を変更したらインスタンス情報が現れなくなってしまった。
ググってみるとEC2Configで設定すればoff/onができるて書いてあるけど、2016以降はEC2Launchというものになっていて、こいつはインスタンスを初期化するときの設定で、単に壁紙を変えたいていうこととは違う。
さらに調べるとこんなページがヒットした。

amazon ec2 - EC2上のWindows 2016+のカスタム壁紙
https://tutorialmore.com/questions-154488.htm

それによると、どうやらマシンをログインしたときに壁紙にインスタンス情報を載せてそれに置き換えるスクリプトが流れるみたい。
大元の壁紙はC:\Users\Administrator\AppData\Local\Ec2Wallpaper.jpg(これはAdministratorでの例)で、このファイルを好きな壁紙のファイルに上書きしてみて、そのスクリプトの処理を走らせればいい。

どんなスクリプトが流れるんだろうと調べてみると、
C:\ProgramData\Amazon\EC2-Windows\Launch\Module\ScriptsにSet-Wallpaper.ps1てのがあって、
中身を見るとインスタンス情報を書き込む処理が書いてあって、これをいじれば書き込む内容とかもいじれるのではてことで、文字の大きさと色を変えてみることにした。
変更前

        $fontSize = 12

        Write-Log "Rendering instance information on wallpaper"

        $width = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Width
        $height = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Height

        $textfont = New-object System.Drawing.Font($fontStyle, $fontSize, [System.Drawing.FontStyle]::Regular)
        $textBrush = New-Object Drawing.SolidBrush ([System.Drawing.Color]::White)

変更後

        $fontSize = 14  <---

        Write-Log "Rendering instance information on wallpaper"

        $width = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Width
        $height = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Height

        $textfont = New-object System.Drawing.Font($fontStyle, $fontSize, [System.Drawing.FontStyle]::Bold)  <---
        $textBrush = New-Object Drawing.SolidBrush ([System.Drawing.Color]::midnightblue) <---

これでログオフして入り直せば変更されるけど、以下のようにpowershellスクリプトを流してやれば、すぐ変更された。
powershell窓から以下のコマンドを投入。

PS C:\Users\Administrator> Import-Module "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1";
PS C:\Users\Administrator> Set-Wallpaper

その結果が冒頭の画像です。
この方法が正しいのかはわからんけど、あまりにも情報がないし、AWSのマシンで壁紙を気にする人なんていないのかね?

カテゴリー: AWS

0件のコメント

コメントを残す

アバタープレースホルダー

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください