Condividi tramite


Usare assembly UEFI & Configuration Manager per gestire i dispositivi con SEMM

La funzionalità SEMM (Surface Enterprise Management Mode) dei dispositivi Surface UEFI consente agli amministratori di gestire e proteggere la configurazione delle impostazioni UEFI di Surface. Per la maggior parte delle organizzazioni, questo processo viene eseguito creando pacchetti di Windows Installer (.msi) con lo strumento UEFI Configurator in Surface IT Toolkit. Questi pacchetti vengono quindi eseguiti o distribuiti nei dispositivi Surface client per registrare i dispositivi in SEMM e aggiornare la configurazione delle impostazioni UEFI di Surface.

Per le organizzazioni con Configuration Manager, esiste un'alternativa all'uso del processo .msi Surface UEFI Configurator per distribuire e amministrare SEMM. Surface UEFI Manager è un programma di installazione leggero che rende disponibili gli assembly necessari per la gestione SEMM in un dispositivo. Quando si installano questi assembly con Surface UEFI Manager in un client gestito, è possibile gestire SEMM tramite Configuration Manager con script di PowerShell, distribuiti come applicazioni. In questo modo si elimina la necessità dello strumento Surface UEFI Configurator esterno.

Nota

Anche se il processo descritto in questo articolo può funzionare con le versioni precedenti di Configuration Manager o con altre soluzioni di gestione di terze parti, la gestione di SEMM con Surface UEFI Manager e PowerShell è supportata solo con Current Branch di Configuration Manager.

Prerequisiti

Prima di iniziare il processo descritto in questo articolo, acquisire familiarità con le tecnologie e gli strumenti seguenti:

Importante

Sarà inoltre necessario accedere al certificato che si intende usare per proteggere SEMM. Per informazioni dettagliate sui requisiti per questo certificato, vedere Requisiti del certificato SEMM.

È molto importante che questo certificato venga conservato in una posizione sicura e ne venga eseguito correttamente il backup. Se questo certificato viene perso o inutilizzabile, non è possibile reimpostare Surface UEFI, modificare le impostazioni UEFI di Surface gestite o rimuovere SEMM da un dispositivo Surface registrato.

Scaricare Surface UEFI Manager

La gestione di SEMM con Configuration Manager richiede l'installazione di Surface UEFI Manager in ogni dispositivo Surface client. È possibile scaricare Surface UEFI Manager dalla libreria degli strumenti di Surface IT Toolkit.

Scaricare gli script SEMM per Configuration Manager

Dopo l'installazione di UEFI Manager nel dispositivo Surface client, SEMM può essere distribuito e gestito con script di PowerShell. Ottenere esempi di script da Surface IT Toolkit.

Distribuire Surface UEFI Manager

La distribuzione di Surface UEFI Manager è una distribuzione tipica dell'applicazione. Il file del programma di installazione di Surface UEFI Manager è un file di Windows Installer standard che è possibile installare con l'opzione non interattiva standard.

Il comando per installare Surface UEFI Manager è il seguente.

msiexec /i "SurfaceUEFIManagerSetup.msi" /q

Il comando per disinstallare Surface UEFI Manager è il seguente.

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

