Compartir a través de


Uso de ensamblados UEFI & Configuration Manager para administrar dispositivos con SEMM

La característica Modo de administración de Surface Enterprise (SEMM) de los dispositivos UEFI de Surface permite a los administradores administrar y ayudar a proteger la configuración de la configuración de Surface UEFI. Para la mayoría de las organizaciones, este proceso se realiza mediante la creación de paquetes de Windows Installer (.msi) con la herramienta UEFI Configurator en surface IT Toolkit. A continuación, estos paquetes se ejecutan o implementan en los dispositivos Surface cliente para inscribir los dispositivos en SEMM y actualizar la configuración de La UEFI de Surface.

En el caso de las organizaciones con endpoint Configuration Manager, hay una alternativa al proceso de .msi del configurador de UEFI de Surface para implementar y administrar SEMM. Surface UEFI Manager es un instalador ligero que hace que los ensamblados necesarios para la administración de SEMM estén disponibles en un dispositivo. Al instalar estos ensamblados con surface UEFI Manager en un cliente administrado, puede administrar SEMM a través de Configuration Manager con scripts de PowerShell, implementados como aplicaciones. Si lo hace, se elimina la necesidad de la herramienta de configurador UEFI de Surface externa.

Nota

Aunque el proceso descrito en este artículo puede funcionar con versiones anteriores de Configuration Manager o con otras soluciones de administración de terceros, la administración de SEMM con surface UEFI Manager y PowerShell solo se admite con la rama actual de Configuration Manager.

Requisitos previos

Antes de comenzar el proceso descrito en este artículo, familiarícese con las siguientes tecnologías y herramientas:

Importante

También necesitará acceso al certificado que va a usar para proteger SEMM. Para obtener más información sobre los requisitos de este certificado, consulte Requisitos del certificado SEMM.

Es muy importante que este certificado se conserve en una ubicación segura y realice una copia de seguridad adecuada. Si este certificado se pierde o no se puede usar, no es posible restablecer la UEFI de Surface, cambiar la configuración de UEFI de Surface administrada ni quitar SEMM de un dispositivo Surface inscrito.

Descarga del Administrador de UEFI de Surface

La administración de SEMM con Configuration Manager requiere la instalación de Surface UEFI Manager en cada dispositivo Surface cliente. Puedes descargar el Administrador de UEFI de Surface desde la biblioteca de herramientas del kit de herramientas de SURFACE IT.

Descarga de scripts SEMM para Configuration Manager

Una vez instalado el Administrador UEFI en el dispositivo Surface del cliente, SEMM se puede implementar y administrar con scripts de PowerShell. Obtenga ejemplos de script del kit de herramientas de TI de Surface.

Implementación del Administrador de UEFI de Surface

La implementación de Surface UEFI Manager es una implementación de aplicación típica. El archivo del instalador del Administrador de UEFI de Surface es un archivo estándar de Windows Installer que puedes instalar con la opción estándar quiet.

El comando para instalar el Administrador de UEFI de Surface es el siguiente.

msiexec /i "SurfaceUEFIManagerSetup.msi" /q

El comando para desinstalar surface UEFI Manager es el siguiente.

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

