Изменить пароль Azure VM с помощью PowerShell - PullRequest
1 голос
/ 20 марта 2020

Я пробовал этот подход, чтобы изменить пароль Azure VM:

$resgroup = "rsource1"
$vmName = "virtualmachine1"

$VM = Get-AzVM -ResourceGroupName $resgroup -Name $vmName 

$Credential = Get-Credential

$VM | Set-AzureVMAccessExtension    –UserName $Credential.UserName `
                                    –Password $Credential.GetNetworkCredential().Password

$VM | Update-AzVM

Но я продолжаю получать эту ошибку:

Ссылка на объект не установлена ​​на экземпляр объекта.

Когда я console.log значения $Credential.UserName и $Credential.GetNetworkCredential().Password, я получил значения имя пользователя и пароль , что Я ввел.

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 20 марта 2020

Я никогда не использовал Set-AzureVMAccessExtension, но я использовал эквивалент Az PowerShell Set-AzVMAccessExtension. Вам нужно передать -Credential $Credential вместо - UserName и -Password.

Вы можете попробовать этот скрипт, который я сделал некоторое время go для сброса паролей для Azure ВМ:

# Replace these values with your own
$resourceGroupName = "Servers-RG"
$vmName = "server1"

# Get the VM into an object
$vm = Get-AzVM -ResourceGroupName $resourceGroupName -Name $vmName 

# Store credentials you want to change
$credential = Get-Credential -Message "Enter your username and password for $vmName"

# Store parameters in a hashtable for splatting
# Have a look at https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-7
$extensionParams = @{
    'VMName' = $vmName
    'Credential' = $credential
    'ResourceGroupName' = $resourceGroupName
    'Name' = 'AdminPasswordReset'
    'Location' = $vm.Location
}

# Pass splatted parameters and update password
Set-AzVMAccessExtension @extensionParams

# Restart VM
# Don't need to pass any switches since they are inferred ByPropertyName
# Have a look at https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_pipelines?view=powershell-7
$vm | Restart-AzVM

Я обнаружил, что обновление пароля не произойдет, пока вы перезапустите ВМ, поэтому Restart-VM требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...