19 Jan 2025, 00:00

Synology

Installer utilitaires CLI

Centre de paquets -> Paramètres -> Sources de paquets
Ajouter une entrée, choisir un nom, et ajouter :
https://packages.synocommunity.com/
comme Emplacement.

L’actualisation devrait se faire tout seul, et on peut alors chercher synocli .
On a notamment les “Disk Tools” qui fournissent entre autres ncdu, et les “File Tools” qui fournissent entre autres nano.

SSH et dossier home

Le SSH s’active dans
Panneau de configuration -> Terminal & SNMP

Si on veut pouvoir y accéder via SFTP, il faut l’activer dans
Panneau de conf -> Services de fichiers -> FTP -> SFTP

Enfin, si on veut pouvoir se connecter via clé SSH, il faut activer les dossiers homes. pour ceci :
Panneau de conf -> Utilisateurs et groupes -> Avancé -> Accueil utilisateur

Synchronisation du dossier partagé

Pour une synchronisation unidirectionnelle d’un Syno source vers un Syno destination.
Fonctionne par dossier partagé.
Lance en rsync sous-jacent, avec l’option --delete .

Sur le Syno destination, il faut aller dans
Panneau de conf -> Services de fichiers -> rsync
et activer le service rsync.

Sur le Syno source, il faut aller dans
Panneau de conf -> Services de fichiers -> Avancé
et trouver “Synchronisation du dossier partagé”.
Clic sur “Liste des tâches” et ajouter une tâche (tâche = transfert sortant).

Sur le Syno cible, dans le même menu, on voit l’état du serveur, et on a la possibilité de gérer la “Liste des connexions”, c’est à dire les transferts entrants.

Lorsque la tâche est lancée, la ligne de commande lancée est de ce genre :

