2017-03-28 1 views
0

Je souhaite obtenir les paramètres de diagnostic pour tous les groupes de sécurité réseau. J'espérais que l'applet de commande powershell Find-AzureRmResource fonctionnerait, mais il semble que vous ne puissiez pas rechercher des sous-ressources sur des sous-fournisseurs sans spécifier la ressource parent.Comment faire pour interroger toutes les informations sur les paramètres de diagnostic pour tous les groupes de sécurité réseau Azure (NSG)

je l'aurais espéré quelque chose comme ça fonctionnerait:

Find-AzureRmResource -ResourceType Microsoft.Network/networkSecurityGroups -ExtensionResourceType Microsoft.Insights/diagnosticSettings 

Cependant, ce juste retourne les groupes de sécurité du réseau, et je pense qu'il est ignorant complètement le paramètre ExtensionResourceType. Voici un exemple d'un ID de ressource pour les paramètres de diagnostic sur un NSG:

/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Network/networkSecurityGroups/{nsg-name}/providers/microsoft.insights/diagnosticSettings/service 

J'ai remarqué que l'applet de commande Find-AzureRmResource a un paramètre -ODataQuery, alors je me demande si je pouvais le faire fonctionner si je savais que passer à ce paramètre?

J'ai trouvé que je peux obtenir la liste équivalente comme ça, mais il est vraiment lent (quand vous avez des centaines de centrales nucléaires), car il interroge les paramètres de diagnostic individuellement au lieu de les retourner en un seul coup:

Find-AzureRmResource -ResourceType Microsoft.Network/networkSecurityGroups | Get-AzureRmDiagnosticSetting 

Répondre