Para crear una aplicación e implementarla en una colección que contenga los dispositivos Surface, realice los pasos siguientes:

  1. Abra Configuration Manager Consola en la pantalla Inicio o en el menú Inicio.

  2. Seleccione Biblioteca de software en la esquina inferior izquierda de la ventana.

  3. Expanda el nodo Administración de aplicaciones de la biblioteca de software y, a continuación, seleccione Aplicaciones.

  4. Seleccione el botón Create Aplicación en la pestaña Inicio de la parte superior de la ventana. Se inicia el Asistente para aplicaciones de Create.

  5. El Asistente para aplicaciones Create presenta una serie de pasos:

    • General : la opción Detectar automáticamente información sobre esta aplicación desde los archivos de instalación está seleccionada de forma predeterminada. En el campo Tipo , Windows Installer (archivo .msi) también está seleccionado de forma predeterminada. Seleccione Examinar para ir a y seleccione SurfaceUEFIManagerSetup.msiy, a continuación, seleccione Siguiente.

      Nota

      La ubicación de SurfaceUEFIManagerSetup.msi debe estar en un recurso compartido de red y encontrarse en una carpeta que no contenga ningún otro archivo. No se puede usar una ubicación de archivo local.

    • Información de importación: el Asistente para aplicaciones de Create analiza el archivo .msi y lee el nombre de la aplicación y el código del producto. SurfaceUEFIManagerSetup.msi debe aparecer como el único archivo en la línea Archivos de contenido, como se muestra en la figura 1. Seleccione Siguiente para continuar.

      La información de la configuración del Administrador de UEFI de Surface se analiza automáticamente.

      Figura 1. La información de la configuración del Administrador de UEFI de Surface se analiza automáticamente

    • Información general : puede modificar el nombre de la aplicación y la información sobre el publicador y la versión, o agregar comentarios en esta página. El comando de instalación de Surface UEFI Manager se muestra en el campo Programa de instalación. El comportamiento de instalación predeterminado de Instalar para el sistema permite que el Administrador de UEFI de Surface instale los ensamblados necesarios para SEMM, incluso si un usuario no ha iniciado sesión en el dispositivo Surface. Seleccione Siguiente para continuar.

    • Resumen : la información analizada en el paso Importar información y las selecciones del paso Información general se muestra en esta página. Seleccione Siguiente para confirmar las selecciones y crear la aplicación.

    • Progreso : muestra una barra de progreso y un estado a medida que la aplicación se importa y se agrega a la biblioteca de software.

    • Finalización : se muestra la confirmación de la creación correcta de la aplicación cuando se completa el proceso de creación de la aplicación. Seleccione Cerrar para finalizar el Asistente para aplicaciones de Create.

Una vez creada la aplicación en Configuration Manager, puedes distribuirla a los puntos de distribución e implementarla en las colecciones, incluidos los dispositivos Surface. Esta aplicación no instalará ni habilitará SEMM en el dispositivo Surface. Solo proporciona los ensamblados necesarios para que SEMM se habilite mediante el script de PowerShell.

Si no quieres instalar los ensamblados del Administrador de UEFI de Surface en dispositivos que no se administrarán con SEMM, puedes configurar el Administrador de UEFI de Surface como una dependencia de los scripts de Configuration Manager SEMM. Este escenario se describe en la sección Deploy SEMM Configuration Manager Scripts más adelante en este artículo.

Create o modificar los scripts de Configuration Manager SEMM

Una vez instalados los ensamblados necesarios en los dispositivos, el proceso de inscripción de los dispositivos en SEMM y configuración de Surface UEFI se realiza con scripts de PowerShell e se implementa como una aplicación de script con Configuration Manager. Estos scripts se pueden modificar para satisfacer las necesidades de su organización y entorno. Por ejemplo, puedes crear varias configuraciones para dispositivos Surface administrados en distintos departamentos o roles. Descarga de ejemplos de los scripts para SEMM y Configuration Manager del Kit de herramientas de TI de Surface

Hay dos scripts principales que necesitará para realizar una implementación de SEMM con Configuration Manager:

  • ConfigureSEMM.ps1 : disponible en Scripts de dispositivo Surface en el Kit de herramientas de TI de Surface. Usa este script para crear paquetes de configuración para tus dispositivos Surface con la configuración de UEFI de Surface deseada para aplicar la configuración especificada a un dispositivo Surface, para inscribir el dispositivo en SEMM y para establecer una clave del Registro usada para identificar la inscripción del dispositivo en SEMM.
  • ResetSEMM.ps1 : disponible en Scripts de dispositivos Surface adicionales en el Kit de herramientas de TI de Surface. Usa este script para restablecer SEMM en un dispositivo Surface, que lo anula de la inscripción de SEMM y quita el control sobre la configuración de UEFI de Surface.

Los scripts de ejemplo incluyen ejemplos de cómo establecer la configuración de UEFI de Surface y cómo controlar los permisos para esa configuración. Esta configuración se puede modificar para proteger surface UEFI y establecer la configuración de UEFI de Surface según las necesidades de su entorno. En las secciones siguientes de este artículo se explica el script de ConfigureSEMM.ps1 y se exploran las modificaciones que debe realizar en el script para ajustarse a sus requisitos.

