Usar assemblies UEFI & Configuration Manager para gerenciar dispositivos com SEMM

O recurso SEMM (Surface Enterprise Management Mode) dos dispositivos SURFACE UEFI permite que os administradores gerenciem e ajudem a proteger a configuração das configurações do Surface UEFI. Para a maioria das organizações, esse processo é realizado criando pacotes do Windows Installer (.msi) com a ferramenta Configurador UEFI no Surface IT Toolkit. Esses pacotes são executados ou implantados nos dispositivos Surface do cliente para registrar os dispositivos no SEMM e atualizar a configuração de configurações do Surface UEFI.

Para organizações com o Ponto de Extremidade Configuration Manager, há uma alternativa ao uso do processo configurador do Surface UEFI .msi para implantar e administrar o SEMM. O Surface UEFI Manager é um instalador leve que disponibiliza assemblies necessários para o gerenciamento semm em um dispositivo. Ao instalar esses assemblies com o Surface UEFI Manager em um cliente gerenciado, você pode gerenciar o SEMM por meio de Configuration Manager com scripts do PowerShell, implantados como aplicativos. Isso elimina a necessidade da ferramenta configuradora externa do SURFACE UEFI.

Observação

Embora o processo descrito neste artigo possa funcionar com versões anteriores do Configuration Manager ou com outras soluções de gerenciamento de terceiros, o gerenciamento do SEMM com o Surface UEFI Manager e o PowerShell só tem suporte com o Branch Atual do Configuration Manager.

Pré-requisitos

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

Importante

Você também precisará de acesso ao certificado que pretende usar para proteger o SEMM. Para obter detalhes sobre os requisitos desse certificado, consulte Requisitos de certificado SEMM.

É muito importante que esse certificado seja mantido em um local seguro e feito backup adequado. Se esse certificado se tornar perdido ou inutilizável, não será possível redefinir o Surface UEFI, alterar as configurações gerenciadas do Surface UEFI ou remover o SEMM de um dispositivo Surface registrado.

Baixar o Surface UEFI Manager

O gerenciamento do SEMM com Configuration Manager requer a instalação do Surface UEFI Manager em cada dispositivo Surface cliente. Você pode baixar o Surface UEFI Manager na Biblioteca de Ferramentas do Surface IT Toolkit.

Baixar scripts SEMM para Configuration Manager

Depois que o UEFI Manager for instalado no dispositivo Surface do cliente, o SEMM poderá ser implantado e gerenciado com scripts do PowerShell. Obtenha exemplos de script do Surface IT Toolkit.

Implantar o Surface UEFI Manager

A implantação do Surface UEFI Manager é uma implantação típica do aplicativo. O arquivo instalador do Surface UEFI Manager é um arquivo padrão do Windows Installer que você pode instalar com a opção de silêncio padrão.

O comando para instalar o Surface UEFI Manager é o seguinte.

msiexec /i "SurfaceUEFIManagerSetup.msi" /q

O comando para desinstalar o Surface UEFI Manager é o seguinte.

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

Para criar um novo aplicativo e implantá-lo em uma coleção que contém seus dispositivos Surface, execute as seguintes etapas:

  1. Abra Configuration Manager Console na tela Iniciar ou iniciar menu.

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

  3. Expanda o nó Gerenciamento de Aplicativos da Biblioteca de Software e selecione Aplicativos.

  4. Selecione o botão Create Aplicativo na guia Página Inicial na parte superior da janela. Isso inicia o Assistente de Aplicativo Create.

  5. O Assistente de Aplicativo Create apresenta uma série de etapas:

    • Geral – a opção Detectar automaticamente informações sobre esse aplicativo a partir de arquivos de instalação é selecionada por padrão. No campo Tipo , o Windows Installer (.msi arquivo) também é selecionado por padrão. Selecione Procurar para navegar e selecione SurfaceUEFIManagerSetup.msie selecione Avançar.

      Observação

      O local do SurfaceUEFIManagerSetup.msi deve estar em um compartilhamento de rede e localizado em uma pasta que não contém outros arquivos. Não é possível usar um local de arquivo local.

    • Importar Informações – O Assistente de Aplicativo Create analisa o arquivo .msi e lê o Nome do Aplicativo e o Código do Produto. SurfaceUEFIManagerSetup.msi deve ser listado como o único arquivo na linha Arquivos de Conteúdo, conforme mostrado na Figura 1. Selecione Avançar para continuar.

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

      Figura 1. As informações da instalação do Surface UEFI Manager são analisadas automaticamente

    • Informações gerais – você pode modificar o nome do aplicativo e as informações sobre o editor e a versão ou adicionar comentários nesta página. O comando de instalação do Surface UEFI Manager é exibido no campo Programa de Instalação. O comportamento padrão de instalação do Install for system permite que o Surface UEFI Manager instale os assemblies necessários para SEMM mesmo que um usuário não esteja conectado ao dispositivo Surface. Selecione Avançar para continuar.

    • Resumo – As informações analisadas na etapa Importar Informações e suas seleções da etapa Informações Gerais são exibidas nesta página. Selecione Avançar para confirmar suas seleções e criar o aplicativo.

    • Progresso – exibe uma barra de progresso e status à medida que o aplicativo é importado e adicionado à Biblioteca de Software.

    • Conclusão – a confirmação da criação bem-sucedida do aplicativo é exibida quando o processo de criação do aplicativo é concluído. Selecione Fechar para concluir o Assistente de Aplicativo Create.

