Export Office 365 users and their Licenses configurations

Office 365 provides several ways to see user assigned license plans. You can use the admin portal, Azure Powershell or PowerShell for Office 365.

The biggest question is how to see both assigned license plans, enabled license and disabled license features for many users ? Not easy to reach your goal when using the admin portal. The best way is to use PowerShell.

Here, I provide you an Office 365 Powershell script for exporting all your licensed users, with their assigned license plans, their enabled and disabled licenses options.

Function Export-UsersLicensesConfig {

    #License Plans correspondence table with friendly name
    
    $LicensePlan = @{         
              ##<companyname>:<Licenseplan> = <license plan friendly name>          
                      "koaf365:AAD_PREMIUM" = "AzureAD Premium Plan 1"             
                   "koaf365:AX7_USER_TRIAL" = "Dynamics AX7.0 TRIAL"         
                     "koaf365:DESKLESSPACK" = "OFFICE 365 F1"       
          "koaf365:DYN365_ENTERPRISE_P1_IW" = "Dynamics 365 Enterprise Plan1"   
              "koaf365:DYN365_RETAIL_TRIAL" = "Dynamics 365 CRM TRIAL"               
                              "koaf365:EMS" = "EMS_E3"             
                       "koaf365:EMSPREMIUM" = "EMS_E5"        
                   "koaf365:ENTERPRISEPACK" = "E3"             
                "koaf365:ENTERPRISEPREMIUM" = "E5"          
                        "koaf365:FLOW_FREE" = "Microsoft Flow"            
                      "koaf365:INTUNE_A_VL" = "Intune Volume License"        
                       "koaf365:MCOMEETADV" = "Skype For Business PSTN Conferencing"   
        "koaf365:MICROSOFT_BUSINESS_CENTER" = "Microsoft Business Center"          
                     "koaf365:POWER_BI_PRO" = "Power BI PRO"         
                "koaf365:POWER_BI_STANDARD" = "Power BI Standard"    
        "koaf365:POWERAPPS_INDIVIDUAL_USER" = "Powerapps Individual User"           
                  "koaf365:POWERAPPS_VIRAL" = "Microsoft PowerApps and Logic flows"        
                   "koaf365:PROJECTPREMIUM" = "Project Online Premium"        
                     "koaf365:STANDARDPACK" = "E1"                
                           "koaf365:STREAM" = "Stream"         
                "koaf365:VISIOONLINE_PLAN1" = "Visio Online Plan 1"           
              "koaf365:WACONEDRIVESTANDARD" = "OneDrive For Business Plan 1"       
                      "koaf365:WIN_DEF_ATP" = "Windows Defender Avanced Threat Protection"
    }
    
    #Initializing users licenses config table
    $Us = @()

    #Getting all users list    
    $Users = Get-MsolUser -All | ?{$_.isLicensed -eq $true}

    ForEach($u in $Users){          
   
        #Getting assigned user License Plans        
        $O365Licenses = @()        
        $u.Licenses.AccountSkuId | % {            
            $O365Licenses += $LicensePlan."$_"        
        }        
        $O365Licenses = [string]::Join(',',$O365Licenses)            
    
        #Getting user enabled license features        
        $EnabledFeature = ($u.Licenses | Select -ExpandProperty ServiceStatus | ?{($_.ProvisioningStatus -eq "Success")}).ServicePlan.ServiceName        
        If (($EnabledFeature -ne $null) -and ($EnabledFeature.GetType().BaseType.Name -eq "Array")){                       
            $EnabledFeature = [string]::Join(',',$EnabledFeature)        
        }
        
        #Getting user license disabled features        
        $DisabledFeature = ($u.Licenses | Select -ExpandProperty ServiceStatus | ?{($_.ProvisioningStatus -eq "Disabled")}).ServicePlan.ServiceName        
        If (($DisabledFeature -ne $null) -and ($DisabledFeature.GetType().BaseType.Name -eq "Array")){                 
            $DisabledFeature = [string]::Join(',',$DisabledFeature)        
        }

        #Updating users Licenses config table       
        $u | Add-Member -MemberType NoteProperty -Name EnabledFeature -Value $EnabledFeature -Force        
        $u | Add-Member -MemberType NoteProperty -Name DisabledFeature -Value $DisabledFeature -Force        
        $u | Add-Member -MemberType NoteProperty -Name O365Licenses -Value $O365Licenses -Force                 
        $Us += $u

    }

    #Exporting user License config    
    $Us | Select userPrincipalName, O365Licenses, EnabledFeature, DisabledFeature | Export-Csv UserLicensesConfig.csv -NoTypeInformation -Delimiter ";" -Encoding UTF8
}

