Почему Get-EC2PasswordData возвращает "Неверный параметр"?
Я использую PowerShell для вызова Get-EC2PasswordData следующим образом:
$instances = (Get-EC2Instance -Filter @($envFilter, $stateFilter)).Instances
$instances | Foreach-object {
$instID = $_.InstanceId
Write-Host Getting password to $instID...
$password = Get-EC2PasswordData -InstanceId $instID -PemFile "c:\my.pem" -Decrypt
Write-Host Username/Password for $_.PrivateIpAddress is Administrator/$password
}
И я получаю следующее:
Getting password to i-3e961280 ...
Get-EC2PasswordData : Value cannot be null.
Parameter name: s
At C:\temp\CIS-aws-volumes\copyToMachine.ps1:12 char:17
+ $password = Get-EC2PasswordData -InstanceId $instID -PemFile "c:\docs\ssh\ci ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Amazon.PowerShe...swordDataCmdlet:GetEC2PasswordDataCmdlet) [Get-EC2
PasswordData], ArgumentNullException
+ FullyQualifiedErrorId : InvalidOperationException,Amazon.PowerShell.Cmdlets.EC2.GetEC2PasswordDataCmdlet
Username/Password for 10.185.30.124 is Administrator/
Что означает "Get-EC2PasswordData: значение не может быть нулевым". имею в виду? Я не передаю никаких нулевых значений.
1 ответ
Оказывается, ответ заключается в том, что пароль еще не доступен. Вам просто нужно немного подождать, пока машина подойдет. Вы также обнаружите, что вы также не можете получить пароль администратора Windows в консоли (хотя ti дает гораздо более интуитивное сообщение).
Если вы долго ждали, возможно, это связано с тем, что ваш Ec2ConfigService не настроен на машине для сброса пароля. Возможно, вам потребуется изменить "C:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml". Там вы найдете кусок в верхней части, как это:
<Plugin>
<Name>Ec2SetPassword</Name>
<State>Disabled</State>
</Plugin>
Измените "Отключено" на "Включено":
<Plugin>
<Name>Ec2SetPassword</Name>
<State>Enabled</State>
</Plugin>
Я хотел опубликовать это где-нибудь в Интернете, чтобы следующий парень, который Googles "Get-EC2PasswordData: значение не может быть нулевым", мог найти что-то полезное.