Compartilhar via


Utilizar Assemblagens UEFI & Configuration Manager para gerir dispositivos com SEMM

A funcionalidade Surface Enterprise Management Mode (SEMM) dos dispositivos UEFI do Surface permite aos administradores gerir e ajudar a proteger a configuração das definições de UEFI do Surface. Para a maioria das organizações, este processo é realizado através da criação de pacotes do Windows Installer (.msi) com a ferramenta UEFI Configurator no Toolkit de TI do Surface. Em seguida, estes pacotes são executados ou implementados nos dispositivos Surface cliente para inscrever os dispositivos no SEMM e para atualizar a configuração das definições do UEFI do Surface.

Para organizações com Configuration Manager, existe uma alternativa à utilização do ueFI Configurator do Surface .msi processo para implementar e administrar o SEMM. O Surface UEFI Manager é um instalador simples que disponibiliza assemblagens necessárias para gestão SEMM num dispositivo. Quando instala estas assemblagens com o Gestor de UEFI do Surface num cliente gerido, pode gerir o SEMM através de Configuration Manager com scripts do PowerShell, implementados como aplicações. Ao fazê-lo, elimina a necessidade da ferramenta externa UEFI Configurator do Surface.

Observação

Embora o processo descrito neste artigo possa funcionar com versões anteriores do Configuration Manager ou com outras soluções de gestão de terceiros, a gestão do SEMM com o Surface UEFI Manager e o PowerShell só é suportada com o Current Branch of Configuration Manager.

Pré-requisitos

Antes de começar o processo descrito neste artigo, familiarize-se com as seguintes tecnologias e ferramentas:

Importante

Também precisará de acesso ao certificado que pretende utilizar para proteger o SEMM. Para obter detalhes sobre os requisitos deste certificado, veja Requisitos de certificado SEMM.

É muito importante que este certificado seja mantido numa localização segura e devidamente efetuado uma cópia de segurança. Se este certificado ficar perdido ou inutilizável, não é possível repor o UEFI do Surface, alterar as definições de UEFI do Surface geridas ou remover o SEMM de um dispositivo Surface inscrito.

Transferir o Gestor de UEFI do Surface

A gestão do SEMM com Configuration Manager requer a instalação do Gestor de UEFI do Surface em cada dispositivo Surface cliente. Pode transferir o Gestor de UEFI do Surface a partir da Biblioteca de Ferramentas do Toolkit de TI do Surface.

Transferir scripts SEMM para Configuration Manager

Após a instalação do Gestor de UEFI no dispositivo Surface cliente, o SEMM pode ser implementado e gerido com scripts do PowerShell. Obtenha exemplos de script do Toolkit de TI do Surface.

Implementar o Gestor de UEFI do Surface

A implementação do Gestor de UEFI do Surface é uma implementação de aplicação típica. O ficheiro do instalador do Gestor de UEFI do Surface é um ficheiro windows Installer padrão que pode instalar com a opção de pausa padrão.

O comando para instalar o Gestor de UEFI do Surface é o seguinte.

msiexec /i "SurfaceUEFIManagerSetup.msi" /q

O comando para desinstalar o Gestor de UEFI do Surface é o seguinte.

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

