Azure
將參數傳遞給 Set-AzureRmVmDscExtension
我正在嘗試為 Set-AzureRmVMDscExtension 觸發的 PowerShell DSC 配置獲取傳入參數,但運氣不佳。這個想法是讓 xRemoteFile 部分在參數中的 URL 處下載文件。URL 在 $certificateSASToken 中
$dscConfigurationArguments = @{ certificateToken = $certificateSASToken }
創建參數的雜湊表,然後呼叫;
Publish-AzureRmVMDscConfiguration -ConfigurationPath ".\DSC\webserver.ps1" -ResourceGroupName "MyResourceGroup" -StorageAccountName "MyStorageAccount" -Force
然後最後;
Set-AzureRmVMDscExtension -Version 2.72 -ResourceGroupName "MyResourceGroup" -VMName "WebServer1" -ArchiveStorageAccountName "MyStorageAccount" -ArchiveBlobName "webserver.ps1.zip" -AutoUpdate:$true -ConfigurationName "WebServer" -ConfigurationArgument $dscConfigurationArguments
在 DSC 配置中有
xRemoteFile TLSCertificateDownload { Uri = $certificateToken['certificateToken'] DestinationPath = "C:\webcert.pfx" MatchSource = $false }
DSC 失敗,因為 $certificateToken 為空。config 的雜湊表一直很好,因為我第一次錯過了它的索引,它抱怨系統對象雜湊表不是 URL。為什麼這個不通過?
您在資源中的引用是錯誤的,應該是:
xRemoteFile TLSCertificateDownload { Uri = $certificateToken DestinationPath = "C:\webcert.pfx" MatchSource = $false }
一旦通過擴展,您的雜湊表就會自動擴展