/usr/bin/rsync --timeout=600 --verbose --progress --no-h -rlpt -go -H -W --one-file-system --syno-auth --syno-acl --syno-pseudo-root --numeric-ids --exclude-from=/tmp/EXCLUDE  /volume1/MONPARTAGE/ --rsync-path=rsync -e "/usr/bin/ssh -p 11122 -oNumberOfPasswordPrompts=1 -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -oServerAliveInterval=10 -oServerAliveCountMax=60" -s raphael@10.0.10.89::Public/ --exclude=/*/#recycle/

et le fichier exclude contient ça :

/#recycle/***
/#snapshot/***
/@eaDir/SYNO@.fileindexdb/***
/@eaDir/SYNO@file_index_queue
/@eaDir/SYNO@file_index_queue.tmp
/@eaDir/SYNO@.fileindexdb@SynoEAStream
/@eaDir/@dedupedb/***

Types de synchro

Depuis le Syno source, si on va dans la section “Liste des tâches”, il y a un bouton pour “Synchroniser maintenant” et un bouton pour “Synchro complète”.

“Synchro maintenant” va faire une synchro très rapide, qui ne fait que copier les fichiers nouveaux/modifiés vers la destination. Pour ~ 20To de données en ~ 4 millions de fichiers, qui a déjà été complètement synchronisé 1h avant, cela met 2-3 minutes. Les fichiers de la destination absents de la source ne sont PAS supprimés.
C’est cette synchro qui est faite par la planification.

“Synchronisation complète” va mettre + de temps (environ 40 minutes pour le même volume de données) mais va créer un miroir complet des données, incluant la suppression des fichiers/dossiers de la destination qui sont absents de la source.

Attention, lorsqu’on fait une syncho complète, les permissions sont copiées également !

Permissions

Lorsque la synchro de dossier partagé est activée, les permissions avancées sont activées sur les partages de la destination ; si on veut que les utilisateurs puissent y acccéder, il faut les ajuster en conséquence (ou les désactiver).
Ça se règle dans le Panneau de config -> Dossiers partagés -> Modifier -> Permissions avancées

Synology Drive Server

Permet la syncho bidirectionnelle entre 2 Syno.

Hyperbackup

Restauration

La restauration d’un dossier partagé se fait en intégralité, sans tenir compte des données pré-existantes.

Lorsqu’on restaure, le contenu existant n’est pas effacé ; il faut d’abord supprimer/vider le partage de réception avant de restaurer Si le partage n’existe pas, il est automatiquement créé.

Spécificités Btrfs

Snapshots

Si le système de fichiers d’un dossier partagé est btrfs, on peut installer le paquet “Snapshot Replication”.
Celui-ci permet de gérer les instantanés. L’assistant est assez intuitif.

Pour un dossier partagé donné, si on coche la case “Rendre visible” (onglet Avancé), on peut accéder aux instantanés dans le dossier #snapshots à la racine du dossier partagé.
Ceci permet également d’activer la fonctionnalité des “Versions précédentes” dans l’explorateur Windows.

Si on veut analyser l’espace utilisé sur le dossier partagé avec ncdu, il faut penser à exclure ce dossier :
ncdu /volume1/MONPARTAGE --exclude "#snapshot*"

Réplication

Permet de dupliquer un dossier partagé vers un 2e NAS, par les commandes btrfs send et btrfs receive.
Si cette fonctionnalité est activée, un snapshot est créé à chaque réplication.

Par défaut, seul l’instantané généré lors de la réplication est répliqué.
Il est toutefois possible d’envoyer en + également les instantanés locaux. C’est une option disponible lors de l’assistant, ou en modifiant la tâche de réplication (onglet Avancé). Elle ne concerne que les instantanés créés après l’activation de l’option !

Sur la source, des snapshots des partages réseau sont dans /volume1/@sharesnap. C’est ce chemin qui est utilisé pour le send.
Sur la destination, la replication en cours est stockée dans le dossier /volume1/@sharesnap_receiving/.

La réplication se configure depuis le NAS source, et elle nécessite que les volumes sur les 2 NAS soient formatés en btrfs.
L’utilisateur choisi pour établir la connexion doit être membre du groupe “administrators” sur la destination.

Quand un partage sur la destination est paramétré pour recevoir des instantanés, on ne peut plus lui configurer des instantanés locaux.

Dans les paramètres de l’app Snapshot Replication, on peut modifier le nombre de tâches en parallèle ; par défaut c’est 1 seule.
Ainsi, même si des réplications sont planifiées au même moment, il n’y aura pas de parallélisation des accès disques, afin de conserver des performances optimales.

Nettoyage de l’espace

Pour que l’espace soit réellement récupéré lors de la suppression d’un snapshot, on peut activer le nettoyage des données. Pour ceci :
Gestionnaire de stockage -> Stockage -> bouton “Planifier le nettoyage des données”

On peut choisir des périodes sur lesquelles ce nettoyage est mis en pause.

Divers

restauration des utilisateurs depuis une sauvegarde (.dss) lorsqu’ils existent déjà sur la cible ?
-> les passwords des utilisateurs existants ne semblent pas remplacés par les éléments de la sauvegarde

Synoacl

synoacltool -add /volume2/backups/latest/LOGICIELS/ everyone:*:deny:-w-pdD-A-W-Co:fd–

find /volume2/backups/history/xxx/$share/* -type d -exec synoacltool -set-archive “{}” is_inherit,is_support_ACL ;

20 Dec 2024, 00:00

Notes sur Azure

Portail Azure

https://portal.azure.com

La colonne de gauche inclut Accueil, Tableau de bord et Tous les services.
Ensuite viennent les services favoris. On peut supprimer ces favoris dans “Tous les services -> Favoris”.
On peut ajouter des services aux favoris dans “Tous les services -> Tout” (ou Récent) en cochant l’étoile.

Facturation

L’organisation de la facturation dépend du type de contrat. Par exemple :
Microsoft Online Services Program
Enterprise Agreement
Microsoft Customer Agreement
etc…

Pour voir le type de contrat :

Portail Azure -> Cost Management + billing -> Billing Scopes
Le type de contrat est listé pour chaque billing scope (étendue de facturation)

https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/view-all-accounts

MCA

Le point de départ est le compte de facturation (billing account). C’est ici qu’est conclu le contrat de licence (MCA).
Un compte contient 1 ou plusieurs profils de facturation.

Chaque profil (Billing Profile) correspond à une facture. Il comprend notamment :

  • des informations de paiement (numéro CB)
  • 1 ou plusieurs sections de facturation (invoice section)

Un profil doit avoir un plan Azure pour utiliser des ressources Azure.
Si pas de plan Azure dans le profil, il sera impossible d’y créer un abonnement (subscription) Azure. Le plan est visible dans les Propriétés du profil de facturation.
Lorsque l’on crée un profil de facturation via Azure, il me semble que ça crée automatiquement un plan Azure (probablement Pas-as-you-go ?).
Pour ajouter un plan Azure à un profil pré-existant qui n’en a pas, essayer avec cette URL :
https://portal.azure.com/?createAzurePlan=true#view/Microsoft_Azure_SubscriptionManagement/SubscriptionCreateBlade

Chaque section de facturation contient 1 ou plusieurs “Subscriptions” (abonnements) et/ou autres produits d’azure marketplace

On peut facilement transférer une abonnement vers une autre section de facturation au sein du même profil.
Pour ceci, il faut rentrer dans l’aperçu (Overview) d’un abonnement en passant par le menu “All billing subscriptions”. Si on passe par le menu “Azure subscriptions” l’option ne sera pas disponible.
Une fois ouvert l’aperçu, on a, dans le menu en haut, l’option “Change -> Invoice section” qui permet de choisir une autre section de facturation au sein du même profil.

Un abonnement contient des groupes de ressources ;
qui contiennent eux-mêmes des ressources.

Le nom du “billing profile” sera visible sur la facture.
Les noms des “invoice sections” seront visible également

Il me semble que le nom du “billing account” n’est pas visible sur la facture.

On peut prendre un abonnement de support ; sinon, seulement un support pour la facturation mais pas de support technique.

Groupe de ressources

Un Groupe de ressources est un conteneur “logique” qui a pour but de réunir toutes le ressources qui peuvent être utilisées par un “projet”, une “solution”. Par exemple des VMs, du stockage, etc.

À la création, on l’associe à un abonnement, qui sera utilisé pour la facturation. On lui donne un nom, et on choisit sa localisation géographique.
On peut ensuite lui donner des “étiquettes”, avec chacune une valeur, qui sont des catégories.

Entra

Voir https://memo.raphaelguetta.fr/post/azure-entra

Azure files

Voir https://memo.raphaelguetta.fr/post/azure-files

GPO

Pour faire littéralement des GPO, il faut nécessairement un serveur virtuel !

https://learn.microsoft.com/fr-fr/entra/identity/domain-services/manage-group-policy

Sinon nous pouvons ne pas avoir de DC, et gérer les appareils avec Intune (endpoint manager ; Mobile Device management, soit MDM)
https://memo.raphaelguetta.fr/post/azure-intune

RBAC

Role-based Access Control
https://learn.microsoft.com/en-us/azure/role-based-access-control/overview
Un rôle contient 3 éléments :

  • le “security principal”, l’élement concerné par l’attribution de rôle (user/group/service principal/managed identity)
  • la définition de rôle, qui est un ensemble de permissions (R/W/delete/mofify/grant etc)
  • l’étendue (scope), qui définit l’ensemble de resosurces auxquelles s’applique ce rôle (groupe de gestion/abonnement/groupe de ressource/ressource)

L’assignation d’un rôle (role assignment) est l’action d’attacher une définition de rôle à un security principal .

ABAC

Attribute-based Access Control
https://learn.microsoft.com/en-us/azure/role-based-access-control/conditions-overview

12 Dec 2024, 00:00

Azure Files : authentification par Entra Kerberos

Généralités

L’authentification via Entra kerberos permet à un poste de s’authentifier sur Azure Files (ou autre application hébergée sur Azure) en ayant uniquement besoin d’être en lien avec internet (nécessité de pouvoir contacter certains noms de domaine publics appartenant à Microsoft).
Cette authentification passe par un ticket Kerberos émis par Azure, qui doit être récupéré par le poste client lors de la connexion utilisateur.

Elle repose sur une architecture hybride (utilisateurs existants sur un AD local qui sont synchronisés sur Entra via Entra Connect Sync).
Les postes utilisés pour accéder aux ressources Azure doivent également être en jonction hybride à Azure (donc joints au domaine local, puis joints à MS Entra). Une jonction simple à Entra, ou une jonction simple au domaine local, ne permettront pas l’authentification auprès des ressources cloud.

Il est nécessaire d’avoir une connectivité au DC local pour définir les autorisations NTFS sur les fichiers/dossiers du partage Azure Files.

Il est également nécessaire d’avoir une connectivité au DC local pour établir la jonction hybride d’un poste.
Il est aussi nécessaire d’avoir une connectivité au domaine local pour paramétrer le poste pour récupérer toutes les informations nécessaires à l’établissement de la connexion au partage réseau Azure Files.
Une fois cette connexion établie, on peut accéder au partage Azure Files sans connectivité au DC (à voir s’il faut renouveler le ticket Kerberos de temps en temps avec un dialogue avec le DC ?)

Présentation générale chez MS

Prérequis

  • il faut une synchronisation des utilisateurs locaux vers Entra via Entra Connect Sync (utilisateurs hybrides)
  • il faut une jointure hybride des postes à Entra
  • le compte de stockage Azure ne doit pas avoir d’autre méthode d’auth déjà activée (la désactiver si c’est le cas)
  • les services WinHttpAutoProxySvc et iphlpsvc doivent être en cours d’exécution (sur le poste client je suppose ? Ça devrait être le cas par défaut)
  • l’authentification multifacteurs (MFA) doit être désactivée pour l’appli Azure représentant le compte de stockage
  • l’OS client doit être Win 10 Pro/Entreprise v2004 ou ultérieure, ou Win Server 2022, complètement à jour (note : pour un serveur qui définit les droits, synchronise vers Entra, mais n’accède pas à des partages Azure, un Server 2016 est OK)

Activation de l’auth

Via le portail Azure

Comptes de stockage -> sélectionner le compte -> Stockage des données -> Partages de fichiers
À côté de “Accès basé sur l’identité”, choisir “Configurer” puis choisir “Microsoft Entra Kerberos”.

J’ai personnellement eu une erreur lors de l’activation en passant par le portail Azure (error : is not available with June21 api version alors je suis passé par Powershell.

Via Powershell

Si besoin :
Install-Module -Name Az.Storage
puis
Connect-AzAccount

Pour activer l’auth :

$rgname = "myressourcegroup"
$saname = "mystorageaccount"
Set-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $saname -EnableAzureActiveDirectoryKerberosForFile $true 

Si on fait ceci depuis un DC local, on peut extraire le nom de domaine local et le GUID de domaine local avec ces commandes :

$domainInformation = Get-ADDomain
$domainGuid = $domainInformation.ObjectGUID.ToString()
$domainName = $domainInformation.DnsRoot

et on peut alors ajouter ces arguments à la commande précédente :
-ActiveDirectoryDomainName $domainName -ActiveDirectoryDomainGuid $domainGuid

Autorisation de l’application

Étape indispensable

Aller sur Entra ID -> Identité -> Applications -> Inscription des applications
et choisir Toutes les applications

On doit y retrouver une application nommée “[Storage Account] mystorageaccount.file.core.windows.net”
On la sélectionne, puis on ouvre le menu “API autorisées”, et on y coche “Accorder un consentement d’administrateur pour Ma Super Entreprise”

Note : autorisations par défaut :
Microsoft Graph -> Autorisations déléguées :

  • openid
  • profile
  • User.Read

Configuration des clients

Pour rappel, le client doit être hybrid-joined à Entra après avoir été joint au domaine.

Il faut activer un paramètre autorisant la récupération des tickets Kerberos lors du login.
Ceci peut se faire via GPO, mais uniquement sur Server 2019 et ultérieur, via :
Config Ordi -> Stratégies -> Modèles d'administration -> Système -> Kerberos -> Autoriser la récupération du ticket Kerberos cloud lors de la connexion
Je suppose qu’il est possible d’importer le modèle kerberos.admx mais je ne l’ai pas fait.

Si on n’a pas de Server 2019+ dans le domaine, on peut le faire par une entrée de registre ; manuellement via :
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters /v CloudKerberosTicketRetrievalEnabled /t REG_DWORD /d 1
ou via une GPO qui ajoute une entrée de registre :
Config ordi -> Préférences -> Paramètres Windows -> Registre -> Nouvel Élément registre :

  • Update
  • HKLM
  • Chemin : SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
  • Nom : CloudKerberosTicketRetrievalEnabled
  • REG_DWORD
  • Valeur : 1

C’est également faisable via intune (voir doc MS).

Il est nécessaire de redémarrer pour appliquer ce paramètre.

une fois ceci fait (et un lecteur connecté ?), on devrait pouvoir voir le ticket Kerberos via la commande klist (à lancer en simple utilisteur et non admin).

Accès à des comptes de stockage Azure via une authentification AD locale

L’activation du paramètre pour Kerberos empêche l’accès par ces postes à un autre compte de stockage Azure, qui serait configuré avec l’authentification via AD locale.
S’il était nécessaire de faire cohabiter les 2, il faudra suivre ces étapes

10 Dec 2024, 00:00

Déployer des imprimantes via Intune

https://call4cloud.nl/deploy-printer-drivers-intune-win32app/
https://www.microcloud.nl/intune-local-ip-printer-deployment/

L’idée générale est de prendre un poste vierge, d’installer la/les imprimantes dessus, et d’exporter les imprimantes.
Il y’a plusieurs méthodes pour ça.
Je me penche pour l’instant sur printBrm.

PrintBRM

Cet outil exporte l’ensemble des imprimantes, ports et pilotes du poste actuel, dans un fichier .printerExport , et les restaure d’un bloc également.
C’est simple, mais peu souple.
Il faut bien avoir noté le nom du port et de l’imprimante, pour les désinstaller correctement via le script de desinstall.

Attention, il n’est pas dans le PATH, donc il faut indiquer son chemin complet :
C:\Windows\System32\spool\tools\printBrm.exe

Création de l’export

On peut utiliser un poste tout fraichement installé, sur lequel on installe les imprimantes à déployer.
On exporte l’ensemble du système d’impression, en GUI :
printmanagement.msc

Sous “Serveurs d’impression”, clic-droit sur “hostname (local)” -> “Exporter les imprimantes vers un fichier”
Cela va créer un fichier .printerExport.

On peut aussi faire l’export en CLI plutôt que de passer par la GUI :
C:\Windows\System32\spool\tools\printBrm.exe /B /F my-export.printerExport

Vérification de l’export et import manuel

Pour inspecter le fichier :
C:\Windows\System32\spool\tools\printBrm.exe /Q /F my-printers.printerExport

Pour le restaurer :
C:\Windows\System32\spool\tools\printBrm.exe /R /F my-printers.printerExport

Attention à ne PAS mentionner .\ avant le fichier .printerexport, sans quoi on a un “File not found”.
Il faut mettre soit juste le nom de fichier s’il est dans le même dossier, soit le chemin complet.

Création du script d’installation

c:\windows\Sysnative\spool\tools\printbrm.exe /R /F my-printers.printerExport

Script de désinstallation

$printername = "Imprimante Bureau"
$portname = "PortImprBureau"

Remove-Printer "$printername"
sleep 5
Remove-PrinterPort -Name "$portname"

Commands

Install :
powershell -executionpolicy Bypass .\deploy-printer.ps1

Uninstall :
powershell -executionpolicy Bypass .\remove-printer.ps1

Détection de l’installation

Présence de la clé de registre :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\PRINTER NAME
Clé Name
Valeur : PRINTER NAME

Exporter les préférences d’impression

Les manipulations précédentes permettent d’exporter/importer les imprimantes, les ports et les pilotes, mais pas les paramètres d’impression !

10 Dec 2024, 00:00

Gestion des appareils avec Entra

Jonction avec Entra

Les appareils peuvent être enregistrés (Entra registered), joints (Entra joined) ou en jonction hybride (Entra hybrid-joined).

https://www.it-connect.fr/inscription-machines-entra-id-registered-joined-hybrid-joined/
https://learn.microsoft.com/en-us/entra/identity/devices/faq
https://learn.microsoft.com/en-us/entra/identity/devices/manage-stale-devices

Registered

https://learn.microsoft.com/en-us/entra/identity/devices/concept-device-registration

Si on ajoute un “Compte professionnel ou scolaire”, même sur un appareil perso, alors l’appareil apparaît dans Entra en tant que Registered. Il reste la “propriété” du son propriétaire de base.
Dans Entra ID, on voit la personne qui a ajouté le Compte pro ou scolaire. Si cette personne est supprimée d’Entra ID, le propriétaire sera défini à Aucun.

Si on supprime le “Compte professionnel” des paramètres de Windows, l’appareil disparaît d’Entra.

Lors du 1er lancement d’Office, si on refuse la gestion de l’appareil par la société (“Non, se connecter à cette application uniquement”), l’appareil n’apparait pas dans Entra, et le compte n’est pas référencé dans Accès pro ou scolaire.
Si on accepte la gestion, ça ajoute le compte pro/scolaire et inscrit l’appareil dans Entra.

Entra-joined

https://learn.microsoft.com/en-us/entra/identity/devices/concept-directory-join

L’appareil appartient à l’organisation, et est joint à Entra ID par un admin de l’organisation.
L’architecture administrative est complètement sur le cloud.
Ce mode permet l’accès aux ressources cloud, ainsi que locales.
Le paramétrage des appareils se fait avec un MDM, comme Intune.
Il faut Win Pro ou + (ou Server 2019+).

Pour joindre l’appareil à Entra, il faut aller dans “Compte professionnel ou scolaire”, puis au lieu de rentrer l’adresse mail, il faut sélectionner la proposition, en bas de la fenêtre (sous “Actions alternatives”), “Joindre cet appareil à Microsoft Entra ID”
(si cette proposition n’apparaît pas, c’est probablement un Windows Famille, ou alors l’ordi est déconnecté d’internet)

Le choix du compte qui établit la jonction définit si le poste est automatiquement inscrit dans Intune, ou non (par le réglage d’inscription d’Intune).

Il est impossible d’avoir un appareil qui soit Entra-joined et joint à un domaine ! L’application d’un mode de connexion empêche l’application du second (on aura un message d’erreur si on essaye). Pour avoir cette configuration, il faut faire une jonction hybride.

Entra hybrid-joined

Ce sont les appareils qui sont joints au domaine local, et également “joints” à Entra ID.
le point de départ est la connexion au domaine local. Puis ce domaine doit être configuré pour permettre une jonction hybride (plusieurs méthodes possibles).
Une fois ceci fait, les postes concernés récupéreront automatiquement la connexion à Entra ID.

https://memo.raphaelguetta.fr/post/entra-hybrid-joined

dsregcmd

La commande dsregcmd permet de diagnostiquer le statut et les problèmes de connexion à Entra ID.

On peut ajouter le flag /debug à chaque paramètre pour avoir plus d’infos.

Le flag /forcerecovery force à se reconnecter.

dsregcmd /status permet de voir le statut de connexion actuel de l’appareil. Un article chez MS donne des informations sur chacun des champs, mais j’en liste ici quelques-uns qui me semblent importants.

Sous"Device State", tout en haut :

  • AzureAdJoined permet de dire s’il est joint à Entra (si YES, il sera donc joined ou hybrid-joined)
  • EnterpriseJoined correspond à Workplace Joined, je n’explore pas cette possibilité
  • DomainJoined correspond à un domaine local (si YES, il sera donc joint uniquement au domaine, ou bien hybrid-joined)

Sous"User State" :

  • NgcSet correspond à l’utilisation de Windows Hello
  • WorkplaceJoined correspond à la présence d’un Compte Professionnel ou scolaire (et le nombre est en dessous, WorkAccountCount)

Sous “Device Details”, on peut trouver l’ID de l’appareil, que l’on retrouvera dans Entra ID (sous ID de l’appareil, et non ID de l’objet).
“Device Details” n’apparaît que si l’appareil est (hybrid-)joint à Entra.
“DeviceAuthStatus” doit être à SUCCESS, sinon c’est qu’il y a un problème au niveau de son enregistrement sur Entra ID.

Sous “Tenant Details”, on voit les détails du tenant Entra (notamment son ID, que l’on retrouve sur la page d’accueil d’Entra).
On y voit aussi MdmUrl, à voir si c’est utile pour la confguration d’Intune ?

Défaire la jonction

Paramètres -> Comptes -> Accès professionnel ou scolaire -> Connecté par xx@xx -> Déconnecter
Ça exige d’avoir un compte admin local auquel on peut se connecter.

On peut aussi défaire la jonction en invite de commande en admin :
dsregcmd /debug /leave
Attention, il n’y a pas de garde-fou, il faut avoir accès à un compte hors de l’organisation pour ouvrir une session après le redémarrage !
Si il n’y avait pas de compte admin, un identifiant de l’organisation sera proposé au redémarrage, sans possibilité de changer, et le mot de passe ne fonctionnera pas.
En ce cas, on peut essayer de réactiver le compte Administrateur, par exemple avec chntpw.

L’appareil disparaîtra d’Entra et Intune.

Admin locaux des appareils

https://learn.microsoft.com/en-us/entra/identity/devices/assign-local-admin

Selon le paramétrage d’Entra, l’utilisateur effectuant la jonction sera admin local du poste, ou non.
Ceci se paramètre dans
Entra admin center -> Entra ID -> Devices -> Overview -> Manage settings
et activer “Registering user is added as local administrator on the device during Microsoft Entra join (Preview)”.
À noter que l’utilisateur sera supprimé du groupe Local admins si la jonction à Entra est supprimée.

De plus, les utilisateurs avec les rôles Entra suivants :

  • “Global Admin”
  • “Entra Joined Device Local Administrator”
    auront également les droits admin lorsqu’ils ouvrent une session sur un poste (quel que soit le poste, on ne peut pas filtrer par ce mécanisme).
    Les modifications sur les membres de ces groupes seront bien effectives, même sur des postes qui ont été joints auparavant (il y’a bien sûr un délai de synchro nécessaire, qui peut aller jusqu’à 4h selon la doc MS).
    Si on révoque le rôle Local Admin d’un utilisateur, celui-ci le conserve tant que sa session reste ouverte. À sa prochaine ouverture de session, il ne les aura plus (si la révocation a été synchro sur les serveurs Entra)

On peut voir ces affectations dans netplwiz.
On voit l’utilisateur qui a fait la jonction directement dans les utilisateurs de l’ordinateur.
Si on va dans
lusrmgr.msc -> Groupes -> Administrateurs
on voit les SID, qui correspondent aux rôles Entra d’admin.

Vérification des SID

https://niklastinner.medium.com/convert-entra-roles-to-sids-132d93ea21fc
https://blog.piservices.fr/post/2023/10/28/azure-ad-convertir-un-guid-azure-ad-en-sid-en-utilisant-powershell

Le SID que l’on voit dans Windows n’est pas visible dans Entra. Si on veut vérifier les SID, il faut récupérer l’id du rôle Entra, puis le convertir en SID via un script que des personnes merveilleuses ont écrit et mis à dispo.

Pour récupérer l’id du rôle, aller sur MS Graph Explorer
Se connecter avec un compte ayant les droits d’accès corrects
Exécuter la requête GET sur https://graph.microsoft.com/v1.0/directoryRoles/
Dans le résultat, chercher (Ctrl-F) le rôle en question (par exemple en cherchant “device”).

Une fois trouvé, on copie l’ID, et on le colle dans le script suivant, dans la variable $objectId
On exécute le script via Powershell, et ça nous donne le SID Windows correspondant.

function Convert-AzureAdObjectIdToSid {
<#
.SYNOPSIS
Convert an Azure AD Object ID to SID
  
.DESCRIPTION
Converts an Azure AD Object ID to a SID.
Author: Oliver Kieselbach (oliverkieselbach.com)
The script is provided "AS IS" with no warranties.
  
.PARAMETER ObjectID
The Object ID to convert
#>
 
    param([String] $ObjectId)
 
    $bytes = [Guid]::Parse($ObjectId).ToByteArray()
    $array = New-Object 'UInt32[]' 4
 
    [Buffer]::BlockCopy($bytes, 0, $array, 0, 16)
    $sid = "S-1-12-1-$array".Replace(' ', '-')
 
    return $sid
}
 
$objectId = "73d664e4-0886-4a73-b745-c694da45ddb4"
$sid = Convert-AzureAdObjectIdToSid -ObjectId $objectId
Write-Output $sid

10 Dec 2024, 00:00

Notes sur Microsoft Entra

Entra ID

https://entra.microsoft.com

Azure Active Directory (AAD) s’appelle maintenant “Entra ID”.
C’est une solution de gestion des identités et d’authentification, avec 2FA, SSO etc…

Cout

https://www.microsoft.com/fr-fr/security/business/microsoft-entra-pricing

Différents niveau de prix.
Niveau basique gratuit.
Niveau P1 (Premium 1) inclus dans Microsoft 365 Business Premium (et non Standard)

Le niveau gratuit semble suffire pour une gestion basique.

Réinitialisation de mot de passe libre-service

Non disponible dans les services gratuit. Nécessite Microsoft Entra ID Premium (P1/P2).

Entra Domain Services

Anciennement Azure Active Directory Domain Services (AADDS).
Entra DS Permet de fournir des fonctionnalités de domaine hébergées sur Azure (sans controleur de domaine).
MS appelle ça un “domaine managé” (ou domaine géré).

Il me semble que c’est dédié à l’administration centralisée de serveurs, mais pas pour les machines utilisateurs (le domaine managé n’est pas accessible sans VPN).

Synchronisation avec un AD local

Identité hybride

Présentation chez MS
Lorsqu’un utilisateur possède une identité commune sur les services clouds et le système sur site (on-premises), MS appelle ça une identité hybride.

Il y’a plusieurs façons d’obtenir des identités hybrides.

Password hash Sync : le hash du mot de passe local est synchronisé vers Entra ID ; permet de se connecter directement auprès des services MS avec le même mot de passe que sur le domaine local

Pass-through authentication : les demandes d’authentification auprès du cloud sont transmises au serveur AD on-premises qui les valide

Federation : si l’authentification n’est pas faite par Entra ID mais par un système externe, qui peut avoir ses propres contraintes.

Gestion des utilisateurs

Désactiver l’expiration du mot de passe

Peut se faire en interface web pour l’ensemble des utilisateurs, mais pour du cas par cas, peut uniquement se faire depuis Powershell.

Appareils

Les appareils peuvent être enregistrés (Entra registered), joints (Entra joined) ou en jonction hybride (Entra hybrid-joined).
https://www.it-connect.fr/inscription-machines-entra-id-registered-joined-hybrid-joined/

https://learn.microsoft.com/en-us/entra/identity/devices/faq

https://learn.microsoft.com/en-us/entra/identity/devices/manage-stale-devices

Registered

https://learn.microsoft.com/en-us/entra/identity/devices/concept-device-registration

Si on ajoute un “Compte professionnel ou scolaire”, même sur un appareil perso, alors l’appareil apparaît dans Entra en tant que Registered. Il reste la “propriété” du son propriétaire de base.
Dans Entra ID, on voit la personne qui a ajouté le Compte pro ou scolaire. Si cette personne est supprimée d’Entra ID, le propriétaire sera défini à Aucun.

Si on supprime le “Compte professionnel” des paramètres de Windows, l’appareil disparaît d’Entra.

Lors du 1er lancement d’Office, si on refuse la gestion de l’appareil par la société (“Non, se connecter à cette application uniquement”), l’appareil n’apparait pas dans Entra, et le compte n’est pas référencé dans Accès pro ou scolaire.
Si on accepte la gestion, ça inscrit l’appareil dans Entra.

Entra-joined

https://learn.microsoft.com/en-us/entra/identity/devices/concept-directory-join

L’appareil appartient à l’organisation, et est joint à Entra ID par un admin de l’organisation.
L’architecture administrative est complètement sur le cloud.
Ce mode permet l’accès aux ressources cloud, ainsi que locales.
Le paramétrage des appareils se fait avec Intune (remplacement des GPO, en différent).
Il faut Win Pro ou + (ou Server 2019+).

Pour joindre l’appareil à Entra, il faut aller dans “Compte professionnel ou scolaire”, puis au lieu de rentrer l’adresse mail, il faut sélectionner la proposition, en bas de la fenêtre (sous “Actions alternatives”), “Joindre cet appareil à Microsoft Entra ID”
(si cette proposition n’apparaît pas, c’est probablement un Windows Famille, ou alors l’ordi est déconnecté d’internet)

Le choix du compte qui établit la jonction définit l’activation d’intune sur le poste ou non.

Il est impossible d’avoir un appareil qui soit Entra-joined et joint à un domaine ! L’application d’un mode de connexion empêche l’application du second (on aura un message d’erreur si on essaye). Pour avoir cette configuration, il faut faire une jonction hybride.

Entra hybrid-joined

Ce sont les appareils qui sont joints au domaine local, et également “joints” à Entra ID.
le point de départ est la connexion au domaine local. Puis ce domaine doit être configuré pour permettre une jonction hybride (plusieurs méthodes possibles).
Une fois ceci fait, les postes concernés récupéreront automatiquement la connexion à Entra ID.

https://memo.raphaelguetta.fr/post/azure-entra-hybrid-joined

Il me semble que, une fois la jonction hybride établie, si on cherche à ajouter un Compte professionnel ou scolaire, l’appareil sera connecté au GPM (Intune ?) de l’entreprise.

dsregcmd

La commande dsregcmd permet de diagnostiquer le statut et les problèmes de connexion à Entra ID.

On peut ajouter le flag /debug à chaque paramètre pour avoir plus d’infos.

Le flag /forcerecovery force à se reconnecter.

dsregcmd /status permet de voir le statut de connexion actuel de l’appareil. Un article chez MS donne des informations sur chacun des champs, mais j’en liste ici quelques-uns qui me semblent importants.

Sous"Device State", tout en haut :

  • AzureAdJoined permet de dire s’il est joint à Entra (si YES, il sera donc joined ou hybrid-joined)
  • EnterpriseJoined correspond à Workplace Joined, je n’explore pas cette possibilité
  • DomainJoined correspond à un domaine local (si YES, il sera donc joint uniquement au domaine, ou bien hybrid-joined)

Sous"User State" :

  • NgcSet correspond à l’utilisation de Windows Hello
  • WorkplaceJoined correspond à la présence d’un Compte Professionnel ou scolaire (et le nombre est en dessous, WorkAccountCount)

Sous “Device Details”, on peut trouver l’ID de l’appareil, que l’on retrouvera dans Entra ID (sous ID de l’appareil, et non ID de l’objet).
“Device Details” n’apparaît que si l’appareil est (hybrid-)joint à Entra.
“DeviceAuthStatus” doit être à SUCCESS, sinon c’est qu’il y a un problème au niveau de son enregistrement sur Entra ID.

Sous “Tenant Details”, on voit les détails du tenant Entra (notamment son ID, que l’on retrouve sur la page d’accueil d’Entra).
On y voit aussi MdmUrl, à voir si c’est utile pour la confguration d’Intune ?

Défaire la jonction

Paramètres -> Comptes -> Accès professionnel ou scolaire -> Connecté par xx@xx -> Déconnecter
Ça exige d’avoir un compte admin local auquel on peut se connecter.

On peut aussi défaire la jonction en invite de commande en admin :
dsregcmd /debug /leave
Attention, il n’y a pas de garde-fou, il faut avoir accès à un compte hors de l’organisation pour ouvrir une session après le redémarrage !
Si il n’y avait pas de compte admin, un identifiant de l’organisation sera proposé au redémarrage, sans possibilité de changer, et le mot de passe ne fonctionnera pas.
En ce cas, on peut essayer de réactiver le compte Administrateur, par exemple avec chntpw.

L’appareil disparaîtra d’Entra et Intune.

Entra security

Comportement de Win 11 lors de l’OOBE

Pc Win 11 Pro : s’il est setup en tant que “pour le travail ou l’école” :

  • si adresse quelconque, message comme quoi ça n’appartient pas à un compte MS pro ou scolaire
  • si adresse hotmail, même message d’erreur
  • avec adresse qui appartient bien à un domaine géré chez MS 365, le poste apparaît dans Entra ID en tant que “Microsoft Entra joined”.

Pour pouvoir joindre un domaine, il faut se déconnecter de AzureAD (Entra) dans Paramètres -> Comptes -> Accès Professionnel ou Scolaire ; le poste disparaît alors de la liste dans Entra ID.

05 Dec 2024, 00:00

Faire une jonction hybride à Entra

Généralités

https://learn.microsoft.com/en-us/entra/identity/devices/troubleshoot-hybrid-join-windows-current

La jonction hybride ne peut se faire que lorsque le poste est déjà joint à un domaine.

Plusieurs possibilités existent pour établir cette jonction. Celle décrite en méthode principale par MS va concerner l’ensemble des postes de la forêt. Elle se fait via Entra Connect Sync, avec une configuration complémentaire (facultative pour la synchro des users/passwords, mais obligatoire pour la jonction hybride généralisée).

Prérequis

En tous les cas, il faudra :

  • une synchro des utilisateurs/passwords via Entra Connect Sync
  • les droits Administrateur d’entreprise pour la forêt locale
  • l’autorisation des utilisateurs de joindre leur machine à Entra ID (c’est un paramètre sur l’annuaire Entra)
  • l’accès à certaines URLs Microsoft (voir les détails chez MS ; en l’absence de proxy/firewall/DPI ça ne devrait pas être un souci)

Le paramétrage de la jonction hybride passe par la création d’un point de connection de service (SCP).

Jonction manuelle et contrôlée

Permet de déployer la jonction hybride sur seulement les OU choisies, à fins de test.

https://learn.microsoft.com/en-us/entra/identity/devices/hybrid-join-manual

https://learn.microsoft.com/en-us/entra/identity/devices/hybrid-join-control

Dans mon cas, j’avais déjà activé le SCP via Entra connect Sync avant de le faire manuellement ; si les étapes suivantes ne suffisent pas, peut-être que d’autres étapes, automatisées par Entra Connect Sync sont nécessaires.

Supprimer le SCP si déjà existant

Il faut s’assurer que le SCP est absent de la configuration du DC local.
Pour ceci, lancer la modification ADSI adsiedit.msc et naviguer dans :

  • “Configuration [dcname.domain.com]”
  • “CN=Configuration,DC=domain,DC=com”
  • “CN=Services”
  • “CN=Device Registration Configuration”
  • clic-droit sur “CN=62a0ff2e-97b9-4513-943f-0d221bd30080” -> “Propriétés” -> “Éditeur d’attributs”
  • trouver, si elles existent, les valeurs azureADId et azureADName
  • sur chacune d’elles, si elles existent, Modifier -> Supprimer

Déployer les entrées de registre sur les postes clients

Il est nécessaire de déployer les valeurs “TenantId” et “TenantName” sous la clé “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\CDJ\AAD” .

Pour ceci, on passe par une GPO :

  • Config ordi -> Préférences -> Paramètres Windows -> Registre -> Nouvel élément registre (à faire 2 fois)
  • Update
  • HKLM
  • Chemin d’accès : SOFTWARE\Microsoft\Windows\CurrentVersion\CDJ\AAD
  • Nom de valeur : TenantId et TenantName
  • Type : REG_SZ
  • Valeur : l’ID du tenant (trouvable sur la page d’accueil d’Entra) et le nom de tenant (type monentreprise.onmicrosoft.com , ou utiliser un domaine personnalisé qui a été validé sur MS)

Finalisation

Il faut ensuite attendre (ou déclencher) la synchro Entra Connect Sync (après avoir déployé les clés de registre sur le client). Il apparaîtra dans Entra en tant que “En attente” (Pending).
On peut alors redémarrer le poste pour finaliser la jonction hybride, ou le faire manuellement en administrateur avec la commande dsregcmd /debug /join.
Le poste sera alors considéré comme “hybrid-joined” dans Entra ID avec une date d’inscription.
Cette entrée devrait remplacer l’entrée précédente de type “registered” si elle était présente. On perd également l’information sur la personne qui a joint son compte MS (on le voyait en registered, on ne le voit plus en hybrid-joined). Je suppose qu’on peut retrouver cette info avec Intune.

Si ce n’était pas le cas :

  • vérifier que la synchronisation Entra Connect Sync a bien été effectuée récemment, sans erreur
  • attendre suffisamment longtemps pour que l’ensemble serveur/client/Entra soit dans le même état (peut prendre 30 minutes)
  • vérifier dans Entra -> Appareils que l’appareil est bien présent ; si son type de jointure est “hybrid-joined”, vérifier que son état “Inscrit” est bien une date, et non “En attente”
  • s’il est “En attente”, essayer de redémarrer le client, ou lancer dsregcmd /debug /join
  • vérifier avec dsregcmd /status s’il y a d’éventuelles erreurs

Suppression de la jonction

Pour sortir définitivement un poste d’Entra ID, je n’ai pas trouvé d’autre solution que de quitter le domaine puis le joindre à nouveau.

Pour quitter la jonction hybride, il faut entrer dans une invite de commande en administrateur et lancer la commande :
dsregcmd /debug /leave
Cette commande met quelques secondes à aboutir, et l’appareil se retrouve instantanément déconnecté (visible dans le résultat de dsregcmd /status).

Tant que les clés de registre TenantId et TenantName restent présentes, il est toujours possible de re-joindre Entra en entrant dsregcmd /debug /join.
Si on les supprime, la jonction hybride ne fonctionnera plus.

Ceci a également pour effet de supprimer complètement l’appareil de Entra ID. Toutefois, si Entra Connect Sync continue de fonctionner sur le serveur, cet appareil sera re-synchronisé à la prochaine sync en tant que hybrid-join, et en “Pending”. Ça semble être lié à son objectGUID.
Pour qu’il ne soit plus du tout synchronisé, il faut sortir le poste du domaine, puis supprimer le compte Ordinateur sur le DC, puis re-joindre le domaine. La nouvelle entité aura un objectGUID différent, ce qui lui permettra de ne pas être considéré comme hybrid-join lorsqu’il est synchronisé.

Dépannage

https://learn.microsoft.com/en-us/entra/identity/devices/troubleshoot-hybrid-join-windows-current

Suppression accidentelle du poste dans Entra ID

Si un poste est supprimé dans Entra ID sans défaire la jonction avant, celui-ci se pensera toujours hybrid-joined, mais pas Entra ID.
Il réapparaîtra dans Entra ID au cours de la prochaine synchro, mais restera en l’état “Pending”.
Pour être réellmeent ré-enregistré, il est nécessaire de faire dsregcmd /debug /leave puis dsregcmd /debug /join (qui nécessitera une connectivité au DC).
À voir si ça peut être automatisé via GPO ?

20 Nov 2024, 00:00

Azure files - Authentification via AD DS local

Préalables

https://learn.microsoft.com/fr-fr/azure/storage/files/storage-files-identity-ad-ds-enable

Ces paramètres s’activeront sur tous les partages du compte.

Conditions :

  • nécessite un DC (on-prem ou éventuellement en VM ; ici on-prem)
  • nécessite une connectivité permanente des clients au DC
  • supporte uniquement les hybrid-users (donc synchro depuis le DC vers Entra ID)
  • 1 seule forêt
  • accorde des droits uniquement aux Users, pas aux Computers
  • avoir accès à une machine jointe au domaine et sur le même réseau que le DC

Il semble possible de monter le partage depuis une machine non-jointe au domaine.

Il faut vérifier que le compte de stockage n’a pas déjà une source d’AD configurée ; si oui, il faut d’abord la désactiver.

Activation

Il faut inscrire le compte de stockage en tant que Computer (ou service logon account) sur l’AD local.

Installation des modules

On utilise le module AzFilesHybrid qui automatise une partie du processus. Des instructions pour le faire manuellement sont disponibles sur la page chez MS.

Téléchargement du module sur cette page Github

On dézippe les fichiers, et on les installe avec .\CopyToPSPath.ps1 (devrait les mettre dans %username%\Documents\WindowsPowerShell\Modules\ )

Lors de l’import Import-Module AzFilesHybrid , j’ai du installer PowershellGet, et donc lancer la commande en tant qu’admin.
Au lancement suivant, il m’a proposé d’installer 2 autres modules nécessaires, Az et Az.storage.
On peut aussi les installer manuellement avec install-module Az -AllowClobber (AllowClobber permet de forcer l’installation, même si ce module existe déjà dans le système mais en version différente).

Il faut aussi le module “ActiveDirectory” , qui s’installe avec les RSAT (Remote Server Administration Tools).
Pour les installer, on peut les télécharger, ou passer par l’ajout de fonctionnalités Windows dans “Programme et fonctionnalités, ou passer par Powershell.
Pour ceci, en admin, on peut déjà vérifier ce qui est installé :
Get-WindowsCapability -Name RSAT* -Online | Select-Object -Property DisplayName, State
et on regarde la colonne “State”.

On installe :
Add-WindowsCapability –Online –Name "Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0"
puis
Import-Module ActiveDirectory

Activation

Il faut Powershell 5.1 ! Ne semble pas fonctionner avec les versions plus récentes, comme la 7.

Il faut faire les manipulations depuis un poste joint au domaine, et depuis un utilisateur avec au minimum les rôles Azure “Lecteur” sur le groupe de resources (contenant le compte de stockage) et “Contributeur” sur le compte de stockage.
Si on est Owner ou Contributeur sur l’abonnement Azure, ça devrait être OK.
Il faut aussi avoir le droit de créer des objets sur l’AD local.

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
Import-Module -Name AzFilesHybrid
Connect-AzAccount
$SubscriptionId = "<your-subscription-id-here>"
$ResourceGroupName = "<resource-group-name-here>"
$StorageAccountName = "<storage-account-name-here>"
$SamAccountName = "<sam-account-name-here>"
(SamAccountName est le nom du “Computer” qui VA être créé sur l’AD ; max 15 caractères)

Select-AzSubscription -SubscriptionId $SubscriptionId

Join-AzStorageAccount -ResourceGroupName $ResourceGroupName -StorageAccountName $StorageAccountName -SamAccountName $SamAccountName
(pour cette étape, il est nécessaire d’être connecté au DC)

Le compte Computer sur l’AD est désormais créé.

Si besoin de débuguer l’accès, on peut lancer cette commande :
Debug-AzStorageAccountAuth -StorageAccountName $StorageAccountName -ResourceGroupName $ResourceGroupName -Verbose
qui permettra notamment d’avoir l’info du type d’auth actuellement activé sur ce compte de stockage.

Droits sur le partage

Portail Azure -> Partage en question -> IAM -> Ajouter -> une attribution de rôle
Rechercher “SMB” et choisir “Collaborateur de pargae SMB” (pour ceux qui doivent simplement travailler sur les fichiers du partage)
Choisir “Utilisateur, Groupe ou UPN” puis choisir l’utilisateur ou le groupe en question (issu de l’AD)

27 May 2024, 00:00

Azure et Powershell

Ensemble de modules Az

https://learn.microsoft.com/en-us/powershell/azure/install-azps-windows

Install-Module -Name Az -Repository PSGallery -Force

Va installer plein de sous-modules

Module Azure AD

Install-Module -Name AzureAD
Connect-AzureAD

Module Azure Storage

Install-Module -Name Az.Storage
Connect-AzAccount

Gestion des utilisateurs

Désactiver l’expiration du password pour 1 utilisateur

$mail = "testcloud@escda.fr"
Set-AzureADUser -ObjectId $mail -PasswordPolicies DisablePasswordExpiration

27 May 2024, 00:00

Azure Files Sync

Présentation

Présentation chez MS
Planification
Guide de déploiement

Fonctionne par groupe de synchronisation (sync group), qui associe un/plusieurs point(s) de terminaison local (server endpoint : le chemin sur le serveur) et un point de terminaison distant (cloud endpoint : un partage Azure Files).
Pass par l’installation d’un agent sur chaque serveur à configurer (supporté à partir de Server 2016, ou 2012R2 avec Windows Management Framework).

Sur le serveur, il est nécessaire que le lecteur soit en accès direct (propriétaire du filesystem), et en NTFS.
Les liens durs et symboliques seront ignorés.

L’accès par clé doit être activé sur le compte de stockage.

Les données seront synchro en bi-directionnel ; toutefois, la propagation cloud -> serveurs locaux sera plus lente que le sens inverse (“This is because Azure Files today lacks an efficient change detection mechanism like Windows Server has, so changes to the Azure file share directly will take time to propagate back to the server endpoints”).
En gros une tâche planifiée (“change detection job”) est déclenchée toutes les 24h, l’agent va alors scanner tous les fichiers et détecter les changements.

Il faut déployer un “Storage Sync Service”.
Un serveur ne peut faire partie que d’un seul “Storage sync Service”. MS conseille globalement d’utiliser un seul SSS.

Maximum 30 partages par serveur.

Mise en place de l’infrastructure

Préparation du serveur

Sur chaque serveur sur lequel l’agent de sync sera installé, désactiver “Internet Explorer Enhanced Security Configuration”.
Gestionnaire de serveur -> Serveur local -> Section “Proprietés” -> Configuration de sécurité renforcée d’IE -> les 2 à Non

Création du Storage Sync Service (SSS)

Azure portal -> Create ressource
chercher “Azure File Sync” -> Create
Choisir l’abonnement Azure ; choisir le groupe de ressources concerné ; donner un nom ;
Le réseau devrait être ok par défaut; Valider la création.

Installation de l’agent de synchronisation

Télécharger ici le paquet correspondant à la version du serveur.
Install classique.
Sera installé dans le dossier : C:\Program Files\Azure\StorageSyncAgent\
Peut être configuré pour utiliser Windows Update.

Inscription du serveur auprès du service de sync

Il faut avoir les rôles Owner ou Contributor sur le SSS.

Au lancement de l’interface Azure Files Sync, il est demandé d’inscrire le serveur. On choisit “AzureCloud”, on se connecte, et on sélectionne la bonne ressource.
Si l’interface ne se lance pas, lancer C:\Program Files\Azure\StorageSyncAgent\ServerRegistration.exe

On peut alors le voir sur le portail Azure, sur la ressource SSS, dans “Sync -> Registered servers”

Création du groupe de synchro

Un groupe de synchro équivaut à un dossier cloud.
Il faut faire la suite pour chaque nouveau groupe de synchronisation.

Azure Portal -> trouver la ressource (par exemple via le groupe de ressource, ou le menu de service “Storage Sync Services”

Sync -> Sync groups -> Create sync group
On donne un nom, on choisit l’abonnement, le compte de stockage, le partage Azure
Le groupe de synchro est alors créé, mais n’a aucun “server endpoint”

Création du point de terminaison serveur

Il faut maintenant créer un SEP (Server EndPoint).
À faire sur chacun des serveurs qui sera dans le groupe de synchro.
Attention, le choix du lecteur et du chemin sur le serveur est définitif ! Il ne pourra pas être modifié par la suite.

Ouvrir le groupe de synchro -> Add server endpoint
Choisir le serveur
Entrer le chemin local des données à synchroniser (avec la lettre de lecteur)
Activer si besoin le cloud tiering

Initial sync : uniquement disponible pour le 1e serveur que l’on synchronise.
MS conseille de conserver “Merge” dans la majorité des cas, même si la source ou la destination est vide.

Initial download : aucun impact si le partage est vide.
“Namespace first, then content” semble adapté pour avoir toutes les données en local.
Ne pourra pas être changé par la suite !

On peut alors valider ; ça va créer le SEP, et la synchro sera déclenchée quelques temps plus tard.

Forcer la synchro

On peut forcer la synchro depuis le cloud vers le serveur avec la commande Invoke-AzStorageSyncChangeDetection.
https://learn.microsoft.com/en-us/powershell/module/az.storagesync/invoke-azstoragesyncchangedetection

On définit nos ressources :

$rgname = "myressourcegroup"  
$sss = "mysyncservice"  
$sgname = "mysyncgroup"

Ensuite, on récupère le GUID du point de terminaison cloud :

$cep = (Get-AzStorageSyncCloudEndpoint -ResourceGroupName $rgname -StorageSyncServiceName $sss -SyncGroupName $sgname).CloudEndpointName

puis on force la synchro :

Invoke-AzStorageSyncChangeDetection -ResourceGroupName $rgname -StorageSyncServiceName $sss -SyncGroupName $sgname -Name $cep

Dépannage

https://learn.microsoft.com/en-us/troubleshoot/azure/azure-storage/files/file-sync/file-sync-troubleshoot-sync-errors

Décommissioner un serveur

https://learn.microsoft.com/en-us/azure/storage/file-sync/file-sync-server-endpoint-delete

Si on veut retirer un serveur, il faut d’abord s’assurer que tous ses changements on bien été transférés vers le cloud.
Observateur d'evts -> Journaux des applications et services -> Microsoft -> File Sync -> Agent -> Telemetry
Chercher un evt 9102 récent.

Autres indications sur le portail Azure :
Storage accounts -> file share -> used size
SSS -> Sync group

  • 0 persistent sync error
  • server endpoint -> sync status
  • Upload et Download ont des timestamps récents

Pour être sûrs que des nouvelles données ne soient plus écrites sur le serveur, on désactive le partage réseau du serveur.
ATTENTION, ne pas modifier les droits d’accès sur le serveur pour empêcher l’accès, sinon cette modification sera répliquée sur Azure.
S’il n’est pas possible de supprimer le partage (par exemple plusieurs dossiers partagés sous un seul chemin), il faudra changer le chemin d’accès sur le serveur (par ex. renommer le dossier) à la fin de la manip.

On peut alors supprimer le “server endpoint”, puis le “cloud endpoint”, puis le groupe de synchro.

Powershell

cd 'C:\Program Files\Azure\StorageSyncAgent'
Import-Module -Name .\StorageSync.Management.ServerCmdlets.dll/subscriptions/114f9a3c-73d1-4aa8-bf49-16617988e42a/resourceGroups/GroupeRessourcesESCDA/providers/Microsoft.StorageSync/storageSyncServices/ServiceSynchroFichiers/registeredServers/6a7b6254-cfb5-438e-9189-0f011cbb5b1f