koaf365 : is the company name that I provided when I enrolled in Office 365, and is unique for my organization.

When you run the script :

> Export-UsersLicensesConfig

The generated UserLicensesConfig.csv file content should be like below.

UserPrincipalName O365Licenses EnabledFeature DisabledFeature
user1@agbo.blog E1 BPOS_S_TODO_1, FORMS_PLAN_E1, STREAM_O365_E1, Deskless, FLOW_O365_P1, POWERAPPS_O365_P1, TEAMS1, SHAREPOINTWAC, PROJECTWORKMANAGEMENT, SWAY, MCOSTANDARD, SHAREPOINTSTANDARD, EXCHANGE_S_STANDARD YAMMER_ENTERPRISE
user2@agbo.blog OneDrive For Business Plan 1 FORMS_PLAN_E1,SWAY,SHAREPOINTWAC,ONEDRIVESTANDARD
user3@agbo.blog E1,OneDrive For Business Plan 1 BPOS_S_TODO_1, STREAM_O365_E1, Deskless, FLOW_O365_P1, POWERAPPS_O365_P1, TEAMS1,PROJECTWORKMANAGEMENT,YAMMER_ENTERPRISE, MCOSTANDARD, SHAREPOINTSTANDARD, EXCHANGE_S_STANDARD, FORMS_PLAN_E1, SWAY, SHAREPOINTWAC, ONEDRIVESTANDARD FORMS_PLAN_E1, SHAREPOINTWAC, SWAY
user4@agbo.blog E1,Microsoft Business Center BPOS_S_TODO_1, STREAM_O365_E1, Deskless, FLOW_O365_P1, POWERAPPS_O365_P1, TEAMS1, PROJECTWORKMANAGEMENT, YAMMER_ENTERPRISE, MCOSTANDARD, SHAREPOINTSTANDARD, EXCHANGE_S_STANDARD, MICROSOFT_BUSINESS_CENTER FORMS_PLAN_E1, SHAREPOINTWAC, SWAY
user5@agbo.blog OneDrive For Business Plan 1 FORMS_PLAN_E1,  SWAY, SHAREPOINTWAC, ONEDRIVESTANDARD

 

There you go 🙂 !!!

Get Active Directory Schema Version

To get the schema version of your Active Directory, use the below powershell command line :

Get-ADObject (Get-ADRootDSE).schemaNamingContext -Property objectVersion

SchemaVersion

According to the objectVersion (47), we know that the schema is extended to Windows Server 2008 R2.

Find below a list of schema version with the matching Operating system.

Operating system Schema Version
Windows Server 2003 30
Windows Server 2003 R2 31
Windows Server 2008 44
Windows Server 2008 R2 47
Windows Server 2012 56
Windows Server 2012 R2 69
Windows Server 2016 87

 

Déployer Office 365 ProPlus 2016 – Partie 3 : Installation

Nous progressons avec la 3ème et dernière partie de ce poste. La préparation et l’installation des agents Intune étant terminées, nous pouvons maintenant déployer Office 365 ProPlus 2016. Ce déploiement se fera en deux étapes.

