Вам необходимо работать с модулем AWS Powershell.
Хитрость здесь заключается в работе с функцией 2-х командлетов - Get-EC2instance
и Get-EC2KeyPair
. Прежде всего, вам необходимо получить все ключи, которые используются сейчас. Позже вам нужно получить все пары ключей и отфильтровать их по основным для каждого оператора if.
Взгляните на следующий фрагмент кода:
Import-Module AWSPowerShell
$keysInUse = @()
$keysNotInUse = @()
#Set AWS Credential
Set-AWSCredential -AccessKey "AccessKey" -SecretKey "SecretKey"
#Get ec2 key name from each instance
$allInstancesKeys = (Get-EC2instance -Region "YourRegion").Instances.KeyName
#Get all key based on region and check if there's an instance who use this key
Get-EC2KeyPair -Region "YourRegion" | % {
if($_.KeyName -notin $allInstancesKeys)
{
$keysNotInUse += $_.KeyName
}
else
{
$keysInUse += $_.KeyName
}
}
Write-Output "Keys not in use: $($keysNotInUse -join ',')\n
Keys in use: $($keysInUse -join ',')"
Экземпляры, которыми я владею, и ключимя:
Вывод:
Как создать новыйAccessKey и SecretKey - Управление ключами доступа для вашей учетной записи AWS .
Установка модуля AWSPowerShell.
Подробнее о командлете Get-EC2KeyPair.
Из документов:
Описывает указанные пары ключей или все ваши пары ключей.
Подробнее о Get-EC2instance
Возвращает информацию о ваших экземплярах.