为什么 Get-EC2PasswordData return "The parameter is incorrect."?
Why does Get-EC2PasswordData return "The parameter is incorrect."?
我正在使用 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 : Value cannot be null."是什么意思?我没有传递任何空值。
原来答案是因为密码还不可用。您只需要等待一段时间,机器就会启动。您会发现您也无法在控制台中获取 Windows 管理员密码(尽管 ti 提供了更直观的消息)。
如果您等了很久,可能是因为您的Ec2ConfigService没有在机器上配置重置密码。您可能需要更改 "C:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml"。在那里你会找到靠近顶部的一块,如下所示:
<Plugin>
<Name>Ec2SetPassword</Name>
<State>Disabled</State>
</Plugin>
将 "Disabled" 更改为 "Enabled":
<Plugin>
<Name>Ec2SetPassword</Name>
<State>Enabled</State>
</Plugin>
我想 post 把它传到某个地方的互联网上,这样下一个谷歌 "Get-EC2PasswordData : Value cannot be null" 的人可能会找到有用的东西。
我正在使用 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 : Value cannot be null."是什么意思?我没有传递任何空值。
原来答案是因为密码还不可用。您只需要等待一段时间,机器就会启动。您会发现您也无法在控制台中获取 Windows 管理员密码(尽管 ti 提供了更直观的消息)。
如果您等了很久,可能是因为您的Ec2ConfigService没有在机器上配置重置密码。您可能需要更改 "C:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml"。在那里你会找到靠近顶部的一块,如下所示:
<Plugin>
<Name>Ec2SetPassword</Name>
<State>Disabled</State>
</Plugin>
将 "Disabled" 更改为 "Enabled":
<Plugin>
<Name>Ec2SetPassword</Name>
<State>Enabled</State>
</Plugin>
我想 post 把它传到某个地方的互联网上,这样下一个谷歌 "Get-EC2PasswordData : Value cannot be null" 的人可能会找到有用的东西。