Para criar uma nova aplicação e implementá-la numa coleção que contenha os seus dispositivos Surface, execute os seguintes passos:

  1. Abra Configuration Manager Consola a partir do ecrã Início ou do menu Iniciar.

  2. Selecione Biblioteca de Software no canto inferior esquerdo da janela.

  3. Expanda o nó Gestão de Aplicações da Biblioteca de Software e, em seguida, selecione Aplicações.

  4. Selecione o botão Criar Aplicação no separador Base na parte superior da janela. Esta ação inicia o Assistente para Criar Aplicação.

  5. O Assistente para Criar Aplicação apresenta uma série de passos:

    • Geral – a opção Detetar automaticamente informações sobre esta aplicação a partir de ficheiros de instalação está selecionada por predefinição. No campo Tipo , o Windows Installer (ficheiro .msi) também está selecionado por predefinição. Selecione Procurar para navegar e selecione SurfaceUEFIManagerSetup.msie, em seguida, selecione Seguinte.

      Observação

      A localização do SurfaceUEFIManagerSetup.msi tem de estar numa partilha de rede e localizada numa pasta que não contenha outros ficheiros. Não é possível utilizar uma localização de ficheiro local.

    • Informações de Importação – o Assistente para Criar Aplicação analisa o ficheiro .msi e lê o Nome da Aplicação e o Código do Produto. SurfaceUEFIManagerSetup.msi deve ser listado como o único ficheiro na linha Ficheiros de Conteúdo, conforme mostrado na Figura 1. Selecione Seguinte para continuar.

      As informações da configuração do Gestor de UEFI do Surface são analisadas automaticamente.

      Figura 1. As informações da configuração do Gestor de UEFI do Surface são analisadas automaticamente

    • Informações Gerais – pode modificar o nome da aplicação e as informações sobre o publicador e a versão ou adicionar comentários nesta página. O comando de instalação do Gestor de UEFI do Surface é apresentado no campo Programa de Instalação. O comportamento de instalação predefinido da Instalação do sistema permite ao Gestor de UEFI do Surface instalar as assemblagens necessárias para SEMM, mesmo que um utilizador não tenha sessão iniciada no dispositivo Surface. Selecione Seguinte para continuar.

    • Resumo – as informações que foram analisadas no passo Importar Informações e as suas seleções do passo Informações Gerais são apresentadas nesta página. Selecione Seguinte para confirmar as suas seleções e criar a aplicação.

    • Progresso – apresenta uma barra de progresso e status à medida que a aplicação é importada e adicionada à Biblioteca de Software.

    • Conclusão – a confirmação da criação bem-sucedida da aplicação é apresentada quando o processo de criação da aplicação estiver concluído. Selecione Fechar para concluir o Assistente para Criar Aplicação.

Depois de a aplicação ser criada no Configuration Manager, pode distribuí-la pelos pontos de distribuição e implementá-la nas coleções, incluindo os seus dispositivos Surface. Esta aplicação não instala nem ativa o SEMM no dispositivo Surface. Fornece apenas as assemblagens necessárias para que o SEMM seja ativado com o script do PowerShell.

Se não quiser instalar as assemblagens do Gestor de UEFI do Surface em dispositivos que não serão geridos com SEMM, pode configurar o Gestor de UEFI do Surface como uma dependência dos scripts de Configuration Manager SEMM. Este cenário é abordado na secção Implementar Scripts de Configuration Manager SEMM mais à frente neste artigo.

Criar ou modificar os scripts de Configuration Manager SEMM

Após a instalação das assemblagens necessárias nos dispositivos, o processo de inscrição dos dispositivos no SEMM e da configuração do UEFI do Surface é feito com scripts do PowerShell e implementado como uma aplicação de script com Configuration Manager. Estes scripts podem ser modificados de acordo com as necessidades da sua organização e ambiente. Por exemplo, pode criar várias configurações para dispositivos Surface geridos em diferentes departamentos ou funções. Transferir exemplos dos scripts para SEMM e Configuration Manager a partir do Toolkit de TI do Surface

Existem dois scripts principais de que precisa para efetuar uma implementação SEMM com Configuration Manager:

  • ConfigureSEMM.ps1 – disponível em Scripts de Dispositivos Surface no Toolkit de TI do Surface. Utilize este script para criar pacotes de configuração para os seus dispositivos Surface com as definições de UEFI do Surface pretendidas para aplicar as definições especificadas a um dispositivo Surface, inscrever o dispositivo no SEMM e definir uma chave de registo utilizada para identificar a inscrição do dispositivo no SEMM.
  • ResetSEMM.ps1 – disponível em Scripts Adicionais do Dispositivo Surface no Toolkit de TI do Surface. Utilize este script para repor o SEMM num dispositivo Surface, que o anula do SEMM e remove o controlo sobre as definições de UEFI do Surface.

Os scripts de exemplo incluem exemplos de como definir as definições do UEFI do Surface e como controlar as permissões para essas definições. Estas definições podem ser modificadas para proteger o UEFI do Surface e definir as definições de UEFI do Surface de acordo com as necessidades do seu ambiente. As secções seguintes deste artigo explicam o script ConfigureSEMM.ps1 e exploram as modificações que precisa de efetuar ao script de acordo com os seus requisitos.

