Utiliser des assemblys UEFI & Configuration Manager pour gérer des appareils avec SEMM

La fonctionnalité SeMM (Mode de gestion Entreprise) surface des appareils UEFI Surface permet aux administrateurs de gérer et de sécuriser la configuration des paramètres UEFI Surface. Pour la plupart des organisations, ce processus s’effectue en créant des packages Windows Installer (.msi) avec l’outil Configurator UEFI dans surface IT Toolkit. Ces packages sont ensuite exécutés ou déployés sur les appareils Surface clients pour inscrire les appareils dans SEMM et mettre à jour la configuration des paramètres UEFI de Surface.

Pour les organisations disposant d’un Configuration Manager de point de terminaison, il existe une alternative à l’utilisation du processus .msi du configurateur UEFI Surface pour déployer et administrer SEMM. Surface UEFI Manager est un programme d’installation léger qui rend les assemblys requis pour la gestion SEMM disponibles sur un appareil. Lorsque vous installez ces assemblys avec Surface UEFI Manager sur un client managé, vous pouvez gérer SEMM via Configuration Manager avec des scripts PowerShell déployés en tant qu’applications. Cela élimine la nécessité d’utiliser l’outil de configuration UEFI de Surface externe.

Remarque

Bien que le processus décrit dans cet article puisse fonctionner avec des versions antérieures de Configuration Manager ou d’autres solutions de gestion tierces, la gestion de SEMM avec Surface UEFI Manager et PowerShell est prise en charge uniquement avec current Branch de Configuration Manager.

Conditions préalables

Avant de commencer le processus décrit dans cet article, familiarisez-vous avec les technologies et outils suivants :

Important

Vous devez également accéder au certificat que vous envisagez d’utiliser pour sécuriser SEMM. Pour plus d’informations sur la configuration requise pour ce certificat, consultez Exigences de certificat SEMM.

Il est très important que ce certificat soit conservé dans un endroit sûr et correctement sauvegardé. Si ce certificat est perdu ou inutilisable, il n’est pas possible de réinitialiser l’UEFI Surface, de modifier les paramètres UEFI surface gérés ou de supprimer SEMM d’un appareil Surface inscrit.

Télécharger le Gestionnaire UEFI Surface

La gestion de SEMM avec Configuration Manager nécessite l’installation de Surface UEFI Manager sur chaque appareil Surface client. Vous pouvez télécharger Surface UEFI Manager à partir de la bibliothèque d’outils Surface IT Toolkit.

Télécharger les scripts SEMM pour Configuration Manager

Une fois UEFI Manager installé sur l’appareil Surface client, SEMM peut être déployé et géré avec des scripts PowerShell. Obtenez des exemples de script à partir du Kit de ressources informatiques Surface.

Déployer Surface UEFI Manager

Le déploiement de Surface UEFI Manager est un déploiement d’application classique. Le fichier du programme d’installation de Surface UEFI Manager est un fichier Windows Installer standard que vous pouvez installer avec l’option silencieux standard.

La commande permettant d’installer Surface UEFI Manager est la suivante.

msiexec /i "SurfaceUEFIManagerSetup.msi" /q

La commande permettant de désinstaller le Gestionnaire UEFI Surface est la suivante.

msiexec /x {541DA890-1AEB-446D-B3FD-D5B3BB18F9AF} /q

