Get-Content : パス 'SSM\InstanceData\registration' が存在しないため検出できません。

2023/11/01に公開

概要

windows server 2022にRDPするためにSSM agentを公式の方法でインストールしようと以下のコマンドを実行したところ・・・

$code = "activation-code"
$id = "activation-id"
$region = "region"
$dir = $env:TEMP + "\ssm"
New-Item -ItemType directory -Path $dir -Force
cd $dir
(New-Object System.Net.WebClient).DownloadFile("https://amazon-ssm-$region.s3.$region.amazonaws.com/latest/windows_amd64/AmazonSSMAgentSetup.exe", $dir + "\AmazonSSMAgentSetup.exe")
Start-Process .\AmazonSSMAgentSetup.exe -ArgumentList @("/q", "/log", "install.log", "CODE=$code", "ID=$id", "REGION=$region") -Wait
Get-Content ($env:ProgramData + "\Amazon\SSM\InstanceData\registration")
Get-Service -Name "AmazonSSMAgent"

以下のエラーが出てしまった。

PS C:\Users\root\AppData\Local\Temp\ssm> Get-Content ($env:ProgramData + "\Amazon\SSM\InstanceData\registration")

Get-Content : パス 'C:\ProgramData\Amazon\SSM\InstanceData\registration' が存在しないため検出できません。

発生場所 行:1 文字:12

+ Get-Content <<<<  ($env:ProgramData + "\Amazon\SSM\InstanceData\registration")

    + CategoryInfo          : ObjectNotFound: (C:\ProgramData\...ta\registration:String) [Get-Content]、ItemNotFoundException

    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand

調査内容

Start-Process .\AmazonSSMAgentSetup.exe -ArgumentList @("/q", "/log", "install.log", "CODE=$code", "ID=$id", "REGION=$region") -Wait

でログを出してるみたいなので$env:TEMPで指定してたtempフォルダ内のログを見てみると

2023-11-01 12:16:59 ERROR Registration failed due to error registering the instance with AWS SSM. ActivationExpired:

の記述を確認

どうやらアクティベーションの期限切れの様なので作り直してコマンドを再実行したらいけた

結論

ログを見よう

GitHubで編集を提案

Discussion