Observação

O SEMM Configuration Manager scripts e o ficheiro de certificado SEMM exportado (.pfx) deve ser colocado na mesma pasta sem outros ficheiros antes de serem adicionados ao Configuration Manager.

Gerir portas USB em dispositivos suportados

Pode implementar a desativação usb-C dinâmica através de um dos seguintes métodos:

As secções seguintes deste artigo explicam o script ConfigureSEMM.ps1 e exploram as modificações que precisa de efetuar ao script de acordo com os seus requisitos.

Especificar nomes de certificados e pacotes

A primeira região do script que precisa de modificar é a parte que especifica e carrega o certificado SEMM e também indica a versão do SurfaceUEFIManager e os nomes do pacote de configuração SEMM e do pacote de reposição SEMM. O nome do certificado e a versão do SurfaceUEFIManager são especificados nas linhas 56 a 73 no 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" 

Substitua o valor FabrikamSEMMSample.pfx da variável $certName pelo nome do ficheiro de Certificado SEMM na linha 58. O script cria um diretório de trabalho (denominado Configuração) na pasta onde os scripts estão localizados e, em seguida, copia o ficheiro de certificado para este diretório de trabalho.

O pacote de proprietário e o pacote de reposição também serão criados no diretório Config e manterão a configuração para as definições e permissões ueFI do Surface geradas pelo script.

Na linha 73, substitua o valor da variável $password , de 1234 à palavra-passe do ficheiro de certificado. Se não for necessária uma palavra-passe, elimine o texto 1234 .

Observação

São necessários os dois últimos carateres do thumbprint do certificado para inscrever um dispositivo no SEMM. Este script irá apresentar estes dígitos ao utilizador, o que permite ao utilizador ou técnico registar estes dígitos antes de o sistema reiniciar para inscrever o dispositivo no SEMM. O script utiliza o seguinte código, encontrado nas linhas 150-155, para o fazer.

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

Os administradores com acesso ao ficheiro de certificado (.pfx) podem ler o thumbprint em qualquer altura ao abrir o ficheiro .pfx no CertMgr. Para ver o thumbprint com o CertMgr, siga este processo:

  1. Clique com o botão direito do rato no ficheiro .pfx e, em seguida, selecione Abrir.
  2. Expanda a pasta no painel de navegação.
  3. Selecione Certificados.
  4. Clique com o botão direito do rato no certificado no painel main e, em seguida, selecione Abrir.
  5. Selecione o separador Detalhes .
  6. Todos ou Propriedades Apenas têm de ser selecionados no menu pendente Mostrar .
  7. Selecione o campo Thumbprint.

Observação

O nome do certificado SEMM e a palavra-passe também têm de ser introduzidos nesta secção do script de ResetSEMM.ps1 para permitir que Configuration Manager removam SEMM do dispositivo com a ação de desinstalação.

Configurar permissões

A primeira região do script onde irá especificar a configuração para o UEFI do Surface é a região Configurar Permissões . Esta região começa na linha 210 no script de exemplo com o comentário # Configurar Permissões e continua na linha 247. O fragmento de código seguinte define primeiro as permissões para todas as definições de UEFI do Surface para que possam ser modificadas apenas pelo SEMM e, em seguida, adiciona permissões explícitas para permitir que o utilizador local modifique a palavra-passe UEFI do Surface, o TPM e as câmaras frontal e posterior.

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 variável $uefiV 2 identifica uma definição ueFI do Surface ao definir o nome ou ID e, em seguida, configura as permissões para um dos seguintes valores:

  • $ownerOnly – a permissão para modificar esta definição é concedida apenas ao SEMM.
  • $ownerAndLocalUser – a permissão para modificar esta definição é concedida a um utilizador local a arrancar no UEFI do Surface, bem como ao SEMM.

Pode encontrar informações sobre os nomes e IDs das definições disponíveis para o UEFI do Surface na secção Nomes e IDs de Definições deste artigo.

Definir configurações