Pour créer une application et la déployer dans un regroupement qui contient vos appareils Surface, procédez comme suit :

  1. Ouvrez Configuration Manager Console à partir de l’écran Démarrer ou du menu Démarrer.

  2. Sélectionnez Bibliothèque de logiciels dans le coin inférieur gauche de la fenêtre.

  3. Développez le nœud Gestion des applications de la bibliothèque de logiciels, puis sélectionnez Applications.

  4. Sélectionnez le bouton Create Application sous l’onglet Accueil en haut de la fenêtre. L’Assistant Application Create démarre.

  5. L’Assistant Application Create présente une série d’étapes :

    • Général : l’option Détecter automatiquement les informations sur cette application à partir des fichiers d’installation est sélectionnée par défaut. Dans le champ Type , Windows Installer (fichier .msi) est également sélectionné par défaut. Sélectionnez Parcourir pour accéder à et sélectionnezSurfaceUEFIManagerSetup.msi, puis sélectionnez Suivant.

      Remarque

      L’emplacement de SurfaceUEFIManagerSetup.msi doit se trouver sur un partage réseau et se trouver dans un dossier qui ne contient aucun autre fichier. Impossible d’utiliser un emplacement de fichier local.

    • Importer des informations : l’Assistant Application Create analyse le fichier .msi et lit le nom de l’application et le code de produit. SurfaceUEFIManagerSetup.msi doivent être répertoriés comme seul fichier sous la ligne Fichiers de contenu, comme illustré dans la figure 1. Sélectionnez Suivant pour continuer.

      Les informations de l’installation de Surface UEFI Manager sont analysées automatiquement.

      Figure 1. Les informations de l’installation du Gestionnaire UEFI surface sont automatiquement analysées

    • Informations générales : vous pouvez modifier le nom de l’application et les informations sur l’éditeur et la version, ou ajouter des commentaires sur cette page. La commande d’installation de Surface UEFI Manager s’affiche dans le champ Programme d’installation. Le comportement d’installation par défaut de Installer pour le système permet à Surface UEFI Manager d’installer les assemblys requis pour SEMM, même si un utilisateur n’est pas connecté à l’appareil Surface. Sélectionnez Suivant pour continuer.

    • Résumé : les informations analysées à l’étape Importer les informations et vos sélections à partir de l’étape Informations générales s’affichent sur cette page. Sélectionnez Suivant pour confirmer vos sélections et créer l’application.

    • Progression : affiche une barre de progression et status à mesure que l’application est importée et ajoutée à la bibliothèque de logiciels.

    • Achèvement : la confirmation de la création de l’application réussie s’affiche lorsque le processus de création de l’application est terminé. Sélectionnez Fermer pour terminer l’Assistant Application Create.

Une fois l’application créée dans Configuration Manager, vous pouvez la distribuer à vos points de distribution et la déployer sur les regroupements, y compris vos appareils Surface. Cette application n’installe ni n’active SEMM sur l’appareil Surface. Il fournit uniquement les assemblys requis pour que SEMM soit activé à l’aide du script PowerShell.

Si vous ne souhaitez pas installer les assemblys Surface UEFI Manager sur des appareils qui ne seront pas gérés avec SEMM, vous pouvez configurer Surface UEFI Manager en tant que dépendance des scripts Configuration Manager SEMM. Ce scénario est abordé dans la section Déployer des scripts Configuration Manager SEMM plus loin dans cet article.

Create ou modifier les scripts de Configuration Manager SEMM

Une fois les assemblys requis installés sur les appareils, le processus d’inscription des appareils dans SEMM et de configuration de Surface UEFI est effectué avec des scripts PowerShell et déployé en tant qu’application de script avec Configuration Manager. Ces scripts peuvent être modifiés pour répondre aux besoins de votre organization et de votre environnement. Par exemple, vous pouvez créer plusieurs configurations pour les appareils Surface gérés dans différents services ou rôles. Télécharger des exemples de scripts pour SEMM et Configuration Manager à partir du Surface IT Toolkit

Vous avez besoin de deux scripts principaux pour effectuer un déploiement SEMM avec Configuration Manager :

  • ConfigureSEMM.ps1 : disponible sous Scripts d’appareil Surface dans surface IT Toolkit. Utilisez ce script pour créer des packages de configuration pour vos appareils Surface avec les paramètres UEFI surface souhaités afin d’appliquer les paramètres spécifiés à un appareil Surface, d’inscrire l’appareil dans SEMM et de définir une clé de Registre utilisée pour identifier l’inscription de l’appareil dans SEMM.
  • ResetSEMM.ps1 : disponible sous Scripts d’appareil Surface supplémentaires dans le Kit de ressources informatique Surface. Utilisez ce script pour réinitialiser SEMM sur un appareil Surface, ce qui le désinscrit de SEMM et supprime le contrôle des paramètres UEFI surface.

Les exemples de scripts incluent des exemples de définition des paramètres UEFI surface et de contrôle des autorisations pour ces paramètres. Ces paramètres peuvent être modifiés pour sécuriser l’UEFI surface et définir les paramètres UEFI surface en fonction des besoins de votre environnement. Les sections suivantes de cet article expliquent le script ConfigureSEMM.ps1 et explorent les modifications que vous devez apporter au script en fonction de vos besoins.

Remarque

Les scripts Configuration Manager SEMM et le fichier de certificat SEMM exporté (.pfx) doivent être placés dans le même dossier sans autres fichiers avant d’être ajoutés à Configuration Manager.

Gérer les ports USB sur les appareils pris en charge

Vous pouvez implémenter la désactivation USB-C dynamique à l’aide de l’une des méthodes suivantes :

Les sections suivantes de cet article expliquent le script ConfigureSEMM.ps1 et explorent les modifications que vous devez apporter au script en fonction de vos besoins.

Spécifier des noms de certificat et de package