Depois que o aplicativo for criado em Configuration Manager, você poderá distribuí-lo para seus pontos de distribuição e implantá-lo nas coleções, incluindo seus dispositivos Surface. Esse aplicativo não instalará nem habilitará o SEMM no dispositivo Surface. Ele fornece apenas os assemblies necessários para que o SEMM seja habilitado usando o script do PowerShell.

Se você não quiser instalar os assemblies do Surface UEFI Manager em dispositivos que não serão gerenciados com SEMM, você poderá configurar o Surface UEFI Manager como uma dependência dos scripts de Configuration Manager SEMM. Esse cenário é abordado na seção Implantar scripts de Configuration Manager semm mais tarde neste artigo.

Create ou modificar os scripts de Configuration Manager semm

Depois que os assemblies necessários forem instalados nos dispositivos, o processo de registrar os dispositivos no SEMM e configurar o Surface UEFI é feito com scripts do PowerShell e implantado como um aplicativo de script com Configuration Manager. Esses scripts podem ser modificados para atender às necessidades de sua organização e ambiente. Por exemplo, você pode criar várias configurações para dispositivos Gerenciados do Surface em diferentes departamentos ou funções. Baixar exemplos dos scripts para SEMM e Configuration Manager do Surface IT Toolkit

Há dois scripts primários que você precisará para executar uma implantação semm com Configuration Manager:

  • ConfigureSEMM.ps1 – Disponível em Scripts do Dispositivo Surface no Kit de Ferramentas de TI do Surface. Use esse script para criar pacotes de configuração para seus dispositivos Surface com as configurações desejadas do Surface UEFI para aplicar as configurações especificadas a um dispositivo Surface, registrar o dispositivo no SEMM e definir uma chave de registro usada para identificar o registro do dispositivo no SEMM.
  • ResetSEMM.ps1 – Disponível em Scripts adicionais do dispositivo Surface no Kit de Ferramentas de TI do Surface. Use esse script para redefinir o SEMM em um dispositivo Surface, que o desativa do SEMM e remove o controle sobre as configurações do Surface UEFI.

Os scripts de exemplo incluem exemplos de como definir as configurações do Surface UEFI e como controlar as permissões para essas configurações. Essas configurações podem ser modificadas para proteger o Surface UEFI e definir as configurações do Surface UEFI de acordo com as necessidades do seu ambiente. As seções a seguir deste artigo explicam o script ConfigureSEMM.ps1 e exploram as modificações que você precisa fazer no script para se adequar aos seus requisitos.

Observação

O SEMM Configuration Manager scripts e o arquivo de certificado SEMM exportado (.pfx) devem ser colocados na mesma pasta sem outros arquivos antes de serem adicionados ao Configuration Manager.

Gerenciar portas USB em dispositivos com suporte

Você pode implementar a desabilitação do USB-C dinâmico por meio de um dos seguintes métodos:

As seções a seguir deste artigo explicam o script ConfigureSEMM.ps1 e exploram as modificações que você precisa fazer no script para se adequar aos seus requisitos.

Especificar nomes de certificado e pacote

A primeira região do script que você precisa modificar é a parte que especifica e carrega o certificado SEMM e também indica a versão SurfaceUEFIManager e os nomes do pacote de configuração semm e pacote de redefinição semm. O nome do certificado e a versão 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 pela variável $certName pelo nome do arquivo certificado SEMM na linha 58. O script cria um diretório de trabalho (chamado Config) na pasta em que os scripts estão localizados e copia o arquivo de certificado para este diretório de trabalho.

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

Na linha 73, substitua o valor da variável $password , de 1234 para a senha do arquivo de certificado. Se uma senha não for necessária, exclua o texto 1234 .