Etape 1: Ajouter une application

AjouterUneAppIntune

Indiquer le chemin d’accès du setup d’office 365 ProPlus téléchargé précédemment.

InstallDuLogiciel1.png

Dans la page suivante, indiquer le nom de l’éditeur, de l’application que vous installez ainsi qu’une description de cette dernière. Ces cases ont obligatoires.

DescriptionDuLogiciel

Nous ajoutons ici la clé de détection de l’application, elle nous permet de savoir si Office 365 ProPlus 2016 est déjà installée. Dans lequel cas l’outil ne tentera pas une nouvelle installation.

InstallDuLogiciel2

Nous utilisons comme clé de détection :

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\O365ProPlusRetail - fr-fr

Il vous faut maintenant spécifier l’argument de ligne de commande qui va permettre une installation basée sur le fichier internet.xml.

InstallDuLogiciel3

Pour le déploiement depuis le dépôt local, utiliser l’argument avec le fichier local.xml : /configure local.xml que nous avons vu dans l’article précédent.

InstallDuLogiciel4

Cliquer sur Télécharger pour terminer la configuration.

Etape 2 : Déployer l’application

Retourner dans la console de gestion intune, cliquer-droit sur l’application que vous venez de rajouter, sélectionner l’option Gérer le déploiement.

Deployer1.png

Rechercher le groupe de déploiement O365-PCS et Ajouter-le. L’objectif est d’installer l’application sur l’ensemble des postes qui sont membres de ce groupe.

Deployer2

Indiquer une échéance pour l’installation. Cela permet à l’agent Intune présent sur le poste de débuter l’installation, théoriquement, à l’échéance indiquée.

Deployer3

Cliquer sur Terminer.

L’installation débute dès que l’agent Intune présent sur le poste reçoit l’information, il tient compte bien entendu de l’échéance indiquée. Un processus OfficeClickToRun.exe s’exécute sur les PCs membres du groupe de déploiement O365-PCs. Vous pouvez l’observer dans le gestionnaire de tâches sous l’onglet Détails. Vous verrez les icônes d’Office apparaître au fur et à mesure que l’installation avance.

Déployer Office 365 ProPlus 2016 – Partie 2 : Préparation de l’installation

Nous poursuivons avec la deuxième partie de notre article. Dans l’article précédent, j’ai partagé avec vous l’installation de l’agent Intune, maintenant nous allons mettre en certains prérequis nécessaire à l’installation d’Office 365 ProPlus 2016 à l’aide de l’agent Intune.

Etape 1: Créer le groupe de déploiement

Je me connecte à mon portail d’administration Azure Active Directory et je crée un groupe qui va contenir les PCs sur lesquels je souhaite déployer la suite Office. Voici les paramètres que j’utilise :

  • Nom du groupe : O365-PCs
  • Description : Groupe Deploiement Office 365 ProPlus 2016
  • Type : Sécurité
  • Type d’appartenance : Affecté

O365-PCs1

J’ajoute dans le groupe tous les PCs sur lesquels je souhaite faire l’installation. Pour le faire manuellemnet, je clique sur le O365-PCs puis sur Membres.

O365-PCs2

On peut toutefois utiliser un petit script pour rajouter les PCs au groupe, surtout s’ils sont en quantité importante.

Constituer un fichier Computers.csv qui contient les PCs

Name
PC1
PC2
PC3
...

Utiliser le script ci-dessous pour rajouter les PCs au groupe de déploiement O365-PCs.

Import-Module AzureAD
$Creds = Get-Credential
Connect-AzureAD -Credential $Creds

$Devices = Import-Csv "<mypath>\Computers.csv" -Delimiter ";" -Encoding UTF8
$GroupObjectID = "<ID du groupe>" #O365-PCs

