2017-06-15 5 views
0

Ich versuche, ein Powershell-Skript zu schreiben, das eine BACPAC in einer Azure-Datenbank bereitstellt. Ich habe diese example auf der Microsoft-WebsiteAzure-Ressourcengruppe aus Azure SQL Server-Name suchen

Ich muss nicht fragen, welche Ressourcengruppe der SQL Server ist so mit Powershell, ist es möglich, die Ressourcengruppe einen SQL-Server zu finden, wohnt in, wenn Sie nur wissen der Servername?

Antwort

1

Versuchen Sie folgendes:

$resourceGroupName = (Get-AzureRmResourceGroup | Get-AzureRmSqlServer | where {$_.ServerName -eq 'Your Server Name Here'}).ResourceGroupName 
+0

Haben Sie nicht denken Sie in der Lage sein würde doppelte Servernamen zu haben, aber achten Sie auf Das. Danke für die Antwort. –

+0

Ah, Sie haben Recht damit, dass doppelte Namen für Azure SQL nicht möglich sind. Ich muss über andere Ressourcentypen nachgedacht haben, bei denen Namen pro Region oder Abonnement eindeutig sind. –

1

Eine schnelle Möglichkeit, dies zu tun ist, um die Find-AzureRmResource Cmdlets zu verwenden. Sie können so viele Informationen angeben, wie Sie möchten (Ressourcengruppe wie Name, Ressourcentyp), um die Suchergebnisse einzugrenzen.

1

Nicht wirklich besser oder schlechter als Deans aber die allgemeinen Cmdlets (wäre für jede resource arbeiten):

(Get-AzureRmResource | Where-Object {$_.ResourceType -eq "Microsoft.Sql/servers/databases" -and $_.ResourceName -eq "$svr/$db"}).ResourceGroupName 
+0

Warum würden Sie die Get vs Find verwenden? Scheint ineffizient für Abonnements mit vielen bereitgestellten Ressourcen. – CtrlDot

+0

Nicht wirklich besser oder schlechter - man verarbeitet Clientseite (Get), einen auf dem Server (Find) ... –