Eu tenho um compartilhamento de arquivos do Azure e gostaria de usá-lo nas minhas VMs do Azure - depois de persistir as credenciais nas VMs com cmdkey e montagem com uso de rede. Isso foi testado executando esses comandos em uma sessão local do Powershell no Windows Server 2012 R2.
Mas preciso adicionar essa etapa a um script de implantação do Azure. Um script do Azure Powershell é executado em meu laptop, se conecta à assinatura do Azure e cria as VMs a partir do zero, usando muitas variáveis.
Descobri o uso de Invoke-Command para passar as variáveis do script do Azure Powershell para uma sessão remota do Powershell na VM recém-criada.
$Session = New-PSSession -ConnectionUri $Uri -Credential $DomainCredential
$ScriptBlockContent = {
Param ($Arg1,$Arg2,$Arg3)
cmdkey /add:$Arg1 /user:$Arg2 /pass:$Arg3}
Invoke-Command -Session $Session -ScriptBlock $ScriptBlockContent -ArgumentList ($Share,$AccountName,$Key)
E o erro:
PS C:\> Invoke-Command -Session $Session -ScriptBlock $ScriptBlockContent -ArgumentList ($Share,$AccountName,$Key)
CMDKEY: Credentials cannot be saved from this logon session.
Substituído por cmdkey / list para verificar a sintaxe e não há erros.
PS C:\> Invoke-Command -Session $Session -ScriptBlock $ScriptBlockContent
Currently stored credentials:
* NONE *
Teve um problema semelhante (e não foi possível corrigi-lo) com o Módulo do Windows Update PowerShell (Invoke-WUInstall), que funciona muito bem em uma sessão local do Powershell na VM, mas não é atualizado quando iniciado por meio do Powershell remoto .
Qualquer maneira de contornar este?