我來自C#背景,這是我第一次進入Powershell。我試着寫,其中一個PowerShell腳本,做了一大堆的東西天青:Azure/Powershell:檢查SQL Server是否存在
- 檢查是否一個SQL Server實例存在
- 創建(使用
New-AzureRmSqlServer
)如果一臺服務器它不
- 創建(使用
- 服務器
- ...和一些其他的東西上創建一個新的數據庫
我的第一個問題是,如果服務器已經存在,我不需要創建它;我可以直接進入數據庫創建。但是,我似乎無法完成這項工作。
我試過Get-AzureRmSqlServer
,但是如果找不到我要找的服務器,就會出錯。最後,我用這個函數返回$true
去,如果發現$false
如果不是:
function Check-For-Server
{
Param(
[Parameter(Mandatory=$true)]
[String]
$ServerName
)
if (Test-AzureName -Name $ServerName)
{
return $false
}
else
{
return $true
}
}
這裏的問題:我發現了以下錯誤:
Test-AzureName : Parameter set cannot be resolved using the specified named parameters.
At C:\src\Powershell\test.ps1:10 char:9
+ if (Test-AzureName -Name $ServerName)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Test-AzureName], ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.WindowsAzure.Commands.CloudService.TestAzureNameCommand
有誰知道怎麼去解決這個?谷歌絕對沒有幫助,至少在Test-AzureName
這個特定的錯誤消息。我想過嘗試-Service/ServiceBusName/Storage/Website
的論點之一,但我不確定哪個更適用於此。或者,如果它甚至是相關的 - 錯誤信息並不表示我實際上缺少一個參數,只是我提供的一個參數很糟糕。
哦,如果有幫助,這裏的呼叫Check-For-Server
:
$sqlServerName = "test_db_server"
Check-For-Server -ServerName $sqlServerName
謝謝!
您爲什麼不創建ARM模板並使用New-AzureRmResourceGroupDeployment cmdlet部署/重新部署的任何原因? –
那麼,這主要是基於「我不知道我在做什麼,所以我不知道我能做到這一點」。 :)我會研究它。謝謝! –