Observação

Os dois últimos caracteres da impressão digital do certificado são necessários para registrar um dispositivo no SEMM. Esse script exibirá esses dígitos para o usuário, o que permite que o usuário ou o técnico registrem esses dígitos antes que o sistema reinicialize para registrar o dispositivo no SEMM. O script usa o código a seguir, encontrado nas linhas 150-155, para realizar isso.

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 arquivo de certificado (.pfx) podem ler a impressão digital a qualquer momento abrindo o arquivo .pfx no CertMgr. Para exibir a impressão digital com o CertMgr, siga este processo:

  1. Clique com o botão direito do mouse no arquivo .pfx e selecione Abrir.
  2. Expanda a pasta no painel de navegação.
  3. Selecione Certificados.
  4. Clique com o botão direito do mouse no certificado no painel main e selecione Abrir.
  5. Selecione a guia Detalhes .
  6. Tudo ou Propriedades Somente deve ser selecionado no menu suspenso Mostrar .
  7. Selecione o campo Impressão digital.

Observação

O nome e a senha do certificado SEMM também devem ser inseridos nesta seção do script ResetSEMM.ps1 para permitir que Configuration Manager remova o SEMM do dispositivo com a ação de desinstalação.

Configurar permissões

A primeira região do script em que você especificará a configuração do Surface UEFI é a região Configurar permissões . Essa região começa na linha 210 no script de exemplo com o comentário # Configurar Permissões e continua a linha 247. O fragmento de código a seguir primeiro define permissões para todas as configurações do Surface UEFI para que elas possam ser modificadas apenas pelo SEMM e, em seguida, adiciona permissões explícitas para permitir que o usuário local modifique a senha do Surface UEFI, o TPM e as câmeras frontal e traseira.

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 configuração UEFI do Surface definindo nome ou ID e configura as permissões para um dos seguintes valores:

  • $ownerOnly – A permissão para modificar essa configuração é concedida apenas ao SEMM.
  • $ownerAndLocalUser – a permissão para modificar essa configuração é concedida a uma inicialização de usuário local no Surface UEFI, bem como ao SEMM.

Você pode encontrar informações sobre os nomes e IDs de configurações disponíveis para o Surface UEFI na seção Nomes e IDs de Configurações deste artigo.

Definir configurações

A segunda região do script em que você especificará a configuração do Surface UEFI é a região Configurar Configurações do script ConfigureSEMM.ps1, que configura se cada configuração está habilitada ou desabilitada. O script de exemplo inclui instruções para definir todas as configurações como seus valores padrão. Em seguida, o script fornece instruções explícitas para desabilitar o IPv6 para Inicialização PXE e deixar a senha do Administrador UEFI do Surface inalterada. Você pode encontrar essa região começando com o comentário # Configurar Configurações na linha 291 até a linha 335 no script de exemplo. A região é exibida da seguinte maneira.

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	}

Como as permissões definidas na seção Configurar Permissões do script, a configuração de cada configuração do Surface UEFI é executada definindo a variável $uefiV 2 . Para cada linha que define a variável $uefiV 2 , uma configuração UEFI do Surface é identificada por nome ou ID de configuração e o valor configurado é definido como Habilitado ou Desabilitado.

Se você não quiser alterar a configuração de uma configuração do Surface UEFI, por exemplo, para garantir que a senha de administrador do Surface UEFI não seja desmarcada pela ação de redefinir todas as configurações do Surface UEFI para seu padrão, você pode usar ClearConfiguredValue() para impor que essa configuração não será alterada. No script de exemplo, isso é usado na linha 323 para impedir a limpeza da senha do Administrador do SURFACE UEFI, identificada no script de exemplo por sua ID de configuração, 501.

Você pode encontrar informações sobre os nomes e IDs de configurações disponíveis para o Surface UEFI na seção Nomes e IDs de Configurações posteriormente neste artigo.

Configurações da chave do registro

Para identificar sistemas registrados para Configuration Manager, o script ConfigureSEMM.ps1 grava chaves de registro que podem ser usadas para identificar sistemas registrados como tendo sido instalados com o script de configuração semm. Essas chaves podem ser encontradas no local a seguir.

HKLM\SOFTWARE\Microsoft\Surface\SEMM

O fragmento de código a seguir, encontrado nas linhas 380-477, é usado para gravar essas chaves de 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	}

Nomes e IDs de configurações

