2016-11-10 16 views
0

私はC#の背景から来ています。これはPowershellへの最初の進出です。私は彼らの間で、Azureの中のものの全体の束をしてPowerShellスクリプトを記述しようとしている:SQL Serverインスタンスは(New-AzureRmSqlServerを使用して)サーバーを作成します Azure/Powershell:SQL Serverが存在するかどうかを確認する

  • が存在するかどうかを確認するために

    • チェックした場合それは、サーバ
    • ...といくつかの他のもの
    に新しいDBを
  • を作成しません。 0

    私の最初の問題は、サーバーがすでに存在する場合は作成する必要がないということです。私はDB作成に直接行くことができます。しかし、私はその仕事をしているようには見えません。

    私は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

    誰もが周りを取得する方法を知っていますこの? Googleは、少なくともこの特定のエラーメッセージでTest-AzureNameまでは絶対に役に立たなかった。私は-Service/ServiceBusName/Storage/Website引数の1つを試してみることを考えましたが、ここではどちらが当てはまるのか分かりません。またはそれが関連している場合でも、私が実際にが見つからないことを示すエラーメッセージは表示されません。パラメータがあります。私が提供したパラメータは何とか悪いです。

    ああ、それは場合に役立ちます、ここCheck-For-Serverへの呼び出しです:

    $sqlServerName = "test_db_server" 
    Check-For-Server -ServerName $sqlServerName 
    

    をありがとう!

  • +0

    なぜなら、New-AzureRmResourceGroupDeploymentコマンドレットを使用してARMテンプレートを作成して展開/再展開するだけの理由は何ですか? –

    +0

    さて、「私は何をしているのかわからないので、私はそれをすることができるのかどうかはわかりませんでした」という根拠に基づいていました。 :)私はそれを調べます。ありがとう! –

    答えて

    3
    $serverInstance = Get-AzureRmSqlServer -ServerName $serverName -ResourceGroupName $resourceGroupname -ErrorAction SilentlyContinue 
    if ($serverInstance) { do stuff } 
    else { do other stuff } 
    
    関連する問題