Nota

Los scripts de Configuration Manager SEMM y el archivo de certificado SEMM exportado (.pfx) deben colocarse en la misma carpeta sin ningún otro archivo antes de que se agreguen a Configuration Manager.

Administración de puertos USB en dispositivos compatibles

Puede implementar la deshabilitación dinámica de USB-C mediante uno de los métodos siguientes:

En las secciones siguientes de este artículo se explica el script de ConfigureSEMM.ps1 y se exploran las modificaciones que debe realizar en el script para ajustarse a sus requisitos.

Especificar nombres de certificado y paquete

La primera región del script que debe modificar es la parte que especifica y carga el certificado SEMM, y también indica la versión de SurfaceUEFIManager, así como los nombres del paquete de configuración SEMM y el paquete de restablecimiento de SEMM. El nombre del certificado y la versión de SurfaceUEFIManager se especifican en las líneas 56 a 73 en el 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" 

Reemplace el valor fabrikamSEMMSample.pfx de la variable $certName por el nombre del archivo de certificado SEMM en la línea 58. El script crea un directorio de trabajo (denominado Config) en la carpeta donde se encuentran los scripts y, a continuación, copia el archivo de certificado en este directorio de trabajo.

El paquete de propietario y el paquete de restablecimiento también se crearán en el directorio Config y mantendrán la configuración de la configuración de UEFI de Surface y los permisos generados por el script.

En la línea 73, reemplace el valor de la variable $password , de 1234 a la contraseña del archivo de certificado. Si no se requiere una contraseña, elimine el texto 1234 .

Nota

Los dos últimos caracteres de la huella digital del certificado son necesarios para inscribir un dispositivo en SEMM. Este script mostrará estos dígitos al usuario, lo que permite al usuario o técnico registrar estos dígitos antes de que el sistema se reinicie para inscribir el dispositivo en SEMM. Para ello, el script usa el código siguiente, que se encuentra en las líneas 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

Los administradores con acceso al archivo de certificado (.pfx) pueden leer la huella digital en cualquier momento abriendo el archivo .pfx en CertMgr. Para ver la huella digital con CertMgr, siga este proceso:

  1. Haga clic con el botón derecho en el archivo .pfx y, a continuación, seleccione Abrir.
  2. Expanda la carpeta en el panel de navegación.
  3. Seleccione Certificados.
  4. Haga clic con el botón derecho en el certificado en el panel principal y, a continuación, seleccione Abrir.
  5. Seleccione la pestaña Detalles .
  6. Solo todas las propiedades o deben seleccionarse en el menú desplegable Mostrar .
  7. Seleccione el campo Huella digital.

Nota

El nombre del certificado y la contraseña de SEMM también deben escribirse en esta sección del script de ResetSEMM.ps1 para permitir que Configuration Manager quite SEMM del dispositivo con la acción de desinstalación.

Configuración de permisos

La primera región del script donde especificarás la configuración de UEFI de Surface es la región Configurar permisos . Esta región comienza en la línea 210 del script de ejemplo con el comentario # Configurar permisos y continúa en la línea 247. El siguiente fragmento de código establece primero los permisos para toda la configuración de UEFI de Surface para que solo se puedan modificar mediante SEMM y, a continuación, agrega permisos explícitos para permitir que el usuario local modifique la contraseña de UEFI de Surface, tpm y cámaras delanteras y traseras.

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	}

Cada variable $uefiV 2 identifica una configuración de UEFI de Surface estableciendo el nombre o el identificador y, a continuación, configura los permisos en uno de los siguientes valores:

  • $ownerOnly : el permiso para modificar esta configuración solo se concede a SEMM.
  • $ownerAndLocalUser : se concede permiso para modificar esta configuración a un usuario local de arranque en Surface UEFI, así como a SEMM.

Puede encontrar información sobre los nombres de configuración y los identificadores disponibles para Surface UEFI en la sección Nombres e identificadores de configuración de este artículo.

Configurar opciones