Per creare una nuova applicazione e distribuirla in una raccolta contenente i dispositivi Surface, seguire questa procedura:

  1. Aprire Configuration Manager Console dalla schermata Start o dal menu Start.

  2. Selezionare Raccolta software nell'angolo inferiore sinistro della finestra.

  3. Espandere il nodo Gestione applicazioni della raccolta software e quindi selezionare Applicazioni.

  4. Selezionare il pulsante Crea applicazione nella scheda Home nella parte superiore della finestra. Verrà avviata la Creazione guidata applicazione.

  5. La Creazione guidata applicazione presenta una serie di passaggi:

    • Generale : l'opzione Rileva automaticamente le informazioni sull'applicazione dai file di installazione è selezionata per impostazione predefinita. Nel campo Tipo viene selezionato anche Windows Installer (.msi file) per impostazione predefinita. Selezionare Sfoglia per passare a e selezionare SurfaceUEFIManagerSetup.msie quindi selezionare Avanti.

      Nota

      Il percorso di SurfaceUEFIManagerSetup.msi deve trovarsi in una condivisione di rete e in una cartella che non contiene altri file. Non è possibile usare un percorso di file locale.

    • Importa informazioni : la Creazione guidata applicazione analizza il file .msi e legge il nome dell'applicazione e il codice del prodotto. SurfaceUEFIManagerSetup.msi deve essere elencato come unico file sotto la riga File di contenuto, come illustrato nella figura 1. Selezionare Avanti per continuare.

      Le informazioni della configurazione di Surface UEFI Manager vengono analizzate automaticamente.

      Figura 1. Le informazioni della configurazione di Surface UEFI Manager vengono analizzate automaticamente

    • Informazioni generali : è possibile modificare il nome dell'applicazione e le informazioni sul server di pubblicazione e la versione oppure aggiungere commenti in questa pagina. Il comando di installazione per Surface UEFI Manager viene visualizzato nel campo Programma di installazione. Il comportamento di installazione predefinito di Install for system consente a Surface UEFI Manager di installare gli assembly necessari per SEMM anche se un utente non è connesso al dispositivo Surface. Selezionare Avanti per continuare.

    • Riepilogo : le informazioni analizzate nel passaggio Importa informazioni e le selezioni effettuate nel passaggio Informazioni generali vengono visualizzate in questa pagina. Selezionare Avanti per confermare le selezioni e creare l'applicazione.

    • Stato : visualizza un indicatore di stato e uno stato durante l'importazione e l'aggiunta dell'applicazione alla raccolta software.

    • Completamento : viene visualizzata la conferma della corretta creazione dell'applicazione al termine del processo di creazione dell'applicazione. Selezionare Chiudi per completare la Creazione guidata applicazione.

Dopo aver creato l'applicazione in Configuration Manager, è possibile distribuirla nei punti di distribuzione e distribuirla nelle raccolte, inclusi i dispositivi Surface. Questa applicazione non installa o abilita SEMM nel dispositivo Surface. Fornisce solo gli assembly necessari per abilitare SEMM usando lo script di PowerShell.

Se non vuoi installare gli assembly di Surface UEFI Manager nei dispositivi che non verranno gestiti con SEMM, puoi configurare Surface UEFI Manager come dipendenza degli script SEMM Configuration Manager. Questo scenario è illustrato nella sezione Deploy SEMM Configuration Manager Scripts più avanti in questo articolo.

Creare o modificare gli script di Configuration Manager SEMM

Dopo aver installato gli assembly necessari nei dispositivi, il processo di registrazione dei dispositivi in SEMM e configurazione di Surface UEFI viene eseguito con gli script di PowerShell e distribuito come applicazione script con Configuration Manager. Questi script possono essere modificati in base alle esigenze dell'organizzazione e dell'ambiente. Ad esempio, è possibile creare più configurazioni per dispositivi Surface gestiti in reparti o ruoli diversi. Scaricare esempi di script per SEMM e Configuration Manager da Surface IT Toolkit

Per eseguire una distribuzione SEMM con Configuration Manager sono necessari due script principali:

  • ConfigureSEMM.ps1 : disponibile in Surface Device Scripts in Surface IT Toolkit. Usa questo script per creare pacchetti di configurazione per i dispositivi Surface con le impostazioni UEFI di Surface desiderate per applicare le impostazioni specificate a un dispositivo Surface, per registrare il dispositivo in SEMM e per impostare una chiave del Registro di sistema usata per identificare la registrazione del dispositivo in SEMM.
  • ResetSEMM.ps1 : disponibile in Script aggiuntivi per dispositivi Surface in Surface IT Toolkit. Usa questo script per reimpostare SEMM in un dispositivo Surface, che lo annulla dalla registrazione da SEMM e rimuove il controllo sulle impostazioni UEFI di Surface.

Gli script di esempio includono esempi di come impostare le impostazioni UEFI di Surface e di come controllare le autorizzazioni per tali impostazioni. Queste impostazioni possono essere modificate per proteggere Surface UEFI e impostare le impostazioni UEFI di Surface in base alle esigenze dell'ambiente. Le sezioni seguenti di questo articolo illustrano lo script ConfigureSEMM.ps1 ed esplorano le modifiche che è necessario apportare allo script in base alle proprie esigenze.

Nota

