Archives de la catégorie ‘Azure PowerShell’

 

Si vous êtes amenés à gérer et administrer un ou plusieurs tenants Azure AD au quotidien, et que vous souhaitez automatiser toutes les tâches et opérations répétitives et fastidieuses, eh bien sachez que vous êtes à la bonne adresse :).

Aujourd’hui, je vais vous parler d’un module PowerShell qui va vous faciliter la vie quand il s’agit de déployer, gérer, administrer mais aussi troubleshooter Azure Active Directory.

Il s’agit du module « AzureAD » (ou Azure Active Directory PowerShell for Graph).

Les Cmd-Lets fournies avec ce Module vous permettent de récupérer les données à partir de l’annuaire/service Azure Active Directory, créer de nouveaux objets, modifier et mettre à jour les objets existants, supprimer des objets AAD, mais aussi configurer votre tenant Azure AD et ses options /fonctionnalités associées.

Enfin, notez que le module AzureAD vous permet également de gérer vos AAD Application Proxy et Connecteurs.

HowTo : Installer le module PowerShell AzureAD

Le module AzureAD est disponible depuis la PowerShellGallery et peut être installer via un simple

Install-Module AzureAD

 

HowTo : Utiliser le module PowerShell AzureAD

Une fois installé, commencez par importer le module « AzureAD » en saisissant la commande suivante :

Import-Module AzureAD

ou simplement

ipmo AzureAD

Exécutez ensuite la commande suivante pour lister toutes les Cmd-lets du module PowerShell AzureAD :

Get-Command -Module AzureAD | ft -AutoSize

Vous pouvez connaitre le nombre exact des Cmd-lets fournies avec le module AzureAD en exécutant la commande ci-dessous :

(Get-Command -Module AzureAD).Count

164 Cmd-Lets au total sont fournies avec le module PowerShell AzureAD, cela vous permet d’automatiser presque toutes les opérations disponibles depuis le Nouveau Portail Azure (portal.azure.com)

Avant de pouvoir créer et gérer vos objets (users & groups) Azure AD, vous devez connecter votre Interface PowerShell à votre tenant AzureAD, pour ce faire, saisissez la commande suivante :

Connect-AzureAD

Vous êtes invités à renseigner votre compte Microsoft (ou Professionnel) pour vous connecter :

Comme montré ci-dessous, mon compte Azure a été connecté correctement :

Commençons maintenant par lister tous les users AzureAD existants, saisissez la commande suivante :

Get-AzureADUser

Pour créer un nouvel utilisateur AzureAD, la commande suivante sera utilisée :

Note : dans l’exemple suivant, nous allons créer un nouvel utilisateur avec les informations suivantes :

UPN : hicham.kadiri-demo@k-nd-k-group.com

GivenName : hicham.kadiri-demo

DisplayName : Hicham KADIRI

City : Paris

Country : France

Department : IT

Mot de passe : « MyP@ss0rd2018! »

 

$PasswordProfile = New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile $PasswordProfile.Password = « MyP@ss0rd2018! »

New-AzureADUser -City Paris -Country France -Department IT -DisplayName « Hicham KADIRI » -GivenName hicham.kadiri-demo -JobTitle « Azure Cloud Architect » -AccountEnabled $true -PostalCode 75000 -UserPrincipalName hicham.kadiri-demo@k-nd-k-group.com -PasswordProfile $PasswordProfile -MailNickName hicham.kadiri-demo

Pour supprimer cette fois-ci l’utilisateur créé précédemment, exécutez la commande suivante :

  • Notez que vous devez d’abord exécutez la Cmd-let Get-AzureADUser pour récupérer l’ObjectID de l’utilisateur à supprimer (af3dbbdd-e51b-44e3-8944-91150d296fd4 dans l’exemple suivant) :
    • Remove-AzureADUser -ObjectId af3dbbdd-e51b-44e3-8944-91150d296fd4

Vous pouvez lister tous les domaines AAD déclarés/enregistrés en saisissant la commande suivante :

Get-AzureADDomain

La liste des devices enregistrés dans votre domaine Azure AD peut être obtenue via la commande suivante :

Get-AzureADDevice

Je vous invite à consulter cet article pour en savoir plus sur l’ensemble des Cmd-lets fournies avec le module AzureAD.

 

Publicités

Dans le cadre d’un projet de migration de Datacenters d’un de mes clients vers Azure, j’avais en charge l’étude, design et l’implémentation de plusieurs canaux VPN entre les Datacenters Azure et ceux OnPremise.

Compte-tenu du nombre de Gateway VPN Azure à monter, j’ai créé le script P(ower)S(hell) suivant pour automatiser et accélérer le processus de création des services Cloud réseaux nécessaires pour interconnexion.

Le code est détaillé ci-après, j’ai utilisé des noms & subnets de tests, vous aurez donc juste à remplacer les valeurs des variables par celles correspondant à votre environnement.

Mon architecture réseau Azure « cible » est la suivante :

  • 1 VNET nommé : hk-demo-vnet »
  • 1 Espace d’adressage : 10.0.52.0/24
  • 5 Subnets :
    • Subnet « Front-end » : 10.0.52.0/25
    • Subnet « Back-end » :  10.0.52.128/26
    • Subnet « Management« : 10.0.52.192/27
    • Subnet « DMZ » :  10.0.52.224/28
    • Subnet dédiée à la « Passerelle Az » : 10.0.52.240/28

 