ForEach ($Device in $Devices){ 
 $DeviceID = (Get-AzureADDevice -All $true | ?{$_.DisplayName -ilike "$($Device.Name)*"}).objectID
 if(-not($DeviceID)){
 $Device.Name >> "<mypath>\ComputersOnError.txt"
 } 
 Else {
 Add-AzureADGroupMember -ObjectId $GroupObjectID -RefObjectId $DeviceID
 }
}

 

Etape 2: Préparer le package Office 365 ProPlus 2016

Télécharger l’outil de déploiement de la suite Office

Télécharger Office 2016 Deployment toolextraire le contenu, le copier ensuite sur un partage \\<myShare>\SetupO365ProPlus16\

SetupFiles1

Cet outil est un prérequis quel que soit le mode d’installation envisagé, depuis un partage réseau (local) ou à partir d’internet (en ligne). A cela s’ajoute les prérequis ci-dessous selon le mode d’installation choisi.

Pour une installation depuis un partage réseau (local)

Si vous souhaitez faire l’installation depuis un dépôt local, il est alors nécessaire de disposer des binaires d’installation sur ce dépôt.

Créer un fichier de téléchargement Download.xml comme ci-dessous:

<Configuration>
    <Add OfficeClientEdition="32" Channel="Broad">
        <Product ID="O365ProPlusRetail">
            <Language ID="fr-fr"/>
        </Product>
    </Add>
    <Display Level="Full" AcceptEULA="TRUE"/>
</Configuration>

Télécharger les binaires d’installation d’Office à l’aide de la commande ci-dessous

C:\SetupO365ProPlus16>setup.exe /download download.xml

Le téléchargement terminé, vous pouvez voir le répertoire Office qui contient les binaires d’installation de la suite Office.

SetupFiles2

Il nous reste le fichier .xml de configuration, nécessaire à l’installation. Copier le fichier configuration.xml et modifiez-le pour qu’il ressemble à :

<Configuration>
    <Add OfficeClientEdition="32" Channel="Broad" SourcePath="\\<myShare>\SetupO365ProPlus16" DownloadPath="\\<myShare>\SetupO365ProPlus16">
        <Product ID="O365ProPlusRetail">
            <Language ID="fr-fr"/>
        </Product>
    </Add>
    <Display Level="None" AcceptEULA="TRUE"/>
    <Property Name="FORCEAPPSHUTDOWN" Value="FALSE"/>
</Configuration>

Dans mon cas je l’enregistre sous le nom local.xml pour qu’il soit plus parlant.

En résumé, il y a trois éléments indispensables pour l’installation depuis un partage réseau (local):

xmllocal

Pour une installation depuis internet (en ligne)

Si vous souhaitez faire l’installation depuis internet, il n’est pas nécessaire de télécharger les binaires de la suite Office. Vous aurez besoin que de deux fichiers :

XmlInternet

Ci-dessous le contenu que doit avoir votre fichier de configuration. Une fois encore je le nomme internet.xml pour qu’il soit plus parlant.

<Configuration>
    <Add OfficeClientEdition="32" Channel="Broad">
        <Product ID="O365ProPlusRetail">
            <Language ID="fr-fr"/>
        </Product>
    </Add>
    <Display Level="None" AcceptEULA="TRUE"/>
    <Property Name="FORCEAPPSHUTDOWN" Value="FALSE"/>
</Configuration>

Nous sommes fin prêts pour débuter l’installation: Déployer Office 365 ProPlus 2016 – Partie 3 : Installation

Déployer Office 365 ProPlus 2016 – Partie 1 : Installation de l’Agent Intune

Je partage avec vous ce retour d’expérience d’un projet de Migration Office 365. Dans ce projet l’une des phases essentielles était le déploiement de la suite Office 365 ProPlus 2016.

Nous nous sommes appuyés sur des agents Intune pour pousser l’installation d’Office depuis internet. Mais c’est quoi Intune ? 🙂