Gli script SEMM Configuration Manager e il file di certificato SEMM esportato (con estensione pfx) devono essere inseriti nella stessa cartella senza altri file prima che vengano aggiunti a Configuration Manager.

Gestire le porte USB nei dispositivi supportati

È possibile implementare la disabilitazione DINAMICA USB-C tramite uno dei metodi seguenti:

Le sezioni seguenti di questo articolo illustrano lo script ConfigureSEMM.ps1 ed esplorano le modifiche che è necessario apportare allo script in base alle proprie esigenze.

Specificare i nomi dei certificati e dei pacchetti

La prima area dello script da modificare è la parte che specifica e carica il certificato SEMM e indica anche la versione di SurfaceUEFIManager e i nomi per il pacchetto di configurazione SEMM e il pacchetto di reimpostazione SEMM. Il nome del certificato e la versione di SurfaceUEFIManager sono specificati nelle righe da 56 a 73 nello 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" 

Sostituire il valore FabrikamSEMMSample.pfx per la variabile $certName con il nome del file di certificato SEMM alla riga 58. Lo script crea una directory di lavoro (denominata Config) nella cartella in cui si trovano gli script e quindi copia il file del certificato in questa directory di lavoro.

Il pacchetto proprietario e il pacchetto di reimpostazione verranno creati anche nella directory Config e verranno in possesso della configurazione per le impostazioni e le autorizzazioni UEFI di Surface generate dallo script.

Nella riga 73 sostituire il valore della variabile $password , da 1234 alla password per il file di certificato. Se non è necessaria una password, eliminare il testo 1234 .

Nota

Gli ultimi due caratteri dell'identificazione personale del certificato sono necessari per registrare un dispositivo in SEMM. Questo script visualizzerà queste cifre all'utente, che consente all'utente o al tecnico di registrare queste cifre prima del riavvio del sistema per registrare il dispositivo in SEMM. Lo script usa il codice seguente, disponibile nelle righe 150-155, per eseguire questa operazione.

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

Gli amministratori con accesso al file di certificato (con estensione pfx) possono leggere l'identificazione personale in qualsiasi momento aprendo il file con estensione pfx in CertMgr. Per visualizzare l'identificazione personale con CertMgr, seguire questo processo:

  1. Fare clic con il pulsante destro del mouse sul file PFX e quindi scegliere Apri.
  2. Espandere la cartella nel riquadro di spostamento.
  3. Selezionare Certificati.
  4. Fare clic con il pulsante destro del mouse sul certificato nel riquadro principale e quindi scegliere Apri.
  5. Selezionare la scheda Dettagli .
  6. È necessario selezionare Tutti o Solo proprietà nel menu a discesa Mostra .
  7. Selezionare il campo Identificazione personale.

Nota

Il nome e la password del certificato SEMM devono essere immessi anche in questa sezione dello script ResetSEMM.ps1 per consentire a Configuration Manager di rimuovere SEMM dal dispositivo con l'azione di disinstallazione.

Configurare le autorizzazioni

La prima area dello script in cui si specifica la configurazione per Surface UEFI è l'area Configura autorizzazioni . Questa area inizia dalla riga 210 dello script di esempio con il commento # Configura autorizzazioni e continua con la riga 247. Il frammento di codice seguente imposta innanzitutto le autorizzazioni per tutte le impostazioni UEFI di Surface in modo che possano essere modificate solo da SEMM, quindi aggiunge autorizzazioni esplicite per consentire all'utente locale di modificare la password UEFI di Surface, il TPM e le fotocamere anteriori e posteriori.

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	}

Ogni variabile $uefiV 2 identifica un'impostazione UEFI di Surface impostando il nome o l'ID e quindi configura le autorizzazioni su uno dei valori seguenti:

  • $ownerOnly : l'autorizzazione per modificare questa impostazione viene concessa solo a SEMM.
  • $ownerAndLocalUser : l'autorizzazione per modificare questa impostazione viene concessa a un utente locale che esegue l'avvio in Surface UEFI e in SEMM.

È possibile trovare informazioni sui nomi e gli ID delle impostazioni disponibili per Surface UEFI nella sezione Nomi e ID delle impostazioni di questo articolo.

Configurare le impostazioni

