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のマシンで壁紙を気にする人なんていないのかね?
0件のコメント