Azure File Shareがあり、cmdkeyでVMの資格情報を保持し、net useでマウントした後、Azure VMからこれを使用したいと思います。これは、Windows Server 2012 R2のローカルPowershellセッションでこれらのコマンドを実行することでテストされました。
ただし、この手順をAzure展開スクリプトに追加する必要があります。Azure Powershellスクリプトはラップトップから実行され、Azureサブスクリプションに接続し、多くの変数を使用してVMをゼロから構築します。
Invoke-Commandを使用して、Azure Powershellスクリプトから新しく作成されたVM上のリモートPowershellセッションに変数を渡すことができました。
$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 *
Windows Update PowerShellモジュール(Invoke-WUInstall)でも同様の問題があり(修正できませんでした)、VMのローカルPowershellセッションで正常に動作しますが、リモートPowershell経由で起動すると更新されません。
これを回避する方法はありますか?