Note : la seule étape qui nécessite un peu d’attente (~45 minutes environ) est la création de la Gateway VPN Az [Step #8]. Le reste des opérations est quasi immédiat :).

Note importante : le présent script concerne uniquement la configuration côté « Azure »; une configuration spécifique côté « Réseau OnPrem » est à faire, cela dépendra du type d’équipement déjà présent sur votre S.I (e.g : Fortigate, Cisco ASA, F5 BIG-IP, A10 Network…Etc). N’hésitez pas à consulter cette page pour vérifier la comptabilité /prise en charge de votre équipement réseau pour la connexion VPN avec Azure.


#1 Connecter votre compte Azure
Login-AzureRmAccount

#2 Selectionner votre Abonnement Azure (si vous en avez qu’un seul, vous pouvez bypasser cette etape). Dans l’exemple suivant, la subscription « HKDemoSubsription » sera selectionnee
Select-AzureRmSubscription -SubscriptionName « HKDemoSubscription »

#3 Crerr votre groupe de Ressource Azure au niveau de la Region Europe de l’Ouest
New-AzureRmResourceGroup -Name « hk-demo-rg » -Location ‘West Europe’

#4 Creer  du VNET ‘HK-Demo-vnet » et ses Subnets associés
$hkdemosubfe = New-AzureRmVirtualNetworkSubnetConfig -Name ‘hk-demo-sub-fe’ -AddressPrefix 10.0.52.0/25

$hkdemosubbe = New-AzureRmVirtualNetworkSubnetConfig -Name ‘hk-demo-sub-be’ -AddressPrefix 10.0.52.128/26

$hkdemosubmgmt = New-AzureRmVirtualNetworkSubnetConfig -Name ‘hk-demo-sub-mgmt’ -AddressPrefix 10.0.52.192/27

$SecuritySubnet = New-AzureRmVirtualNetworkSubnetConfig -Name ‘SecuritySubnet’ -AddressPrefix 10.0.52.224/28

$GatewaySubnet = New-AzureRmVirtualNetworkSubnetConfig -Name ‘GatewaySubnet’ -AddressPrefix 10.0.52.240/28

New-AzureRmVirtualNetwork -Name hk-demo-vnet -ResourceGroupName hk-demo-rg `
-Location ‘West Europe’ -AddressPrefix 10.0.52.0/24 -Subnet $hkdemosubfe, $hkdemosubbe, $hkdemosubmgmt, $SecuritySubnet, $GatewaySubnet

#5 Declarer La Passerelle /Device VPN Local ainsi que les Subnets de votre reseau Corporate (192.168.x.0 dans l’exemple suivant)
New-AzureRmLocalNetworkGateway -Name hk-demo-localgtw -ResourceGroupName hk-demo-rg `
-Location ‘West Europe’ -GatewayIpAddress ‘10.112.11.33’ -AddressPrefix ‘192.168.1.0/24’, ‘192.168.2.0/24’, ‘192.168.3.0/24’

#6 Creation d’une nouvelle adresse IP public pour la Gateway VPN Azure
$azuregtwpip = New-AzureRmPublicIpAddress -Name hk-demo-azgtwpip -ResourceGroupName hk-demo-rg -Location ‘West Europe’ -AllocationMethod Dynamic

#7 Declarer /Creer la configuration de la Gateway VPN Azure
$vnet = Get-AzureRmVirtualNetwork -Name hk-demo-vnet -ResourceGroupName hk-demo-rg
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name ‘GatewaySubnet’ -VirtualNetwork $vnet
$azgtwipconfig = New-AzureRmVirtualNetworkGatewayIpConfig -Name hk-demo-azgtwconfig -SubnetId $subnet.Id -PublicIpAddressId $azuregtwpip.Id

#8 Creer votre nouvelle Gateway Azure
New-AzureRmVirtualNetworkGateway -Name hk-demo-azgtw -ResourceGroupName hk-demo-rg -Location 'West Europe' -IpConfigurations $azgtwipconfig -GatewayType Vpn
-VpnType RouteBased -GatewaySku Standard

#9 Obtenir l’@IP Public de la Gateway Azure (verifier que l’IP Public de votre Gateway Azure est bien générée)
Get-AzureRmPublicIpAddress -Name hk-demo-azgtwpip -ResourceGroupName hk-demo-rg

#10 Creer la connexion VPN entre le Device OnPrem et Azure
$azuregtw = Get-AzureRmVirtualNetworkGateway -Name hk-demo-azgtw -ResourceGroupName hk-demo-rg
$localgtw = Get-AzureRmLocalNetworkGateway -Name hk-demo-localgtw -ResourceGroupName hk-demo-rg

New-AzureRmVirtualNetworkGatewayConnection -Name hk-demo-azgtwcon -ResourceGroupName hk-demo-rg -Location 'West Europe' -VirtualNetworkGateway1 $azuregtw -LocalNetworkGateway2 $localgtw
-ConnectionType IPsec -RoutingWeight 10 -SharedKey ‘$HKD€m0@2017$’


Run & Enjoy the script :).

Une fois l’interconnexion établie entre le Device VPN Azure et celui d’OnPrem, le statut de l’objet de connexion passe à « Connected« , checkez les « Data in » et « Data out » pour s’assurer que le traffic passe bien entre vos ressources locales (OnPrem) et celles hébergées dans le Cloud Az.

Restez connectés, de nouveaux posts autour de l’Azure (step-by-step guides, HowTo..Etc) sont en cours de finalisation :).