5

Я использую PowerShell для вызова Get-EC2PasswordData так:Почему 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:. Значение не может быть пустым" имею в виду? Я не передаю никаких нулевых значений.

ответ

6

Получает ответ, потому что пароль еще не доступен. Вам просто нужно подождать некоторое время, пока машина не появится. Вы также обнаружите, что вы также не можете получить пароль администратора 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: значение не может быть нулевым», может найти что-то полезное.

+0

Что мы считаем «взятием времени»? Мой сервер работает в течение 10+ минут, и я могу использовать RDP. Мне нужно получить пароль администратора, чтобы я мог переименовать компьютер, но я получаю указанную точную ошибку. – Johnrad

+0

Это зависит от того, сколько сервисов запускается на машине. Вы запускаете базу данных или что-то тяжелое при запуске? Если нет, 10 минут, похоже, много для пустой машины Windows. –