Microsoft Intune est un outil de gestion de périphériques depuis le Cloud Microsoft. Il permet entre autre de faire des installations d’applications sur des appareils et de gérer leurs configurations. L’Agent intune est un programme qui permet aux appareils de se connecter à la plateforme Microsfot Intune.

Dans notre cas, nous utilisons Intune pour faire l’installation de Microsoft Office 365 ProPlus 2016 sur les postes.

Disposer d’Office 365 en production ou en test est un pré requis pour ce déploiement car Intune est étroitement lié à votre abonnement Office 365.

Etape 1 : Téléchargement de l’agent Intune

Se connecter au portail de gestion de Microsoft Intune et télécharger l’agent.

DownloadIntuneAgent

Utiliser la commande ci-dessous pour extraire les .msi sur un partage réseau ou un répertoire de votre PC, ce format nous sera utile pour un déploiement par GPO. Pour un déploiement par GPO, vaut mieux le copier sur un share accessible par les PCs sur lesquels vous devez intaller l’agent.

Microsoft_Intune_Setup.exe/Extract "\\kingo.local\sysvol\kingo.local\scripts\"

Je choisi de faire l’extraction dans le répertoire Scripts du sysvol d’un de mes contrôleurs de domaine afin que ces fichiers soient répliqués et disponibles sur tous mes DCs.

intuneAgentMsi2

Le fichier MicrosoftIntune.accountcert est le certificat qui lie l’agent intune à votre abonnement Microsoft Office 365. Il doit être présent dans le même répertoire que le fichier .msi d’installation et en aucun cas ne doit être modifié sinon l’installation échoue.

Bien entendu le x64 est destiné au architecture 64 bits et les x86 pour PCs à processeur 32 bits.

Etape 2 : Installer l’agent intune

Installation manuelle

Depuis le répertoire « \\kingo.local\sysvol\kingo.local\scripts\ », double-cliquer sur le fichier « .msi » selon l’architecture du processeur de votre PC.

InstallIntune1

Cliquer sur Next et poursuivre avec l’assistant pour l’installation, hyper intuitif 🙂 croyez-moi.

InstallIntune2

Cliquer sur « Finish » pour terminer l’installation. vous pouvez observer l’icône de l’agent Intune dans la barre des tâches.

AgentIntuneBareDesTaches

Installation à l’aide d’une GPO

Créer et rattacher les GPOs à l’unité d’organisation qui comporte les PCs sur lesquels l’on souhaite déployer les agents intune.

GPOIntune1

Configuration des filtres WMI

J’ai rattaché un filtre wmi à chaque GPO pour cibler les postes selon leur processeur (x86 ou x64).

Le filtre win_32bits (x86)

SELECT AddressWidth FROM Win32_Processor WHERE AddressWidth =’32’

Le filtre win_64bits

SELECT AddressWidth FROM Win32_Processor WHERE AddressWidth =’64’

Ajout du .msi d’intallation de l’agent intune à la GPO

Configurer l’option de déploiement de la GPO avec le package .msi qu’on qui se trouve sur le sysvol de notre contrôleur de domaine.

GPOAssignClientIntune2

Lors du rattachement du package, choisir « Assigner ».

GPOAssignClientIntune3

L’installation débutera après récupération des paramètres de la GPO puis redémarrage du PC.

Paramètres de GPO optionnels

Les paramètres de GPO suivants peuvent être nécessaires pour garantir l’installation de l’agent :

Computer Configuration > Policies > Administrative Templates > Windows Components> Window Installer > Always install with elevated privileges
Computer Configuration > Policies > Administrative Templates > System > Logon > Always wait for the network at computer startup and logon
Computer Configuration > Policies > Administrative Templates > System > Group Policy > Software Installation policy processing (check « Allow processing across a slow network connection »)

GPOParamSuppl

Il est possible de modifier également l’intervalle mise à jour des GPOs à travers le paramètre:

Computer Configuration>Administrative Templates>System>Group Policy>Group Policy refresh interval 