Para configurar as configurações ou permissões do Surface UEFI para configurações do Surface UEFI, você deve se referir a cada configuração por seu nome de configuração ou ID de configuração. A cada nova atualização para o Surface UEFI, novas configurações podem ser adicionadas. Executar ShowSettingsOptions.ps1 script (de SEMM_Powershell.zip no Surface Tools para TI) fornece detalhes das configurações disponíveis. O computador em que ShowSettingsOptions.ps1 é executado deve ter o Surface UEFI Manager instalado, mas o script não requer um dispositivo Surface.

Implantar scripts de Configuration Manager semm

Depois que seus scripts estiverem preparados para configurar e habilitar o SEMM no dispositivo cliente, a próxima etapa é adicionar esses scripts como um aplicativo em Configuration Manager. Antes de abrir Configuration Manager, verifique se os seguintes arquivos estão em uma pasta compartilhada que não inclua outros arquivos:

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

Os scripts de Configuration Manager semm são adicionados a Configuration Manager como um aplicativo 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 um aplicativo, use o seguinte processo:

  1. Inicie o Assistente de Aplicativo Create usando a Etapa 1 a 5 da seção Implantar o Surface UEFI Manager anteriormente neste artigo.

  2. Siga o Assistente de Aplicativo Create da seguinte maneira:

    • Geralselecione Especificar manualmente as informações do aplicativo e selecione Avançar.

    • Informações gerais – insira um nome para o aplicativo (por exemplo, SEMM) e qualquer outra informação desejada, como editor, versão ou comentários nesta página. Selecione Avançar para continuar.

    • Catálogo de Aplicativos – os campos nesta página podem ser deixados com seus valores padrão. Selecione Avançar.

    • Tipos de implantação – selecione Adicionar para iniciar o assistente de tipo de implantação Create.

    • Siga as etapas do Assistente de Tipo de Implantação Create, da seguinte maneira:

      • Geral – Selecione Instalador de Script no menu suspenso Tipo . A opção Especificar manualmente as informações de tipo de implantação será selecionada automaticamente. Selecione Avançar para continuar.
      • Informações gerais – insira um nome para o tipo de implantação (por exemplo, scripts de configuração semm) e selecione Avançar para continuar.
      • Conteúdo – selecione Procurar ao lado do campo Local de Conteúdo e selecione a pasta em que estão localizados os scripts de Configuration Manager SEMM. No campo Programa de Instalação , digite o comando de instalação encontrado anteriormente neste artigo. No campo Desinstalar Programa , insira o comando de desinstalação encontrado anteriormente neste artigo (mostrado na Figura 2). Selecione Avançar para passar para a próxima página.

      Defina os scripts de Configuration Manager semm 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 detecção – selecione Adicionar Cláusula para adicionar a regra de detecção de chave de registro de script semm Configuration Manager. A janela Regra de Detecção é exibida, conforme mostrado na Figura 3. Use as seguintes configurações:

        • Selecione Registro no menu suspenso Tipo de Configuração .
        • Selecione HKEY_LOCAL_MACHINE no menu suspenso do Hive .
        • Insira SOFTWARE\Microsoft\Surface\SEMM no campo Chave.
        • Insira CertName no campo Valor .
        • Selecione Cadeia de Caracteres no menu suspenso Tipo de Dados .
        • Selecione a configuração Este registro deve atender à regra a seguir para indicar a presença deste botão de aplicativo .
        • Insira o nome do certificado inserido na linha 58 do script no campo Valor .
        • Selecione OK para fechar a janela Regra de Detecção .

      Use uma chave de registro para identificar dispositivos registrados no SEMM.

      Figura 3. Usar uma chave de registro para identificar dispositivos registrados no SEMM

      • Selecione Avançar para seguir para a próxima página.

      • Experiência do usuário – selecione Instalar para o sistema no menu suspenso Comportamento de Instalação . Se você quiser que seus usuários registrem e insiram a impressão digital do certificado por conta própria, deixe o requisito de logon definido como Somente quando um usuário estiver conectado. Se você quiser que seus administradores insiram a impressão digital para usuários e os usuários não precisarem ver a impressão digital, selecione Se um usuário está conectado ou não no menu suspenso Requisito de Logon .

      • Requisitos – o script ConfigureSEMM.ps1 verifica automaticamente se o dispositivo é um dispositivo Surface antes de tentar habilitar o SEMM. No entanto, se você pretende implantar esse aplicativo de script em uma coleção com dispositivos diferentes daqueles a serem gerenciados com SEMM, você poderá adicionar requisitos aqui para garantir que esse aplicativo seja executado apenas em dispositivos Surface ou dispositivos que você pretende gerenciar com SEMM. Selecione Avançar para continuar.

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

        • Selecione Adicionar para abrir a janela Especificar Aplicativo Necessário .

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

          • Selecione Surface UEFI Manager na lista de Aplicativos Disponíveis e o tipo de implantação msi e selecione OK para fechar a janela Especificar Aplicativo Necessário .

          • Mantenha a caixa Instalação Automática marcar selecionada se desejar que o Surface UEFI Manager seja instalado automaticamente em dispositivos quando tentar habilitar o SEMM com os scripts Configuration Manager. Selecione OK para fechar a janela Adicionar Dependência .
      • Selecione Avançar para continuar.

      • Resumo – As informações inseridas em todo o assistente Create Tipo de Implantação são exibidas nesta página. Selecione Avançar para confirmar suas seleções.

      • Progresso – uma barra de progresso e status à medida que o tipo de implantação é adicionado para o aplicativo de script SEMM é exibido nesta página.

      • Conclusão – a confirmação da criação do tipo de implantação é exibida quando o processo é concluído. Selecione Fechar para concluir o Assistente de Tipo de Implantação Create.

    • Resumo – As informações que você inseriu em todo o Create Assistente de Aplicativo são exibidas. Selecione Avançar para criar o aplicativo.

    • Progresso – uma barra de progresso e status à medida que o aplicativo é adicionado à Biblioteca de Software é exibido nesta página.

    • Conclusão – a confirmação da criação bem-sucedida do aplicativo é exibida quando o processo de criação do aplicativo é concluído. Selecione Fechar para concluir o Assistente de Aplicativo Create.