La seconda area dello script in cui si specifica la configurazione per Surface UEFI è l'area Configura impostazioni dello script ConfigureSEMM.ps1, che configura se ogni impostazione è abilitata o disabilitata. Lo script di esempio include istruzioni per impostare tutte le impostazioni sui valori predefiniti. Lo script fornisce quindi istruzioni esplicite per disabilitare IPv6 per L'avvio PXE e lasciare invariata la password dell'amministratore UEFI di Surface. È possibile trovare questa area a partire dal commento #Configura impostazioni dalla riga 291 alla riga 335 nello script di esempio. L'area viene visualizzata come segue.

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	}

Analogamente alle autorizzazioni impostate nella sezione Configura autorizzazioni dello script, la configurazione di ogni impostazione UEFI di Surface viene eseguita definendo la variabile $uefiV 2 . Per ogni riga che definisce la variabile $uefiV 2 , un'impostazione UEFI di Surface viene identificata impostando il nome o l'ID e il valore configurato è impostato su Abilitato o Disabilitato.

Se non vuoi modificare la configurazione di un'impostazione UEFI di Surface, ad esempio per assicurarti che la password di amministratore di Surface UEFI non venga cancellata dall'azione di reimpostare tutte le impostazioni UEFI di Surface sul valore predefinito, puoi usare ClearConfiguredValue() per far sì che questa impostazione non venga modificata. Nello script di esempio viene usato sulla riga 323 per impedire la cancellazione della password dell'amministratore UEFI di Surface, identificata nello script di esempio con l'ID impostazione 501.

È possibile trovare informazioni sui nomi e gli ID delle impostazioni disponibili per Surface UEFI nella sezione Nomi e ID delle impostazioni più avanti in questo articolo.

Chiave del Registro di sistema Delle impostazioni

Per identificare i sistemi registrati per Configuration Manager, lo script ConfigureSEMM.ps1 scrive le chiavi del Registro di sistema che possono essere usate per identificare i sistemi registrati come installati con lo script di configurazione SEMM. Queste chiavi sono disponibili nella posizione seguente.

HKLM\SOFTWARE\Microsoft\Surface\SEMM

Il frammento di codice seguente, disponibile nelle righe 380-477, viene usato per scrivere queste chiavi del Registro di sistema.

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	}

Nomi e ID delle impostazioni

Per configurare le impostazioni UEFI di Surface o le autorizzazioni per le impostazioni UEFI di Surface, è necessario fare riferimento a ogni impostazione in base al nome dell'impostazione o all'ID impostazione. Con ogni nuovo aggiornamento per Surface UEFI, è possibile aggiungere nuove impostazioni. L'esecuzione di ShowSettingsOptions.ps1 script (da SEMM_Powershell.zip in Surface Tools for IT) fornisce i dettagli delle impostazioni disponibili. Nel computer in cui viene eseguito ShowSettingsOptions.ps1 deve essere installato Surface UEFI Manager, ma lo script non richiede un dispositivo Surface.

Distribuire script di Configuration Manager SEMM

Dopo aver preparato gli script per configurare e abilitare SEMM nel dispositivo client, il passaggio successivo consiste nell'aggiungere questi script come applicazione in Configuration Manager. Prima di aprire Configuration Manager, assicurarsi che i file seguenti si trovino in una cartella condivisa che non include altri file:

  • ConfigureSEMM.ps1
  • ResetSEMM.ps1
  • Certificato SEMM (ad esempio SEMMCertificate.pfx)

Gli script Configuration Manager SEMM vengono aggiunti a Configuration Manager come applicazione script. Il comando per installare SEMM con ConfigureSEMM.ps1 è il seguente.

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

Il comando per disinstallare SEMM con ResetSEMM.ps1 è il seguente.

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

