J'ai un partage de fichiers Azure et j'aimerais l'utiliser à partir de mes machines virtuelles Azure - après avoir conservé les informations d'identification sur les machines virtuelles avec cmdkey et monté avec une utilisation nette. Cela a été testé en exécutant ces commandes dans une session Powershell locale sur Windows Server 2012 R2.
Mais je dois ajouter cette étape à un script de déploiement Azure. Un script Azure Powershell s'exécute à partir de mon ordinateur portable, se connecte à l'abonnement Azure et crée les machines virtuelles à partir de zéro, en utilisant de nombreuses variables.
Conçu pour utiliser Invoke-Command pour passer les variables du script Azure Powershell à une session Powershell distante sur la machine virtuelle nouvellement créée.
$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)
Et l'erreur:
PS C:\> Invoke-Command -Session $Session -ScriptBlock $ScriptBlockContent -ArgumentList ($Share,$AccountName,$Key)
CMDKEY: Credentials cannot be saved from this logon session.
Remplacé par cmdkey / list pour vérifier la syntaxe, et il n'y a pas d'erreur.
PS C:\> Invoke-Command -Session $Session -ScriptBlock $ScriptBlockContent
Currently stored credentials:
* NONE *
A eu un problème similaire (et n'a pas pu le résoudre) avec le module Windows Update PowerShell (Invoke-WUInstall), qui fonctionne très bien sur une session Powershell locale sur la machine virtuelle, mais ne se met pas à jour lorsqu'il est démarré via Powershell distant.
Une façon de contourner celui-ci?