A segunda região do script onde irá especificar a configuração para o UEFI do Surface é a região Configurar Definições do script ConfigureSEMM.ps1, que configura se cada definição está ativada ou desativada. O script de exemplo inclui instruções para definir todas as definições para os respetivos valores predefinidos. Em seguida, o script fornece instruções explícitas para desativar o IPv6 para Arranque PXE e para deixar a palavra-passe de Administrador ueFI do Surface inalterada. Pode encontrar esta região a começar com o comentário # Configurar Definições na linha 291 até à linha 335 no script de exemplo. A região é apresentada da seguinte forma.

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	}

Tal como as permissões definidas na secção Configurar Permissões do script, a configuração de cada definição de UEFI do Surface é efetuada ao definir a variável $uefiV 2 . Para cada linha que define a variável $uefiV 2, uma definição ueFI do Surface é identificada pelo nome ou ID da definição e o valor configurado está definido como Ativado ou Desativado.

Se não quiser alterar a configuração de uma definição de UEFI do Surface, por exemplo, para garantir que a palavra-passe de administrador do UEFI do Surface não é desmarcada pela ação de repor todas as predefinições do UEFI do Surface, pode utilizar ClearConfiguredValue() para impor que esta definição não será alterada. No script de exemplo, é utilizado na linha 323 para impedir a limpeza da palavra-passe de Administrador ueFI do Surface, identificada no script de exemplo pelo ID de definição 501.

Pode encontrar informações sobre os nomes e IDs das definições disponíveis para o UEFI do Surface na secção Nomes e IDs de Definições mais à frente neste artigo.

Chave de registo de definições

Para identificar os sistemas inscritos para Configuration Manager, o script de ConfigureSEMM.ps1 escreve chaves de registo que podem ser utilizadas para identificar os sistemas inscritos como tendo sido instalados com o script de configuração SEMM. Estas chaves podem ser encontradas na seguinte localização.

HKLM\SOFTWARE\Microsoft\Surface\SEMM

O fragmento de código seguinte, encontrado nas linhas 380-477, é utilizado para escrever estas chaves de registo.

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	}

Nomes e IDs de definições

Para configurar as definições ou permissões ueFI do Surface para as definições do UEFI do Surface, tem de consultar cada definição através do respetivo nome de definição ou ID de definição. A cada nova atualização para o UEFI do Surface, poderão ser adicionadas novas definições. Executar ShowSettingsOptions.ps1 script (a partir de SEMM_Powershell.zip nas Ferramentas do Surface para TI) fornece detalhes sobre as definições disponíveis. O computador onde ShowSettingsOptions.ps1 é executado tem de ter o Surface UEFI Manager instalado, mas o script não necessita de um dispositivo Surface.

Implementar scripts de Configuration Manager SEMM

Depois de os scripts estarem preparados para configurar e ativar o SEMM no dispositivo cliente, o passo seguinte é adicionar estes scripts como uma aplicação no Configuration Manager. Antes de abrir Configuration Manager, certifique-se de que os seguintes ficheiros estão numa pasta partilhada que não inclui outros ficheiros:

  • ConfigureSEMM.ps1
  • ResetSEMM.ps1
  • O certificado SEMM (por exemplo, SEMMCertificate.pfx)

Os scripts de Configuration Manager SEMM são adicionados ao Configuration Manager como uma aplicação de script. O comando para instalar o SEMM com ConfigureSEMM.ps1 é o seguinte.

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

O comando para desinstalar o SEMM com ResetSEMM.ps1 é o seguinte.

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