Per aggiungere gli script SEMM Configuration Manager a Configuration Manager come applicazione, usare il processo seguente:

  1. Avviare la Creazione guidata applicazione usando i passaggi da 1 a 5 della sezione Distribuire Surface UEFI Manager più indietro in questo articolo.

  2. Procedere con la Creazione guidata applicazione come indicato di seguito:

    • Generale : selezionare Specificare manualmente le informazioni sull'applicazione e quindi selezionare Avanti.

    • Informazioni generali : immettere un nome per l'applicazione (ad esempio SEMM) e qualsiasi altra informazione desiderata, ad esempio editore, versione o commenti in questa pagina. Selezionare Avanti per continuare.

    • Catalogo applicazioni : i campi in questa pagina possono essere lasciati con i relativi valori predefiniti. Seleziona Avanti.

    • Tipi di distribuzione : selezionare Aggiungi per avviare la Creazione guidata tipo di distribuzione.

    • Procedere con i passaggi della Creazione guidata tipo di distribuzione, come indicato di seguito:

      • Generale : selezionare Programma di installazione script dal menu a discesa Tipo . L'opzione Specificare manualmente le informazioni sul tipo di distribuzione verrà selezionata automaticamente. Selezionare Avanti per continuare.
      • Informazioni generali : immettere un nome per il tipo di distribuzione, ad esempio Script di configurazione SEMM, e quindi selezionare Avanti per continuare.
      • Contenuto: selezionare Sfoglia accanto al campo Percorso contenuto e quindi selezionare la cartella in cui si trovano gli script semm Configuration Manager. Nel campo Programma di installazione digitare il comando di installazione trovato in precedenza in questo articolo. Nel campo Programma di disinstallazione immettere il comando di disinstallazione disponibile in precedenza in questo articolo (illustrato nella figura 2). Selezionare Avanti per passare alla pagina successiva.

      Impostare gli script Configuration Manager SEMM come comandi di installazione e disinstallazione.

      Figura 2. Impostare gli script di Configuration Manager SEMM come comandi di installazione e disinstallazione

      • Metodo di rilevamento: selezionare Aggiungi clausola per aggiungere la regola di rilevamento delle chiavi del Registro di sistema semm Configuration Manager script. Viene visualizzata la finestra Regola di rilevamento , come illustrato nella figura 3. Usa le impostazioni seguenti:

        • Selezionare Registro di sistema dal menu a discesa Impostazione tipo .
        • Selezionare HKEY_LOCAL_MACHINE dal menu a discesa Hive .
        • Immettere SOFTWARE\Microsoft\Surface\SEMM nel campo Chiave .
        • Immettere CertName nel campo Valore .
        • Selezionare Stringa dal menu a discesa Tipo di dati .
        • Selezionare Questa impostazione del Registro di sistema deve soddisfare la regola seguente per indicare la presenza di questo pulsante dell'applicazione .
        • Immettere il nome del certificato immesso nella riga 58 dello script nel campo Valore .
        • Selezionare OK per chiudere la finestra Regola di rilevamento .

      Usare una chiave del Registro di sistema per identificare i dispositivi registrati in SEMM.

      Figura 3. Usare una chiave del Registro di sistema per identificare i dispositivi registrati in SEMM

      • Selezionare Avanti per passare alla pagina successiva.

      • Esperienza utente : selezionare Installa per sistema dal menu a discesa Comportamento installazione . Se si vuole che gli utenti registrino e immettano autonomamente l'identificazione personale del certificato, lasciare il requisito di accesso impostato su Solo quando un utente è connesso. Se si desidera che gli amministratori immettano l'identificazione personale per gli utenti e gli utenti non debbano visualizzare l'identificazione personale, selezionare Se un utente è connesso o meno dal menu a discesa Requisito di accesso .

      • Requisiti : lo script ConfigureSEMM.ps1 verifica automaticamente che il dispositivo sia un dispositivo Surface prima di tentare di abilitare SEMM. Tuttavia, se si intende distribuire questa applicazione script in una raccolta con dispositivi diversi da quelli da gestire con SEMM, è possibile aggiungere requisiti qui per garantire che l'applicazione venga eseguita solo nei dispositivi Surface o che si intende gestire con SEMM. Selezionare Avanti per continuare.

      • Dipendenze : selezionare Aggiungi per aprire la finestra Aggiungi dipendenza .

        • Selezionare Aggiungi per aprire la finestra Specifica applicazione richiesta .

          • Immettere un nome per le dipendenze SEMM nel campo Nome gruppo di dipendenze, ad esempio Assembly SEMM.

          • Selezionare Surface UEFI Manager dall'elenco Applicazioni disponibili e il tipo di distribuzione MSI e quindi selezionare OK per chiudere la finestra Specifica applicazione richiesta .

          • Mantenere selezionata la casella di controllo Installazione automatica se si vuole che Surface UEFI Manager venga installato automaticamente nei dispositivi quando si tenta di abilitare SEMM con gli script Configuration Manager. Selezionare OK per chiudere la finestra Aggiungi dipendenza .
      • Selezionare Avanti per continuare.

      • Riepilogo : in questa pagina vengono visualizzate le informazioni immesse durante la procedura guidata Crea tipo di distribuzione. Selezionare Avanti per confermare le selezioni.

      • Stato : in questa pagina vengono visualizzati un indicatore di stato e uno stato durante l'aggiunta del tipo di distribuzione per l'applicazione script SEMM.

      • Completamento : viene visualizzata la conferma della creazione del tipo di distribuzione al termine del processo. Selezionare Chiudi per completare la Creazione guidata tipo di distribuzione.

    • Riepilogo : vengono visualizzate le informazioni immesse durante la Creazione guidata applicazione. Selezionare Avanti per creare l'applicazione.

    • Stato : in questa pagina vengono visualizzati un indicatore di stato e uno stato quando l'applicazione viene aggiunta alla raccolta software.

    • Completamento : viene visualizzata la conferma della corretta creazione dell'applicazione al termine del processo di creazione dell'applicazione. Selezionare Chiudi per completare la Creazione guidata applicazione.