La segunda región del script donde especificarás la configuración para Surface UEFI es la región Configurar configuración del script de ConfigureSEMM.ps1, que configura si cada configuración está habilitada o deshabilitada. El script de ejemplo incluye instrucciones para establecer toda la configuración en sus valores predeterminados. A continuación, el script proporciona instrucciones explícitas para deshabilitar IPv6 para arranque PXE y dejar la contraseña del administrador de UEFI de Surface sin cambios. Puede encontrar esta región a partir del comentario # Configurar configuración de la línea 291 a la línea 335 en el script de ejemplo. La región aparece como sigue.

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	}

Al igual que los permisos establecidos en la sección Configurar permisos del script, la configuración de cada configuración de UEFI de Surface se realiza mediante la definición de la variable $uefiV 2 . Para cada línea que define la variable $uefiV 2 , se identifica una configuración de UEFI de Surface estableciendo el nombre o el identificador y el valor configurado en Habilitado o Deshabilitado.

Si no quieres modificar la configuración de una configuración de UEFI de Surface, por ejemplo, para asegurarte de que la contraseña de administrador de UEFI de Surface no se borre mediante la acción de restablecer toda la configuración de UEFI de Surface a su valor predeterminado, puedes usar ClearConfiguredValue() para exigir que esta configuración no se modifique. En el script de ejemplo, se usa en la línea 323 para evitar que se borre la contraseña del administrador de UEFI de Surface, identificada en el script de ejemplo por su identificador de configuración, 501.

Puede encontrar información sobre los nombres de configuración y los identificadores disponibles para Surface UEFI en la sección Nombres de configuración e identificadores más adelante en este artículo.

Clave del Registro de configuración

Para identificar los sistemas inscritos para Configuration Manager, el script de ConfigureSEMM.ps1 escribe claves del Registro que se pueden usar para identificar los sistemas inscritos que se han instalado con el script de configuración de SEMM. Estas claves se pueden encontrar en la siguiente ubicación.

HKLM\SOFTWARE\Microsoft\Surface\SEMM

El siguiente fragmento de código, que se encuentra en las líneas 380-477, se usa para escribir estas claves del Registro.

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	}

Nombres e identificadores de configuración

Para configurar la configuración o los permisos de UEFI de Surface para la configuración de UEFI de Surface, debes hacer referencia a cada configuración por su nombre de configuración o identificador de configuración. Con cada nueva actualización de Surface UEFI, se pueden agregar nuevas configuraciones. La ejecución de ShowSettingsOptions.ps1 script (desde SEMM_Powershell.zip en Herramientas de Surface para TI) proporciona detalles de la configuración disponible. El equipo donde se ejecuta ShowSettingsOptions.ps1 debe tener instalado el Administrador de UEFI de Surface, pero el script no requiere un dispositivo Surface.

Implementación de scripts de semm Configuration Manager

Una vez que los scripts estén preparados para configurar y habilitar SEMM en el dispositivo cliente, el siguiente paso es agregar estos scripts como una aplicación en Configuration Manager. Antes de abrir Configuration Manager, asegúrese de que los siguientes archivos están en una carpeta compartida que no incluye otros archivos:

  • ConfigureSEMM.ps1
  • ResetSEMM.ps1
  • El certificado SEMM (por ejemplo, SEMMCertificate.pfx)

Los scripts de Configuration Manager SEMM se agregan a Configuration Manager como una aplicación de script. El comando para instalar SEMM con ConfigureSEMM.ps1 es el siguiente.

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

El comando para desinstalar SEMM con ResetSEMM.ps1 es el siguiente.

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