Para adicionar os scripts de Configuration Manager SEMM a Configuration Manager como uma aplicação, utilize o seguinte processo:

  1. Inicie o Assistente para Criar Aplicação com o Passo 1 até ao Passo 5 a partir da secção Implementar o Gestor de UEFI do Surface anteriormente neste artigo.

  2. Avance para o Assistente para Criar Aplicação da seguinte forma:

    • Geral – selecione Especificar manualmente as informações da aplicação e, em seguida, selecione Seguinte.

    • Informações Gerais – introduza um nome para a aplicação (por exemplo, SEMM) e quaisquer outras informações que pretenda, como publicador, versão ou comentários nesta página. Selecione Seguinte para continuar.

    • Catálogo de Aplicações – os campos nesta página podem ser deixados com os respetivos valores predefinidos. Selecione Avançar.

    • Tipos de Implementação – selecione Adicionar para iniciar o Assistente para Criar Tipo de Implementação.

    • Siga os passos do Assistente para Criar Tipo de Implementação, da seguinte forma:

      • Geral – selecione Instalador de Scripts no menu pendente Tipo . A opção Especificar manualmente as informações do tipo de implementação será selecionada automaticamente. Selecione Seguinte para continuar.
      • Informações Gerais – introduza um nome para o tipo de implementação (por exemplo, Scripts de Configuração SEMM) e, em seguida, selecione Seguinte para continuar.
      • Conteúdoselecione Procurar junto ao campo Localização do Conteúdo e, em seguida, selecione a pasta onde estão localizados os scripts Configuration Manager SEMM. No campo Programa de Instalação , escreva o comando de instalação encontrado anteriormente neste artigo. No campo Desinstalar Programa , introduza o comando de desinstalação encontrado anteriormente neste artigo (mostrado na Figura 2). Selecione Seguinte para ir para a página seguinte.

      Defina o SEMM Configuration Manager scripts como os comandos de instalação e desinstalação.

      Figura 2. Defina os scripts de Configuration Manager SEMM como os comandos de instalação e desinstalação

      • Método de Deteção – selecione Adicionar Cláusula para adicionar a regra de deteção da chave de registo de script semm Configuration Manager. A janela Regra de Deteção é apresentada, conforme mostrado na Figura 3. Use as seguintes configurações:

        • Selecione Registo no menu pendente Tipo de Definição .
        • Selecione HKEY_LOCAL_MACHINE no menu pendente hive .
        • Introduza SOFTWARE\Microsoft\Surface\SEMM no campo Chave .
        • Introduza CertName no campo Valor .
        • Selecione Cadeia no menu pendente Tipo de Dados .
        • Selecione a definição Este registo tem de satisfazer a seguinte regra para indicar a presença deste botão de aplicação .
        • Introduza o nome do certificado que introduziu na linha 58 do script no campo Valor .
        • Selecione OK para fechar a janela Regra de Deteção .

      Utilize uma chave de registo para identificar os dispositivos inscritos no SEMM.

      Figura 3. Utilizar uma chave de registo para identificar os dispositivos inscritos no SEMM

      • Selecione Seguinte para avançar para a página seguinte.

      • Experiência do Utilizador – selecione Instalar para o sistema no menu pendente Comportamento da Instalação . Se quiser que os seus utilizadores gravem e introduzam o thumbprint do certificado, deixe o requisito de início de sessão definido como Apenas quando um utilizador tiver sessão iniciada. Se quiser que os administradores introduzam o thumbprint para os utilizadores e os utilizadores não precisarem de ver o thumbprint, selecione Se um utilizador tem ou não sessão iniciada no menu pendente Requisito de Início de Sessão.

      • Requisitos – o script ConfigureSEMM.ps1 verifica automaticamente se o dispositivo é um dispositivo Surface antes de tentar ativar o SEMM. No entanto, se pretender implementar esta aplicação de script numa coleção com dispositivos que não sejam geridos com SEMM, pode adicionar requisitos aqui para garantir que esta aplicação é executada apenas em dispositivos Surface ou dispositivos que pretende gerir com SEMM. Selecione Seguinte para continuar.

      • Dependências – selecione Adicionar para abrir a janela Adicionar Dependência .

        • Selecione Adicionar para abrir a janela Especificar Aplicação Necessária .

          • Introduza um nome para as dependências SEMM no campo Nome do Grupo de Dependências (por exemplo, Assemblagens SEMM).

          • Selecione Gestor de UEFI do Surface na lista de Aplicações Disponíveis e o tipo de implementação MSI e, em seguida, selecione OK para fechar a janela Especificar Aplicação Necessária .

          • Mantenha a caixa de marcar de Instalação Automática selecionada se pretender que o Gestor de UEFI do Surface seja instalado automaticamente nos dispositivos quando tentar ativar o SEMM com os scripts de Configuration Manager. Selecione OK para fechar a janela Adicionar Dependência .
      • Selecione Seguinte para continuar.

      • Resumo – as informações que introduziu ao longo do assistente Criar Tipo de Implementação são apresentadas nesta página. Selecione Seguinte para confirmar as suas seleções.

      • Progresso – é apresentada nesta página uma barra de progresso e status à medida que o tipo de implementação é adicionado à aplicação de script SEMM.

      • Conclusão – a confirmação da criação do tipo de implementação é apresentada quando o processo estiver concluído. Selecione Fechar para concluir o Assistente para Criar Tipo de Implementação.

    • Resumo – são apresentadas as informações que introduziu ao longo do Assistente para Criar Aplicação. Selecione Seguinte para criar a aplicação.

    • Progresso – é apresentada nesta página uma barra de progresso e status à medida que a aplicação é adicionada à Biblioteca de Software.

    • Conclusão – a confirmação da criação bem-sucedida da aplicação é apresentada quando o processo de criação da aplicação estiver concluído. Selecione Fechar para concluir o Assistente para Criar Aplicação.

