У мене є спільний файл файлу Azure, і я хотів би використовувати це з моїх віртуальних машин Azure - після збереження облікових даних на VM за допомогою cmdkey та монтажу з використанням мережі. Це було перевірено, виконавши ці команди в локальному сеансі Powershell на Windows Server 2012 R2.
Але мені потрібно додати цей крок до сценарію розгортання Azure. Сценарій Azure Powershell працює з мого ноутбука, підключається до підписки Azure і створює VM з нуля, використовуючи безліч змінних.
Зрозуміло, що використовувати Invoke-Command для передачі змінних від сценарію Azure Powershell до віддаленого сеансу Powershell на новоствореній VM.
$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)
І помилка:
PS C:\> Invoke-Command -Session $Session -ScriptBlock $ScriptBlockContent -ArgumentList ($Share,$AccountName,$Key)
CMDKEY: Credentials cannot be saved from this logon session.
Для перевірки синтаксису замінено cmdkey / list, і помилок немає.
PS C:\> Invoke-Command -Session $Session -ScriptBlock $ScriptBlockContent
Currently stored credentials:
* NONE *
Виникла аналогічна проблема (і не вдалося її виправити) з модулем PowerShell оновлення Windows (Invoke-WUInstall), який працює просто на локальному сеансі Powershell в VM, але не оновлюється при запуску через віддалений Powershell.
Будь-який спосіб обійти цей?