La première région du script que vous devez modifier est la partie qui spécifie et charge le certificat SEMM, et indique également la version de SurfaceUEFIManager, ainsi que les noms du package de configuration SEMM et du package de réinitialisation SEMM. Le nom du certificat et la version de SurfaceUEFIManager sont spécifiés sur les lignes 56 à 73 dans le script ConfigureSEMM.ps1.

56	$WorkingDirPath = split-path -parent $MyInvocation.MyCommand.Definition
57	$packageRoot = "$WorkingDirPath\Config"
58	$certName = "FabrikamSEMMSample.pfx"
59  $DllVersion = "2.26.136.0"
60
61  $certNameOnly = [System.IO.Path]::GetFileNameWithoutExtension($certName)
62  $ProvisioningPackage = $certNameOnly + "ProvisioningPackage.pkg"
63  $ResetPackage = $certNameOnly + "ResetPackage.pkg"
64
65	if (-not (Test-Path $packageRoot))  { New-Item -ItemType Directory -Force -Path $packageRoot }
66	Copy-Item "$WorkingDirPath\$certName" $packageRoot
67	
68	$privateOwnerKey = Join-Path -Path $packageRoot -ChildPath $certName
69	$ownerPackageName = Join-Path -Path $packageRoot -ChildPath $ProvisioningPackage
70	$resetPackageName = Join-Path -Path $packageRoot -ChildPath $ResetPackage
71	
72	# If your PFX file requires a password then it can be set here, otherwise use a blank string.
73	$password = "1234" 

Remplacez la valeur FabrikamSEMMSample.pfx de la variable $certName par le nom de votre fichier de certificat SEMM à la ligne 58. Le script crée un répertoire de travail (nommé Config) dans le dossier où se trouvent vos scripts, puis copie le fichier de certificat dans ce répertoire de travail.

Le package propriétaire et le package de réinitialisation sont également créés dans le répertoire Config et contiennent la configuration des paramètres UEFI surface et des autorisations générés par le script.

À la ligne 73, remplacez la valeur de la variable $password , de 1234 , par le mot de passe de votre fichier de certificat. Si aucun mot de passe n’est requis, supprimez le texte 1234 .

Remarque

Les deux derniers caractères de l’empreinte numérique du certificat sont requis pour inscrire un appareil dans SEMM. Ce script affiche ces chiffres à l’utilisateur, ce qui permet à l’utilisateur ou au technicien d’enregistrer ces chiffres avant le redémarrage du système pour inscrire l’appareil dans SEMM. Pour ce faire, le script utilise le code suivant, qui se trouve sur les lignes 150 à 155.