Depois de a aplicação de script estar disponível na Biblioteca de Software do Configuration Manager, pode distribuir e implementar o SEMM com os scripts que preparou para dispositivos ou coleções. Se tiver configurado as assemblagens do Gestor de UEFI do Surface como uma dependência que será instalada automaticamente, pode implementar o SEMM num único passo. Se não tiver configurado as assemblagens como uma dependência, estas têm de ser instaladas nos dispositivos que pretende gerir antes de ativar o SEMM.

Quando implementa o SEMM com esta aplicação de script e com uma configuração visível para o utilizador final, o script do PowerShell é iniciado e o thumbprint do certificado será apresentado pela janela do PowerShell. Pode fazer com que os seus utilizadores gravem este thumbprint e introduzam-no quando lhe for pedido pelo UEFI do Surface após o reinício do dispositivo.

Em alternativa, pode configurar a instalação da aplicação para reiniciar automaticamente e instalar invisivelmente para o utilizador. Neste cenário, é necessário um técnico para introduzir o thumbprint em cada dispositivo à medida que é reiniciado. Qualquer técnico com acesso ao ficheiro de certificado pode ler o thumbprint ao ver o certificado com o CertMgr. As instruções para ver o thumbprint com o CertMgr estão na secção Criar ou modificar os scripts semm Configuration Manager deste artigo.

A remoção do SEMM de um dispositivo implementado com Configuration Manager a utilização destes scripts é tão fácil como desinstalar a aplicação com Configuration Manager. Esta ação inicia o script ResetSEMM.ps1 e ancora corretamente o dispositivo com o mesmo ficheiro de certificado que foi utilizado durante a implementação do SEMM.

Observação

O Surface recomenda que crie pacotes de reposição apenas quando precisar de anular a inscrição de um dispositivo. Normalmente, estes pacotes de reposição são válidos apenas para um dispositivo, identificado pelo respetivo número de série. No entanto, pode criar um pacote de reposição universal que funcione para qualquer dispositivo inscrito no SEMM com este certificado.

Recomendamos vivamente que proteja o seu pacote de reposição universal tão cuidadosamente como o certificado que utilizou para inscrever dispositivos no SEMM. Lembre-se de que, tal como o próprio certificado, este pacote de reposição universal pode ser utilizado para anular a inscrição de qualquer um dos dispositivos Surface da sua organização no SEMM.

Quando instala um pacote de reposição, o Valor Suportado Mais Baixo (LSV) é reposto para um valor de 1. Pode voltar a inscrição de um dispositivo com um pacote de configuração existente. O dispositivo pedirá o thumbprint do certificado antes de a propriedade ser tomada.

Por este motivo, a inscrição de um dispositivo no SEMM exigiria a criação e instalação de um novo pacote nesse dispositivo. Uma vez que esta ação é uma nova inscrição e não uma alteração na configuração num dispositivo já inscrito no SEMM, o dispositivo pedirá o thumbprint do certificado antes de a propriedade ser tomada.