Para agregar los scripts de Configuration Manager SEMM a Configuration Manager como aplicación, use el siguiente proceso:

  1. Inicie el Asistente para aplicaciones de Create mediante el paso 1 al paso 5 de la sección Implementar administrador de UEFI de Surface anteriormente en este artículo.

  2. Continúe con el Asistente para aplicaciones de Create como se indica a continuación:

    • General : seleccione Especificar manualmente la información de la aplicación y, a continuación, seleccione Siguiente.

    • Información general : escriba un nombre para la aplicación (por ejemplo, SEMM) y cualquier otra información que desee, como el publicador, la versión o los comentarios de esta página. Seleccione Siguiente para continuar.

    • Catálogo de aplicaciones: los campos de esta página se pueden dejar con sus valores predeterminados. Selecciona Siguiente.

    • Tipos de implementación: seleccione Agregar para iniciar el Asistente para tipos de implementación de Create.

    • Siga los pasos del Asistente para tipos de implementación de Create, como se indica a continuación:

      • General : seleccione Instalador de scripts en el menú desplegable Tipo . La opción Especificar manualmente la información del tipo de implementación se seleccionará automáticamente. Seleccione Siguiente para continuar.
      • Información general : escriba un nombre para el tipo de implementación (por ejemplo, scripts de configuración de SEMM) y, a continuación, seleccione Siguiente para continuar.
      • Contenido: seleccione Examinar junto al campo Ubicación del contenido y, a continuación, seleccione la carpeta donde se encuentran los scripts de Configuration Manager SEMM. En el campo Programa de instalación , escriba el comando de instalación que se encontró anteriormente en este artículo. En el campo Desinstalar programa , escriba el comando de desinstalación que se encontró anteriormente en este artículo (que se muestra en la figura 2). Seleccione Siguiente para pasar a la página siguiente.

      Establezca los scripts de semm Configuration Manager como comandos de instalación y desinstalación.

      Figura 2. Establecer los scripts de Configuration Manager SEMM como comandos de instalación y desinstalación

      • Método de detección: seleccione Agregar cláusula para agregar la regla de detección de claves del Registro de script SEMM Configuration Manager. Se muestra la ventana Regla de detección , como se muestra en la figura 3. Usa la configuración siguiente:

        • Seleccione Registro en el menú desplegable Tipo de configuración .
        • Seleccione HKEY_LOCAL_MACHINE en el menú desplegable de Hive .
        • Escriba SOFTWARE\Microsoft\Surface\SEMM en el campo Clave .
        • Escriba CertName en el campo Valor .
        • Seleccione Cadena en el menú desplegable Tipo de datos .
        • Seleccione la opción Este registro debe cumplir la siguiente regla para indicar la presencia de este botón de aplicación .
        • Escriba el nombre del certificado especificado en la línea 58 del script en el campo Valor .
        • Seleccione Aceptar para cerrar la ventana Regla de detección .

      Use una clave del Registro para identificar los dispositivos inscritos en SEMM.

      Figura 3. Uso de una clave del Registro para identificar los dispositivos inscritos en SEMM

      • Seleccione Siguiente para pasar a la página siguiente.

      • Experiencia del usuario : seleccione Instalar para el sistema en el menú desplegable Comportamiento de instalación . Si desea que los usuarios registren y escriban la huella digital del certificado por sí mismos, deje el requisito de inicio de sesión establecido en Solo cuando un usuario haya iniciado sesión. Si desea que los administradores escriban la huella digital para los usuarios y los usuarios no necesitan ver la huella digital, seleccione Si un usuario ha iniciado sesión o no en el menú desplegable Requisito de inicio de sesión .

      • Requisitos : el script ConfigureSEMM.ps1 comprueba automáticamente que el dispositivo es un dispositivo Surface antes de intentar habilitar SEMM. Sin embargo, si pretende implementar esta aplicación de script en una colección con dispositivos distintos de los que se van a administrar con SEMM, puede agregar requisitos aquí para asegurarse de que esta aplicación se ejecutaría solo en dispositivos Surface o dispositivos que piensa administrar con SEMM. Seleccione Siguiente para continuar.

      • Dependencias : seleccione Agregar para abrir la ventana Agregar dependencia .

        • Seleccione Agregar para abrir la ventana Especificar aplicación requerida .

          • Escriba un nombre para las dependencias de SEMM en el campo Nombre del grupo de dependencias (por ejemplo, Ensamblados SEMM).

          • Seleccione Administrador de UEFI de Surface en la lista de aplicaciones disponibles y el tipo de implementación msi y, a continuación, seleccione Aceptar para cerrar la ventana Especificar aplicación requerida .

          • Mantén activada la casilla Instalar automáticamente si quieres que Surface UEFI Manager se instale automáticamente en los dispositivos cuando intentes habilitar SEMM con los scripts de Configuration Manager. Seleccione Aceptar para cerrar la ventana Agregar dependencia .
      • Seleccione Siguiente para continuar.

      • Resumen: en esta página se muestra la información que ha escrito a lo largo del asistente de tipo de implementación de Create. Seleccione Siguiente para confirmar las selecciones.

      • Progreso : en esta página se muestra una barra de progreso y un estado a medida que se agrega el tipo de implementación para la aplicación de script SEMM.

      • Finalización : se muestra la confirmación de la creación del tipo de implementación cuando se completa el proceso. Seleccione Cerrar para finalizar el Asistente para tipos de implementación de Create.

    • Resumen: se muestra la información que especificó a lo largo del Asistente para aplicaciones de Create. Seleccione Siguiente para crear la aplicación.

    • Progreso : en esta página se muestra una barra de progreso y un estado a medida que la aplicación se agrega a la biblioteca de software.

    • Finalización : se muestra la confirmación de la creación correcta de la aplicación cuando se completa el proceso de creación de la aplicación. Seleccione Cerrar para finalizar el Asistente para aplicaciones de Create.