150	# Device owners will need the last two characters of the thumbprint to accept SEMM ownership.
151	# For convenience we get the thumbprint here and present to the user.
152	$pw = ConvertTo-SecureString $password -AsPlainText -Force
153	$certPrint = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
154	$certPrint.Import($privateOwnerKey, $pw, [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::DefaultKeySet)
155	Write-Host "Thumbprint =" $certPrint.Thumbprint

Les administrateurs ayant accès au fichier de certificat (.pfx) peuvent lire l’empreinte numérique à tout moment en ouvrant le fichier .pfx dans CertMgr. Pour afficher l’empreinte numérique avec CertMgr, procédez comme suit :

  1. Cliquez avec le bouton droit sur le fichier .pfx, puis sélectionnez Ouvrir.
  2. Développez le dossier dans le volet de navigation.
  3. Sélectionnez Certificats.
  4. Cliquez avec le bouton droit sur votre certificat dans le volet main, puis sélectionnez Ouvrir.
  5. Sélectionnez l’onglet Détails .
  6. Tout ou Propriétés uniquement doit être sélectionné dans le menu déroulant Afficher .
  7. Sélectionnez le champ Empreinte numérique.

Remarque

Le nom et le mot de passe du certificat SEMM doivent également être entrés dans cette section du script ResetSEMM.ps1 pour permettre à Configuration Manager de supprimer SEMM de l’appareil avec l’action de désinstallation.

Configurer les autorisations

La première région du script dans laquelle vous spécifiez la configuration pour Surface UEFI est la région Configurer les autorisations . Cette région commence à la ligne 210 dans l’exemple de script avec le commentaire # Configurer les autorisations et continue à la ligne 247. Le fragment de code suivant définit d’abord les autorisations de tous les paramètres UEFI Surface afin qu’ils puissent être modifiés uniquement par SEMM, puis ajoute des autorisations explicites pour permettre à l’utilisateur local de modifier le mot de passe UEFI Surface, le TPM et les caméras avant et arrière.

210	# Configure Permissions
211	foreach ($uefiV2 IN $surfaceDevices.Values) {
212 if ($uefiV2.SurfaceUefiFamily -eq $Device.Model) {
213 Write-Host "Configuring permissions"
214 Write-Host $Device.Model
215 Write-Host "======================="
216
217	# Here we define which "identities" will be allowed to modify which settings
218	#   PermissionSignerOwner = The primary SEMM enterprise owner identity
219	#   PermissionLocal = The user when booting to the UEFI pre-boot GUI
220	#   PermissionSignerUser, PermissionSignerUser1, PermissionSignerUser2 =
221	#     Additional user identities created so that the signer owner
222	#     can delegate permission control for some settings.
223	$ownerOnly = [Microsoft.Surface.IUefiSetting]::PermissionSignerOwner
224	$ownerAndLocalUser = ([Microsoft.Surface.IUefiSetting]::PermissionSignerOwner -bor [Microsoft.Surface.IUefiSetting]::PermissionLocal)
225	
226	# Make all permissions owner only by default
227	foreach ($setting IN $uefiV2.Settings.Values) {
228	$setting.ConfiguredPermissionFlags = $ownerOnly
229	}
230	
231 # Allow the local user to change their own password
232	$uefiV2.SettingsById[501].ConfiguredPermissionFlags = $ownerAndLocalUser
233
234	Write-Host ""
235	 
236	# Create a unique package name based on family and LSV.
237	# We will choose a name that can be parsed by later scripts.
238	$packageName = $uefiV2.SurfaceUefiFamily + "^Permissions^" + $lsv + ".pkg"
239	$fullPackageName = Join-Path -Path $packageRoot -ChildPath $packageName
240	
241	# Build and sign the Permission package then save it to a file.
242	$permissionPackageStream =  $uefiV2.BuildAndSignPermissionPackage($privateOwnerKey, $password, "", $null, $lsv)
243	$permissionPackage = New-Object System.IO.Filestream($fullPackageName, [System.IO.FileMode]::CreateNew, [System.IO.FileAccess]::Write)
244	$permissionPackageStream.CopyTo($permissionPackage)
245	$permissionPackage.Close()
246	}
247	}

Chaque variable $uefiV 2 identifie un paramètre UEFI Surface en définissant le nom ou l’ID, puis configure les autorisations sur l’une des valeurs suivantes :

  • $ownerOnly : l’autorisation de modifier ce paramètre est accordée uniquement à SEMM.
  • $ownerAndLocalUser : l’autorisation de modifier ce paramètre est accordée à un utilisateur local qui démarre sur Surface UEFI, ainsi que sur SEMM.

Vous trouverez des informations sur les noms de paramètres et les ID disponibles pour l’UEFI Surface dans la section Noms et ID des paramètres de cet article.

Configurer les paramètres

La deuxième région du script dans laquelle vous spécifiez la configuration pour Surface UEFI est la région Configurer les paramètres du script ConfigureSEMM.ps1, qui configure si chaque paramètre est activé ou désactivé. L’exemple de script inclut des instructions pour définir tous les paramètres sur leurs valeurs par défaut. Le script fournit ensuite des instructions explicites pour désactiver IPv6 pour le démarrage PXE et laisser le mot de passe administrateur UEFI surface inchangé. Cette région commence par le commentaire # Configurer les paramètres entre la ligne 291 et la ligne 335 dans l’exemple de script. La région s’affiche comme suit.

291	# Configure Settings
292	foreach ($uefiV2 IN $surfaceDevices.Values) {
293 if ($uefiV2.SurfaceUefiFamily -eq $Device.Model) {
294 Write-Host "Configuring settings"
295 Write-Host $Device.Model
296 Write-Host "===================="
297
298	# In this demo, we will start by setting every setting to the default factory setting.
299	# You may want to start by doing this in your scripts
300	# so that every setting gets set to a known state.
301	foreach ($setting IN $uefiV2.Settings.Values) {
302	$setting.ConfiguredValue = $setting.DefaultValue
303	}
304	
305	$EnabledValue = "Enabled"
306 $DisabledValue = "Disabled"
307
308 # If you want to set something to a different value from the default,
309	# here are examples of how to accomplish this.
310	# This disables IPv6 PXE boot by name:
311 $uefiV2.Settings["IPv6 for PXE Boot"].ConfiguredValue = $DisabledValue
312
313 # This disables IPv6 PXE Boot by ID:
314 $uefiV2.SettingsById[400].ConfiguredValue = $DisabledValue
315
316 Write-Host ""
317
318	# If you want to leave the setting unmodified, set it to $null
319	# PowerShell has issues setting things to $null so ClearConfiguredValue()
320	# is supplied to do this explicitly.
321	# Here is an example of leaving the UEFI administrator password as-is,
322	# even after we initially set it to factory default above.
323	$uefiV2.SettingsById[501].ClearConfiguredValue()
324	
325	# Create a unique package name based on family and LSV.
326	# We will choose a name that can be parsed by later scripts.
327	$packageName = $uefiV2.SurfaceUefiFamily + "^Settings^" + $lsv + ".pkg"
328	$fullPackageName = Join-Path -Path $packageRoot -ChildPath $packageName
329	
330	# Build and sign the Settings package then save it to a file.
331	$settingsPackageStream =  $uefiV2.BuildAndSignSecuredSettingsPackage($privateOwnerKey, $password, "", $null, $lsv)
332	$settingsPackage = New-Object System.IO.Filestream($fullPackageName, [System.IO.FileMode]::CreateNew, [System.IO.FileAccess]::Write)
333	$settingsPackageStream.CopyTo($settingsPackage)
334	$settingsPackage.Close()
335	}

Comme pour les autorisations définies dans la section Configurer les autorisations du script, la configuration de chaque paramètre UEFI Surface est effectuée en définissant la variable $uefiV 2 . Pour chaque ligne définissant la variable $uefiV 2 , un paramètre UEFI Surface est identifié par le nom ou l’ID du paramètre et la valeur configurée est définie sur Activé ou Désactivé.

Si vous ne souhaitez pas modifier la configuration d’un paramètre UEFI Surface, par exemple pour vous assurer que le mot de passe d’administrateur UEFI surface n’est pas effacé par l’action de réinitialisation de tous les paramètres UEFI Surface à leur valeur par défaut, vous pouvez utiliser ClearConfiguredValue() pour faire en sorte que ce paramètre ne soit pas modifié. Dans l’exemple de script, il est utilisé à la ligne 323 pour empêcher l’effacement du mot de passe administrateur UEFI Surface, identifié dans l’exemple de script par son ID de paramètre, 501.

Vous trouverez des informations sur les noms de paramètres et les ID disponibles pour Surface UEFI dans la section Noms et ID des paramètres plus loin dans cet article.

Clé de Registre des paramètres

Pour identifier les systèmes inscrits pour Configuration Manager, le script ConfigureSEMM.ps1 écrit des clés de Registre qui peuvent être utilisées pour identifier les systèmes inscrits comme ayant été installés avec le script de configuration SEMM. Ces clés se trouvent à l’emplacement suivant.

HKLM\SOFTWARE\Microsoft\Surface\SEMM

Le fragment de code suivant, trouvé sur les lignes 380 à 477, est utilisé pour écrire ces clés de Registre.

380	# For Configuration Manager or other management solutions that wish to know what version is applied, tattoo the LSV and current DateTime (in UTC) to the registry:
381	$UTCDate = (Get-Date).ToUniversalTime().ToString()
382	$certIssuer = $certPrint.Issuer
383	$certSubject = $certPrint.Subject
384	
385	$SurfaceRegKey = "HKLM:\SOFTWARE\Microsoft\Surface\SEMM"
386	New-RegKey $SurfaceRegKey
387	$LSVRegValue = Get-ItemProperty $SurfaceRegKey LSV -ErrorAction SilentlyContinue
388	$DateTimeRegValue = Get-ItemProperty $SurfaceRegKey LastConfiguredUTC -ErrorAction SilentlyContinue
389	$OwnershipSessionIdRegValue = Get-ItemProperty $SurfaceRegKey OwnershipSessionId -ErrorAction SilentlyContinue
390	$PermissionSessionIdRegValue = Get-ItemProperty $SurfaceRegKey PermissionSessionId -ErrorAction SilentlyContinue
391	$SettingsSessionIdRegValue = Get-ItemProperty $SurfaceRegKey SettingsSessionId -ErrorAction SilentlyContinue
392	$IsResetRegValue = Get-ItemProperty $SurfaceRegKey IsReset -ErrorAction SilentlyContinue
393	$certUsedRegValue = Get-ItemProperty $SurfaceRegKey CertName -ErrorAction SilentlyContinue
394	$certIssuerRegValue = Get-ItemProperty $SurfaceRegKey CertIssuer -ErrorAction SilentlyContinue
395	$certSubjectRegValue = Get-ItemProperty $SurfaceRegKey CertSubject -ErrorAction SilentlyContinue
396	
397	
398	If ($LSVRegValue -eq $null)
399	{
400	    New-ItemProperty -Path $SurfaceRegKey -Name LSV -PropertyType DWORD -Value $lsv | Out-Null
401	}
402	Else
403	{
404	    Set-ItemProperty -Path $SurfaceRegKey -Name LSV -Value $lsv
405	}
406	
407	If ($DateTimeRegValue -eq $null)
408	{
409	    New-ItemProperty -Path $SurfaceRegKey -Name LastConfiguredUTC -PropertyType String -Value $UTCDate | Out-Null
410	}
411	Else
412	{
413	    Set-ItemProperty -Path $SurfaceRegKey -Name LastConfiguredUTC -Value $UTCDate
414	}
415	
416	If ($OwnershipSessionIdRegValue -eq $null)
417	{
418	    New-ItemProperty -Path $SurfaceRegKey -Name OwnershipSessionId -PropertyType String -Value $ownerSessionIdValue | Out-Null
419	}
420	Else
421	{
422	    Set-ItemProperty -Path $SurfaceRegKey -Name OwnershipSessionId -Value $ownerSessionIdValue
423	}
424	
425	If ($PermissionSessionIdRegValue -eq $null)
426	{
427	    New-ItemProperty -Path $SurfaceRegKey -Name PermissionSessionId -PropertyType String -Value $permissionSessionIdValue | Out-Null
428	}
429	Else
430	{
431	    Set-ItemProperty -Path $SurfaceRegKey -Name PermissionSessionId -Value $permissionSessionIdValue
432	}
433	
434	If ($SettingsSessionIdRegValue -eq $null)
435	{
436	    New-ItemProperty -Path $SurfaceRegKey -Name SettingsSessionId -PropertyType String -Value $settingsSessionIdValue | Out-Null
437	}
438	Else
439	{
440	    Set-ItemProperty -Path $SurfaceRegKey -Name SettingsSessionId -Value $settingsSessionIdValue
441	}
442	
443	If ($IsResetRegValue -eq $null)
444	{
445	    New-ItemProperty -Path $SurfaceRegKey -Name IsReset -PropertyType DWORD -Value 0 | Out-Null
446	}
447	Else
448	{
449	    Set-ItemProperty -Path $SurfaceRegKey -Name IsReset -Value 0
450	}
451	
452	If ($certUsedRegValue -eq $null)
453	{
454	    New-ItemProperty -Path $SurfaceRegKey -Name CertName -PropertyType String -Value $certName | Out-Null
455	}
456	Else
457	{
458	    Set-ItemProperty -Path $SurfaceRegKey -Name CertName -Value $certName
459	}
460	
461	If ($certIssuerRegValue -eq $null)
462	{
463	    New-ItemProperty -Path $SurfaceRegKey -Name CertIssuer -PropertyType String -Value $certIssuer | Out-Null
464	}
465	Else
466	{
467	    Set-ItemProperty -Path $SurfaceRegKey -Name CertIssuer -Value $certIssuer
468	}
469	
470	If ($certSubjectRegValue -eq $null)
471	{
472	    New-ItemProperty -Path $SurfaceRegKey -Name CertSubject -PropertyType String -Value $certSubject | Out-Null
473	}
474	Else
475	{
476	    Set-ItemProperty -Path $SurfaceRegKey -Name CertSubject -Value $certSubject
477	}

Noms et ID des paramètres

Pour configurer les paramètres UEFI surface ou les autorisations pour les paramètres UEFI Surface, vous devez faire référence à chaque paramètre par son nom de paramètre ou son ID de paramètre. À chaque nouvelle mise à jour de l’UEFI Surface, de nouveaux paramètres peuvent être ajoutés. L’exécution d’un script ShowSettingsOptions.ps1 (à partir de SEMM_Powershell.zip dans Surface Tools pour l’informatique) fournit des détails sur les paramètres disponibles. Surface UEFI Manager doit être installé sur l’ordinateur sur lequel ShowSettingsOptions.ps1 est exécuté, mais le script ne nécessite pas d’appareil Surface.

Déployer des scripts Configuration Manager SEMM

Une fois que vos scripts sont prêts à configurer et activer SEMM sur l’appareil client, l’étape suivante consiste à ajouter ces scripts en tant qu’application dans Configuration Manager. Avant d’ouvrir Configuration Manager, vérifiez que les fichiers suivants se trouvent dans un dossier partagé qui n’inclut pas d’autres fichiers :

  • ConfigureSEMM.ps1
  • ResetSEMM.ps1
  • Votre certificat SEMM (par exemple SEMMCertificate.pfx)

Les scripts Configuration Manager SEMM sont ajoutés à Configuration Manager en tant qu’application de script. La commande permettant d’installer SEMM avec ConfigureSEMM.ps1 est la suivante.

Powershell.exe -file ".\ConfigureSEMM.ps1"

La commande permettant de désinstaller SEMM avec ResetSEMM.ps1 est la suivante.

Powershell.exe -file ".\ResetSEMM.ps1"

Pour ajouter les scripts Configuration Manager SEMM à Configuration Manager en tant qu’application, procédez comme suit :

  1. Démarrez l’Assistant Application Create à l’étape 1 à l’étape 5 de la section Déployer surface UEFI Manager plus haut dans cet article.

  2. Passez à l’Assistant Application Create comme suit :

    • Général : sélectionnez Spécifier manuellement les informations de l’application, puis sélectionnez Suivant.

    • Informations générales : entrez un nom pour l’application (par exemple SEMM) et toutes les autres informations souhaitées, telles que l’éditeur, la version ou les commentaires sur cette page. Sélectionnez Suivant pour continuer.

    • Catalogue d’applications : les champs de cette page peuvent être conservés avec leurs valeurs par défaut. Sélectionnez Suivant.

    • Types de déploiement : sélectionnez Ajouter pour démarrer l’Assistant Type de déploiement Create.

    • Suivez les étapes de l’Assistant Type de déploiement Create, comme suit :

      • Général : sélectionnez Script Installer dans le menu déroulant Type . L’option Spécifier manuellement les informations sur le type de déploiement est automatiquement sélectionnée. Sélectionnez Suivant pour continuer.
      • Informations générales : entrez un nom pour le type de déploiement (par exemple, scripts de configuration SEMM), puis sélectionnez Suivant pour continuer.
      • Contenu : sélectionnez Parcourir en regard du champ Emplacement du contenu, puis sélectionnez le dossier où se trouvent vos scripts Configuration Manager SEMM. Dans le champ Programme d’installation , tapez la commande d’installation trouvée plus haut dans cet article. Dans le champ Désinstaller le programme , entrez la commande de désinstallation trouvée plus haut dans cet article (illustrée dans la figure 2). Sélectionnez Suivant pour passer à la page suivante.

      Définissez les scripts Configuration Manager SEMM comme commandes d’installation et de désinstallation.

      Figure 2. Définir les scripts Configuration Manager SEMM comme commandes d’installation et de désinstallation

      • Méthode de détection : sélectionnez Ajouter une clause pour ajouter la règle de détection de clé de Registre Configuration Manager script SEMM. La fenêtre Règle de détection s’affiche, comme illustré dans la figure 3. Utilisez les paramètres suivants :

        • Sélectionnez Registre dans le menu déroulant Type de paramètre .
        • Sélectionnez HKEY_LOCAL_MACHINE dans le menu déroulant Hive .
        • Entrez SOFTWARE\Microsoft\Surface\SEMM dans le champ Clé .
        • Entrez CertName dans le champ Valeur .
        • Sélectionnez Chaîne dans le menu déroulant Type de données .
        • Sélectionnez le bouton Ce paramètre de Registre doit satisfaire à la règle suivante pour indiquer la présence de cette application .
        • Entrez le nom du certificat que vous avez entré à la ligne 58 du script dans le champ Valeur .
        • Sélectionnez OK pour fermer la fenêtre Règle de détection .

      Utilisez une clé de Registre pour identifier les appareils inscrits dans SEMM.

      Figure 3. Utiliser une clé de Registre pour identifier les appareils inscrits dans SEMM

      • Sélectionnez Suivant pour passer à la page suivante.

      • Expérience utilisateur : sélectionnez Installer pour le système dans le menu déroulant Comportement d’installation . Si vous souhaitez que vos utilisateurs enregistrent et entrent eux-mêmes l’empreinte numérique du certificat, laissez l’exigence d’ouverture de session définie sur Uniquement lorsqu’un utilisateur est connecté. Si vous souhaitez que vos administrateurs entrent l’empreinte numérique des utilisateurs et que les utilisateurs n’ont pas besoin de voir l’empreinte numérique, sélectionnez Si un utilisateur est connecté ou non dans le menu déroulant Exigences d’ouverture de session.

      • Configuration requise : le script ConfigureSEMM.ps1 vérifie automatiquement que l’appareil est un appareil Surface avant de tenter d’activer SEMM. Toutefois, si vous envisagez de déployer cette application de script sur un regroupement avec des appareils autres que ceux à gérer avec SEMM, vous pouvez ajouter des exigences ici pour vous assurer que cette application s’exécutera uniquement sur les appareils Surface ou les appareils que vous envisagez de gérer avec SEMM. Sélectionnez Suivant pour continuer.

      • Dépendances : sélectionnez Ajouter pour ouvrir la fenêtre Ajouter une dépendance .

        • Sélectionnez Ajouter pour ouvrir la fenêtre Spécifier l’application requise .

          • Entrez un nom pour les dépendances SEMM dans le champ Nom du groupe de dépendances (par exemple, Assemblys SEMM).

          • Sélectionnez Surface UEFI Manager dans la liste Des applications disponibles et le type de déploiement MSI, puis sélectionnez OK pour fermer la fenêtre Spécifier l’application requise .

          • Conservez la case Installation automatique case activée activée si vous souhaitez que Surface UEFI Manager soit installé automatiquement sur les appareils lorsque vous tentez d’activer SEMM avec les scripts Configuration Manager. Sélectionnez OK pour fermer la fenêtre Ajouter une dépendance .
      • Sélectionnez Suivant pour continuer.

      • Résumé : les informations que vous avez entrées dans l’Assistant Type de déploiement Create s’affichent sur cette page. Sélectionnez Suivant pour confirmer vos sélections.

      • Progression : une barre de progression et status à mesure que le type de déploiement est ajouté pour l’application de script SEMM s’affichent sur cette page.

      • Achèvement : la confirmation de la création du type de déploiement s’affiche une fois le processus terminé. Sélectionnez Fermer pour terminer l’Assistant Type de déploiement Create.

    • Résumé : les informations que vous avez entrées dans l’Assistant Application Create s’affichent. Sélectionnez Suivant pour créer l’application.

    • Progression : une barre de progression et status lorsque l’application est ajoutée à la bibliothèque de logiciels s’affichent sur cette page.

    • Achèvement : la confirmation de la création de l’application réussie s’affiche lorsque le processus de création de l’application est terminé. Sélectionnez Fermer pour terminer l’Assistant Application Create.

Une fois que l’application de script est disponible dans la bibliothèque de logiciels de Configuration Manager, vous pouvez distribuer et déployer SEMM à l’aide des scripts que vous avez préparés sur des appareils ou des regroupements. Si vous avez configuré les assemblys Surface UEFI Manager en tant que dépendance qui sera installée automatiquement, vous pouvez déployer SEMM en une seule étape. Si vous n’avez pas configuré les assemblys en tant que dépendance, ils doivent être installés sur les appareils que vous souhaitez gérer avant d’activer SEMM.

Lorsque vous déployez SEMM à l’aide de cette application de script et avec une configuration visible par l’utilisateur final, le script PowerShell démarre et l’empreinte numérique du certificat s’affiche dans la fenêtre PowerShell. Vous pouvez demander à vos utilisateurs d’enregistrer cette empreinte numérique et de l’entrer lorsque vous y êtes invité par l’UEFI Surface après le redémarrage de l’appareil.

Vous pouvez également configurer l’installation de l’application pour redémarrer automatiquement et pour l’installer de manière invisible pour l’utilisateur. Dans ce scénario, un technicien est tenu d’entrer l’empreinte numérique sur chaque appareil au fur et à mesure qu’il redémarre. Tout technicien ayant accès au fichier de certificat peut lire l’empreinte numérique en affichant le certificat avec CertMgr. Les instructions pour l’affichage de l’empreinte numérique avec CertMgr se trouvent dans la section Create ou modifiez les scripts Configuration Manager SEMM de cet article.

La suppression de SEMM d’un appareil déployé avec Configuration Manager à l’aide de ces scripts est aussi simple que de désinstaller l’application avec Configuration Manager. Cette action démarre le script ResetSEMM.ps1 et annule correctement l’inscription de l’appareil avec le même fichier de certificat que celui utilisé lors du déploiement de SEMM.

Remarque

Surface vous recommande de créer des packages de réinitialisation uniquement lorsque vous devez désinscrire un appareil. Ces packages de réinitialisation sont généralement valides pour un seul appareil, identifié par son numéro de série. Toutefois, vous pouvez créer un package de réinitialisation universel qui fonctionne pour n’importe quel appareil inscrit dans SEMM avec ce certificat.

Nous vous recommandons vivement de protéger votre package de réinitialisation universelle aussi soigneusement que le certificat que vous avez utilisé pour inscrire des appareils dans SEMM. N’oubliez pas que, tout comme le certificat lui-même, ce package de réinitialisation universelle peut être utilisé pour désinscrire les appareils Surface de votre organization auprès de SEMM.

Lorsque vous installez un package de réinitialisation, la valeur la plus faible prise en charge (LSV) est réinitialisée à la valeur 1. Vous pouvez réinscrire un appareil à l’aide d’un package de configuration existant. L’appareil demande l’empreinte numérique du certificat avant que la propriété ne soit prise.

Pour cette raison, la réinscriture d’un appareil dans SEMM nécessite la création et l’installation d’un nouveau package sur cet appareil. Étant donné que cette action est une nouvelle inscription et non une modification de la configuration sur un appareil déjà inscrit dans SEMM, l’appareil demande l’empreinte numérique du certificat avant que la propriété ne soit prise.