Attention ce paramètre ne doit pas être configuré avec un temps trop réduit sinon il peut causer une surcharge du réseau.

 

Rajouter des utilisateurs dans un groupe AD à partir d’un fichier .CSV

Hello, je partage ce petit script qui pourrait vous être utile si vous souhaitez rajouter des utilisateurs (100, 1000…) en bloc à un groupe AD.

Pour  utiliser ce script cela suppose que vous avez déjà la liste de vos utilisateurs et que ces derniers existent déjà dans votre organisation Active Directory. Il faudra donc constituer un fichier .csv et ensuite exécuter le script que je vous fournis dans ce post dans PowerShell sur un contrôleur de domaine.

Le contenu du fichier MesUsers.csv

Name
saturnin
marie
serge
kevin
joel
gedeon
salomon
daniel
philippe
josiane

Le script à utiliser est le suivant:

Import-Module ActiveDirectory #Nous chargeons le module Active Directory 

$Group = "Nom du Groupe AD" #Group AD dans lequel vous souhaitez rajouter des users 
$MesUsers = Import-Csv "C:\MesUsers.csv" #Chemin d'accès de votre fichier Csv contenant la liste de vos users 
$members = Get-ADGroupMember -Identity $Group -Recursive | Select -ExpandProperty Name 

ForEach ($User in $MesUsers){ 

#Vérifie si l'utilisateur existe déjà dans le groupe  
  If ($members -contains $User.Name){            
   Write-Host "$($User.Name.ToUpper()) exists in the Group" -ForegroundColor Yellow       

#S'il n'existe pas on le rajoute      
  Elseif (Add-ADGroupMember -Identity $Group -Members $User.Name -ErrorAction SilentlyContinue)
   {            
    Write-Host "$($User.Name.ToUpper()) a été rajouté au group" -ForegroundColor Green      
  }  

#En cas de problème on ressort ici la liste des users qui n'ont pas pu être rajoutés      
  Else {          
     Write-Host "Unable to Add $($User.Name.ToUpper())" -ForegroundColor Red      
   } 
}

 

Pour visualiser le log des erreurs, histoire de vérifier que le scritp s’est exécuté correctement, il suffit d’afficher le contenu de la variable $error. C’est une variable système pré-définie dans PowerShell.

$error

Et voilà 🙂

Importer une VM Hyper-V dans Microsoft Azure

Dans le précédent article, nous avons vu comment installer Hyper-V sous Windows 10 et créer une VM. Intéressons-nous maintenant à son importation dans Microsoft Azure. Créer un compte de test Microsoft Azure si vous n’en avez pas encore.

Etape 1 : Préparation de la VM Hyper-V pour son importation dans Microsoft Azure

Nous allons syspreper la VM pour que son disque dur puisse nous servir de modèle à la création d’autres machines virtuelles une fois qu’elle est importée dans Azure.

Ouvrons donc une session sur notre VM, puis exécutons l’Outil de préparation sysème qui se trouve dans le répertoire « c:\Windows\System32\Sysprep\ ». N’oubliez pas de cliquer sur Généraliser.

I1

Après quelques minutes la VM s’éteint.

I2

Maintenant que notre VM est éteinte, il faut convertir le disque du format VHDX dynamique au format VHD fixe. Ce dernier format est celui supporté par Azure.

Se rendre dans le répertoire où se trouve le disque de la VM et ouvrir une invite de commande PowerShell, et exécuter la commande ci-dessous :

Convert-VHD .\Win10.vhdx -DestinationPath .\Win10.vhd -VHDType Fixed

I3

Etape 2: Importation de la VM dans Azure

Se connecter au tenant Azure dans lequel on souhaite importer la VM à l’aide de la commande Azure PowerShell suivante.

Login-AzureRmAccount

A l’invite d’authentification, entrer le login et mot de passe de votre tenant Azure. Créer un compte de stockage Si vous n’en disposez pas déjà. Utiliser la commande suivante :

New-AzureRmStorageAccount -ResourceGroupName "NomGroupeDeRessource" -Name "NomCompteDeStockage" -Location "west europe" -SkuName "Standard_LRS" -Kind "Storage"

 

Une fois le compte de stockage créé, nous allons commencer par importer dans un premier temps le disque vhd de notre VM.

$rg = "rscgrp0508"
$Destination =https://strgaccnt0508.blob.core.windows.net/images/win10.vhd
$LocalFilePath = "C:\Users\jean-marie.agbo\Documents\LAB\Win10.vhd"
Add-AzureRmVhd -ResourceGroupName $rg -Destination $Destination -LocalFilePath $LocalFilePath

On peut observer la progression de l’importation du disque dur.

I4

Le processus d’importation peut nécessiter du temps, alors il faut être patient.

I5

Dans le portail Azure, on voit que le disque de la VM a été bien uploadé.

I6

L’importation de disque terminée, la création de la machine peut maintenant se faire.

#Network name
$vnetName = "az_demolab_network"
$ippubName = "ippub"
$rg = "rscgrp0508"
$ippubName = "ippub"

#Emplacement
$Location = "westeurope"
$vnetSubnetCfg = "int"

#Récupération du réseau lan auquel nous souhaitons le rattacher.
$virtualnetwork = Get-AzureRmVirtualNetwork -Name "az_demolab_network" -ResourceGroupName $rg
$subnetId = (Get-AzureRmVirtualNetworkSubnetConfig -Name $vnetSubnetCfg -VirtualNetwork $virtualnetwork).Id

#Mot de passe de l'administrateur local de votre VM
$credential = Get-Credential

#Création de la machine virtuelle dans Azure
$win10pubIp = New-AzureRmPublicIpAddress -Name $ippubName -ResourceGroupName $rg -Location $location -AllocationMethod Dynamic # -IdleTimeoutInMinutes 4

$NetworkInterface = "win10Nic"
$win10Nic = New-AzureRmNetworkInterface -Name $NetworkInterface -ResourceGroupName $rg -Location $Location -SubnetId $subnetId -PublicIpAddressId $win10pubIp.id

#Nom de stockage de la VM
$StrAccName = "strgaccnt0508"
$StorageAccountName = Get-AzureRmStorageAccount -AccountName $StrAccName -ResourceGroupName $rg

#Créer la configuration de la VM
$VMName = "Win10"
$VMSize = "Standard_A1"
$vmConfig = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize

$vm = Set-AzureRmVMOperatingSystem -VM $vmConfig -Windows -ComputerName $VMName -Credential $credential -ProvisionVMAgent -EnableAutoUpdate
$vm = Add-AzureRmVMNetworkInterface -VM $vmConfig -Id $win10Nic.Id

#Création du disque système
$osDiskUri = ’{0}vhds/{1}-{2}.vhd’ -f $StorageAccountName.PrimaryEndpoints.Blob.ToString(), $VMName.ToLower(), "OS"
# https://strgaccnt0508.blob.core.windows.net/vhds/win10-OS.vhd

#StorageImageUKri
$SourceImageUri = "https://strgaccnt0508.blob.core.windows.net/images/win10.vhd"
$vm = Set-AzureRmVMOSDisk -VM $vm -Name "win10-SE" -VhdUri $osDiskUri -CreateOption fromImage -SourceImageUri $SourceImageUri -Windows

#Création de la machine virtuelle
New-AzureRmVM -ResourceGroupName $rg -Location $location -VM $vm -Verbose

Dans notre tenant Azure, nous pouvons voir notre VM créée.

I7

Nous avons terminé notre importation.

A très bientôt pour un prochain article. N’hésitez pas à me contacter si vous avez des sujets intéressants sur lesquels on pourrait travailler et faire une publication.