Una vez que la aplicación de script está disponible en la biblioteca de software de Configuration Manager, puede distribuir e implementar SEMM mediante los scripts que preparó para dispositivos o colecciones. Si ha configurado los ensamblados del Administrador de UEFI de Surface como una dependencia que se instalará automáticamente, puede implementar SEMM en un solo paso. Si no ha configurado los ensamblados como una dependencia, deben instalarse en los dispositivos que piensa administrar antes de habilitar SEMM.

Al implementar SEMM con esta aplicación de script y con una configuración visible para el usuario final, se inicia el script de PowerShell y la ventana de PowerShell mostrará la huella digital del certificado. Puedes hacer que los usuarios registren esta huella digital y la escriban cuando Surface UEFI lo solicite después de reiniciar el dispositivo.

Como alternativa, puede configurar la instalación de la aplicación para que se reinicie automáticamente y para que se instale de forma invisible para el usuario. En este escenario, se requiere un técnico para escribir la huella digital en cada dispositivo a medida que se reinicia. Cualquier técnico con acceso al archivo de certificado puede leer la huella digital mediante la visualización del certificado con CertMgr. Las instrucciones para ver la huella digital con CertMgr se encuentran en la Create o modifican la sección semm Configuration Manager scripts de este artículo.

La eliminación de SEMM de un dispositivo implementado con Configuration Manager mediante estos scripts es tan fácil como desinstalar la aplicación con Configuration Manager. Esta acción inicia el script de ResetSEMM.ps1 y anula correctamente la inscripción del dispositivo con el mismo archivo de certificado que se usó durante la implementación de SEMM.

Nota

Surface recomienda crear paquetes de restablecimiento solo cuando necesites anular la inscripción de un dispositivo. Estos paquetes de restablecimiento suelen ser válidos para un solo dispositivo, identificados por su número de serie. Sin embargo, puede crear un paquete de restablecimiento universal que funcione para cualquier dispositivo inscrito en SEMM con este certificado.

Se recomienda encarecidamente proteger el paquete de restablecimiento universal con el mismo cuidado que el certificado que usó para inscribir dispositivos en SEMM. Recuerda que, al igual que el propio certificado, este paquete de restablecimiento universal se puede usar para anular la inscripción de cualquiera de los dispositivos Surface de tu organización desde SEMM.

Al instalar un paquete de restablecimiento, el valor mínimo admitido (LSV) se restablece a un valor de 1. Puede volver a inscribir un dispositivo mediante un paquete de configuración existente. El dispositivo solicitará la huella digital del certificado antes de que se tome la propiedad.

Por este motivo, la nueva inscripción de un dispositivo en SEMM requeriría que se creara e instalara un nuevo paquete en ese dispositivo. Dado que esta acción es una nueva inscripción y no un cambio en la configuración en un dispositivo que ya está inscrito en SEMM, el dispositivo solicitará la huella digital del certificado antes de que se tome la propiedad.