Depois que o aplicativo de script estiver disponível na Biblioteca de Software de Configuration Manager, você poderá distribuir e implantar o SEMM usando os scripts preparados para dispositivos ou coleções. Se você tiver configurado os assemblies do Surface UEFI Manager como uma dependência que será instalada automaticamente, você poderá implantar o SEMM em uma única etapa. Se você não configurou os assemblies como uma dependência, eles devem ser instalados nos dispositivos que você pretende gerenciar antes de habilitar o SEMM.

Quando você implanta o SEMM usando esse aplicativo de script e com uma configuração visível para o usuário final, o script do PowerShell é iniciado e a impressão digital do certificado será exibida pela janela do PowerShell. Você pode fazer com que seus usuários gravem essa impressão digital e insira-a quando solicitado pelo Surface UEFI após a reinicialização do dispositivo.

Como alternativa, você pode configurar a instalação do aplicativo para reiniciar automaticamente e instalar de forma invisivelmente o usuário. Nesse cenário, um técnico é necessário para inserir a impressão digital em cada dispositivo à medida que ele é reiniciado. Qualquer técnico com acesso ao arquivo de certificado pode ler a impressão digital exibindo o certificado com CertMgr. As instruções para exibir a impressão digital com o CertMgr estão no Create ou modificam a seção de scripts semm Configuration Manager deste artigo.

A remoção do SEMM de um dispositivo implantado com Configuration Manager usando esses scripts é tão fácil quanto desinstalar o aplicativo com Configuration Manager. Essa ação inicia o script ResetSEMM.ps1 e desativa corretamente o dispositivo com o mesmo arquivo de certificado usado durante a implantação do SEMM.

Observação

O Surface recomenda que você crie pacotes de redefinição somente quando precisar cancelar o registro de um dispositivo. Esses pacotes de redefinição normalmente são válidos para apenas um dispositivo, identificado pelo número de série. No entanto, você pode criar um pacote de redefinição universal que funcione para qualquer dispositivo registrado no SEMM com esse certificado.

Recomendamos que você proteja seu pacote de redefinição universal tão cuidadosamente quanto o certificado usado para registrar dispositivos no SEMM. Lembre-se de que, assim como o certificado em si, esse pacote de redefinição universal pode ser usado para cancelar o desbloqueio de qualquer um dos dispositivos Surface da sua organização do SEMM.

Quando você instala um pacote de redefinição, o LSV (Menor Valor Com Suporte) é redefinido para um valor de 1. Você pode reenrollar um dispositivo usando um pacote de configuração existente. O dispositivo solicitará a impressão digital do certificado antes que a propriedade seja tomada.

Por esse motivo, o reenrollamento de um dispositivo no SEMM exigiria que um novo pacote fosse criado e instalado nesse dispositivo. Como essa ação é um novo registro e não uma alteração na configuração em um dispositivo já registrado no SEMM, o dispositivo solicitará a impressão digital do certificado antes que a propriedade seja tomada.