Dopo che l'applicazione script è disponibile nella libreria software di Configuration Manager, è possibile distribuire e distribuire SEMM usando gli script preparati per dispositivi o raccolte. Se gli assembly di Surface UEFI Manager sono stati configurati come dipendenza che verrà installata automaticamente, è possibile distribuire SEMM in un unico passaggio. Se gli assembly non sono stati configurati come dipendenza, devono essere installati nei dispositivi che si intende gestire prima di abilitare SEMM.

Quando si distribuisce SEMM usando questa applicazione script e con una configurazione visibile all'utente finale, lo script di PowerShell viene avviato e l'identificazione personale per il certificato verrà visualizzata dalla finestra di PowerShell. È possibile fare in modo che gli utenti registrino questa identificazione personale e la immettano quando richiesto da Surface UEFI dopo il riavvio del dispositivo.

In alternativa, è possibile configurare l'installazione dell'applicazione per il riavvio automatico e l'installazione invisibile all'utente. In questo scenario, un tecnico deve immettere l'identificazione personale in ogni dispositivo al riavvio. Qualsiasi tecnico con accesso al file di certificato può leggere l'identificazione personale visualizzando il certificato con CertMgr. Le istruzioni per la visualizzazione dell'identificazione personale con CertMgr sono disponibili nella sezione Creare o modificare gli script semm Configuration Manager di questo articolo.

La rimozione di SEMM da un dispositivo distribuito con Configuration Manager usando questi script è semplice come disinstallare l'applicazione con Configuration Manager. Questa azione avvia lo script ResetSEMM.ps1 e annulla correttamente la registrazione del dispositivo con lo stesso file di certificato usato durante la distribuzione di SEMM.

Nota

Surface consiglia di creare pacchetti di reimpostazione solo quando è necessario annullare la registrazione di un dispositivo. Questi pacchetti di reimpostazione sono in genere validi per un solo dispositivo, identificato dal relativo numero di serie. È tuttavia possibile creare un pacchetto di reimpostazione universale che funzioni per qualsiasi dispositivo registrato in SEMM con questo certificato.

È consigliabile proteggere il pacchetto di reimpostazione universale con la stessa attenzione del certificato usato per registrare i dispositivi in SEMM. Ricorda che, proprio come il certificato stesso, questo pacchetto di reimpostazione universale può essere usato per annullare la registrazione di qualsiasi dispositivo Surface dell'organizzazione da SEMM.

Quando si installa un pacchetto di reimpostazione, il valore LSV (Lowest Supported Value) viene reimpostato su un valore pari a 1. È possibile ripetere la registrazione di un dispositivo usando un pacchetto di configurazione esistente. Il dispositivo richiederà l'identificazione personale del certificato prima che venga acquisita la proprietà.

Per questo motivo, la registrazione di un dispositivo in SEMM richiederebbe la creazione e l'installazione di un nuovo pacchetto in tale dispositivo. Poiché questa azione è una nuova registrazione e non una modifica della configurazione in un dispositivo già registrato in SEMM, il dispositivo richiederà l'identificazione personale del certificato prima dell'acquisizione della proprietà.