Propriétaire
Le propriétaire d’un appareil a certaines possibilités en +, comme gérer les applications dans le Portail d’entreprise.
On peut modifier ou supprimer ce propriétaire :
Intune -> Appareils -> Tous les appareils -> choisir l'appareil -> Propriétés -> Changer (ou Supprimer) l'utilisateur principal
Si aucun propriétaire n’est affecté à un ordi, il sera considéré comme un ordi partagé.
Groupes locaux
Il est possible d’ajouter automatiquement un/des utilisateurs à un groupe local du poste sur lequel ils se connectent.
Ceci peut par exemple servir à accorder automatiquement le droit de se connecter en RDP à un poste.
Intune -> Endpoint Security -> Manage -> Account Protection
Create Policy -> Local user group membership
On y choisit le groupe local auquel appartiendront les utilisateurs.
On y affecte les utilisateurs/groupes concernés.
Enfin, on assigne les groupes/postes sur lesquels ce paramétrage sera effectif.
Admin locaux
Il est possible d’utiliser ce mécanisme pour ajouter les utilisateurs au groupe “Administrateurs”. Ceci permet une certaine granularité dans cette affectation (choix des postes).
Mais si on souhaite qu’un utilisateur soit systématiquement admin, sur tous les postes, on peut utiliser les rôles Entra pour ça, et ajouter l’utilisateur au rôle “Microsoft Entra Joined Device Local Administrator”.
Office
intune-configs-office.html
Installation d’applications
Installs MSI
https://www.it-connect.fr/intune-comment-deployer-une-application-au-format-msi/
Télécharger le fichier MSI.
Identifier le paramètre d’installation silencieuse en lançant my-installer.msi /?.
Par exemple, pour 7zip, c’est /quiet.
Aller sur le portail Intune -> Applications -> Windows puis Créer.
Type : application métier
Choisir le fichier MSI précédemment téléchargé
Renseigner un “Nom de l’éditeur” (par exemple 7-zip)
Choisir un contexte d’installation (uniquement la session de l’utilisateur, ou bien au niveau de la machine) ; parfois cette option n’est pas dispo
“Ignorer la version de l’application” permet d’installer les applications qui se mettront à jour toutes seules (ex : Firefox, Chrome…)
On place le flag silencieux dans “Arguments de ligne de commande”
Dans l’écran suivant, on choisit les affectations souhaitées.
“Obligatoire” signifie que l’appli sera forcément installée.
“Disponible” signifie que l’appli est disponible dans le “Portail d’entreprise” pour que les utilisateurs qui le désirent puissent l’installer.
“Désinstaller” sert à forcer la désinstallation de l’appli.
Quelques (dizaines de) minutes après la validation, l’appli devrait se retrouver sur les postes.
Win32 apps
Permet de déployer tout type de programme personnalisé, notamment des .exe et des scripts.
Doit être packagé en un fichier .intunewin. Ceci se fait avec IntuneWinAppUtil.
Création du fichier .intunewin
On met tous les fichiers nécessaires dans un dossier, par exemple .\0-Input.
Il faut spécifier un fichier, qui est celui qui sera exécuté, c’est le “setup file”.
On spécifie un dossier de sortie qui stockera le fichier résultant.
\IntuneWinAppUtil.exe -c <setup_folder> -s <setup_file> -o <output_folder>
typiquement
\IntuneWinAppUtil.exe -c .\0-Input -s .\Install.ps1 -o .\1-Output
Création du déploiement
Dans le centre d’admin Intune, aller dans Apps -> Windows -> Create -> Windows apps (Win32)
Définir un nom, une description, un éditeur.
Il faut alors définir la commande à lancer. Ici, on lance un script Powershell, donc on met :
%windir%\sysnative\WindowsPowerShell\v1.0\powershell.exe -Executionpolicy Bypass .\MyScript.ps1
En commande désinstallation, on met
%windir%\sysnative\WindowsPowerShell\v1.0\powershell.exe -Executionpolicy Bypass .\Uninstall.ps1
Les règles de détection permettent au système de savoir que l’application a été installée.
Il est obligatoire d’en préciser au moins une.
En ce cas, comme on modifie le registre, on vérifie l’existence d’une ruche.
On définit le chemin à rechercher (par exemple HKEY_CURRENT_USER\SOFTWARE\0_TEST).
Scripts
Remediations
https://learn.microsoft.com/fr-fr/intune/intune-service/fundamentals/remediations
Nécessite une licence Windows Enterprise (standalone, ou incluse dans Microsoft 365 F3, E3 ou E5)
Définition automatique du domaine de connexion
Permet de n’avoir besoin de taper que “user” sur l’écran de connexion Windows, plutôt que “user@mondomaine.com”.
Note : taper uniquement “user” semble fonctionner si le profil a déjà été créé.
Mais pour une première ouverture, il faut taper l’UPN complet.
Pour éviter ça, on peut définir un domaine par défaut, qui sera appelé si on ne tape pas de “@mondomaine.com”.
Intune -> Appareils -> Configuration -> Créer -> Nouvelle stratégie
Win 10 et ultérieurs -> Modèle -> Restrictions d’appareil
Nommer la configuration
Section “Mot de passe” -> “Domaine de locataire Microsoft Entra préféré”
entrer mondomaine.com
Affecter les postes souhaités.
On peut laisser vide “Régles d’applicabilité”.
Une fois appliqué, on verra (entre autres) la clé de registre HKLM\SOFTWARE\Policies\Microsoft\AzureAdAccount et la valeur PrefferedTenantDomainName.
Si on souhaite se connecter sur le poste avec un utilisateur local, on peut utiliser la syntaxe
.\admin
RDP
Si on essaye d’accéder en RDP à un poste qui n’est pas joint à Entra, et qui n’a qu’un utilisateur local (par exemple admin), le domaine de connexion sera automatiquement ajouté au username entré, soit admin@mondomaine.com, ce qui ne fonctionnera pas. Pour éviter ceci, on peut utiliser la syntaxe
remotecomputer\admin
Mais ceci nécessite de connaître et taper le hostname du poste distant, ce qui n’est pas commode. Essayer en ce cas la syntaxe
local\admin
(voir si ça fonctionne ?)
ou .\user ?
Suppression
Selon mes tests, il suffit d’arrêter d’appliquer la stratégie, et le paramétrage finit par disparaître du poste.
Mais ce post indique quelques entrées de registre si ceci ne suffisait pas :
https://community.spiceworks.com/t/removing-preferred-aad-tenant-domain-name/933841/2
Config de Windows Hello
Windows Hello Entreprise -> Utiliser Windows Hello for business (utilisateurs)
Windows Hello Entreprise -> Utiliser Windows Hello pour les entreprises (appareils)
Windows Hello peut aussi être complètement désactivée au niveau du tenant
Afficher une liste d’utilisateurs sur l’écran de connexion
Devices -> Configuration profile
Settings Catalog
Chercher
“Enumerate local users on domain-joined computers”
L’appliquer au niveau du poste.
Map drives
Je vois 2 méthodes qui fonctionnent : l’import de modèles ADMX, et un script Powershell.
ADMX
Avec les modèles ADMX, le lecteur réseau sera créé, même si le chemin réseau est introuvable (pratique pour être sûr que le lecteur est créé, même en l’absence de connectivité vers le serveur).
Par contre, si le lecteur est déconnecté, il ne sera plus jamais connecté automatiquement ; le paramétrage s’applique une seule fois (par utilisateur par poste).
Script Powershell
Il est facile de monter un lecteur réseau via script Powershell, mais la difficulté est de le faire exécuter automatiquement, sans action de l’utilisateur.
Pour ceci, ce site génère un script qui, si il est lancé hors du contexte utilisateur (donc en user “SYSTEM”), va créer une tâche planifiée qui s’applique à tous les utilisateurs, lors de leur logon.
Ceci fonctionne très bien si la ressource partagée est accessible dès le logon.
Dans le cas où on a besoin d’un VPN pour accéder à la ressource partagée, il faut relancer la tâche planifiée après connexion du VPN.
Pour éviter aux utilisateurs de chercher les tâches planifiées, il est possible de définir un 2nd déclencheur, par exemple le verrouillage de session.
J’ai trouvé la syntaxe grâce à ce post et j’ai rajouté/modifié ce bloc dans le script :
$stateChangeTrigger = Get-CimClass -Namespace ROOT\Microsoft\Windows\TaskScheduler -ClassName MSFT_TaskSessionStateChangeTrigger
$onLockTrigger = New-CimInstance -CimClass $stateChangeTrigger -Property @{
StateChange = 7 # TASK_SESSION_STATE_CHANGE_TYPE.TASK_SESSION_LOCK (taskschd.h)
} -ClientOnly
$atLogonTrigger = New-ScheduledTaskTrigger -AtLogOn
$triggers = @( $atlogonTrigger, $onLockTrigger )
[...]
$null = Register-ScheduledTask -TaskName $schtaskName -Trigger $triggers [...]
Pour trouver les valeurs à utiliser, on peut configurer une tâche planifiée manuellement, via la GUI, puis chercher ses détails via PS :
# On récupère la tâche dans un objet
$task = Get-ScheduledTask "MyTaskName"
# Vue très simplifiée de la tâche
$task
# Vue plus détaillée
$task | select-object *
# Vue des déclencheurs
$task.Triggers
PC partagé
PC partagé ->
LAPS
https://learn.microsoft.com/en-us/intune/intune-service/protect/windows-laps-overview
https://learn.microsoft.com/en-us/intune/intune-service/protect/windows-laps-policy
https://www.it-connect.fr/tuto-intune-configuration-windows-laps/
Autoriser scripts Powershell
https://www.dmtt.blog/post/set-the-powershell-execution-policy-using-an-intune-configuration-profile
Appareils -> Configuration -> Nouvel élément
Modèles d’administration -> Composants Windows -> Windows Powershell -> Turn On script execution (existe aussi en version user)