Использование Microsoft Configuration Manager для управления устройствами с помощью SEMM

Функция режима управления Microsoft Surface Enterprise (SEMM) на устройствах Surface UEFI позволяет администраторам управлять конфигурацией параметров Surface UEFI и защищать их. В большинстве организаций этот процесс выполняется путем создания пакетов установщика Windows (.msi) с помощью средства Конфигуратора UEFI Microsoft Surface. Затем эти пакеты запускаются или развертываются на клиентских устройствах Surface, чтобы зарегистрировать устройства в SEMM и обновить конфигурацию параметров Surface UEFI.

Для организаций с Microsoft Configuration Manager существует альтернатива использованию конфигуратора UEFI Microsoft Surface .msi для развертывания и администрирования SEMM. Microsoft Surface UEFI Manager — это упрощенный установщик, который делает необходимые сборки для управления SEMM доступными на устройстве. При установке этих сборок с помощью Microsoft Surface UEFI Manager на управляемом клиенте вы можете управлять SEMM через Configuration Manager с помощью сценариев PowerShell, развернутых в виде приложений. Это устраняет необходимость в внешнем средстве Конфигуратора UEFI Microsoft Surface.

Примечание.

Хотя описанный в этой статье процесс может работать с более ранними версиями Configuration Manager или с другими сторонними решениями по управлению, управление SEMM с помощью Microsoft Surface UEFI Manager и PowerShell поддерживается только в Current Branch Configuration Manager.

Предварительные условия

Прежде чем начать процесс, описанный в этой статье, ознакомьтесь со следующими технологиями и инструментами:

Важно.

Вам также потребуется доступ к сертификату, который планируется использовать для защиты SEMM. Дополнительные сведения о требованиях к этому сертификату см. в разделе Требования к сертификату в режиме управления Surface Enterprise.

Очень важно, чтобы этот сертификат хранился в безопасном месте и правильно резервная копия. Если этот сертификат теряется или становится непригодным для использования, невозможно сбросить Surface UEFI, изменить управляемые параметры Surface UEFI или удалить SEMM с зарегистрированного устройства Surface.

Скачать Microsoft Surface UEFI Manager

Для управления SEMM с помощью Configuration Manager требуется установка Microsoft Surface UEFI Manager на каждом клиентском устройстве Surface Surface. Вы можете скачать Microsoft Surface UEFI Manager (SurfaceUEFIManager.msi) на странице Surface Tools for IT в Центре загрузки Майкрософт.

Скачивание скриптов SEMM для Configuration Manager

После установки Microsoft Surface UEFI Manager на клиентском устройстве Surface Surface можно развертывать и управлять ими с помощью сценариев PowerShell. Получите примеры сценариев управления SEMM , скачав SEMM_PowerShell.zip из приложения Surface Tools для ИТ.

Развертывание Microsoft Surface UEFI Manager

Развертывание Microsoft Surface UEFI Manager — это типичное развертывание приложения. Файл установщика UEFI Manager Microsoft Surface — это стандартный файл установщика Windows, который можно установить с помощью стандартного параметра "Бесшумный".

Команда для установки Microsoft Surface UEFI Manager выглядит следующим образом.

msiexec /i "SurfaceUEFIManagerSetup.msi" /q

Команда для удаления Microsoft Surface UEFI Manager выглядит следующим образом.

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

Чтобы создать новое приложение и развернуть его в коллекции, содержащей устройства Surface, выполните следующие действия.

  1. Откройте консоль Configuration Manager на начальном экране или в меню Пуск.

  2. Выберите Библиотека программного обеспечения в левом нижнем углу окна.

  3. Разверните узел Управление приложениями библиотеки программного обеспечения и выберите Приложения.

  4. Нажмите кнопку Создать приложение на вкладке Главная в верхней части окна. Откроется мастер создания приложений.

  5. Мастер создания приложений содержит ряд шагов:

    • Общие — параметр Автоматическое обнаружение сведений об этом приложении из установочных файлов выбран по умолчанию. В поле Типустановщик Windows (.msi файл) также выбран по умолчанию. Нажмите кнопку Обзор , чтобы перейти к и выбратьSurfaceUEFIManagerSetup.msi, а затем нажмите кнопку Далее.

      Примечание.

      Расположение SurfaceUEFIManagerSetup.msi должно находиться в общей сетевой папке и находиться в папке, которая не содержит других файлов. Невозможно использовать локальное расположение файла.

    • Импорт сведений . Мастер создания приложения анализирует файл .msi и считывает имя приложения и код продукта. SurfaceUEFIManagerSetup.msi должен быть указан в качестве единственного файла в строке Файлы содержимого, как показано на рис. 1. Нажмите кнопку Далее , чтобы продолжить.

      Сведения из настройки Surface UEFI Manager анализируются автоматически.

      Рисунок 1. Сведения из настройки Microsoft Surface UEFI Manager анализируются автоматически

    • Общие сведения . Вы можете изменить имя приложения и сведения об издателе и версии, а также добавить комментарии на этой странице. Команда установки для Microsoft Surface UEFI Manager отображается в поле Программа установки. Поведение установки по умолчанию Для системы позволяет Microsoft Surface UEFI Manager устанавливать необходимые сборки для SEMM, даже если пользователь не вошел на устройство Surface. Нажмите кнопку Далее , чтобы продолжить.

    • Сводка . На этой странице отображаются сведения, которые были проанализированы на шаге Импорт сведений , и выбранные вами на шаге Общие сведения . Нажмите кнопку Далее , чтобы подтвердить выбранные параметры и создать приложение.

    • Ход выполнения — отображает индикатор выполнения и состояние при импорте приложения и добавлении в библиотеку программного обеспечения.

    • Завершение — по завершении процесса создания приложения отображается подтверждение успешного создания приложения. Нажмите кнопку Закрыть , чтобы завершить работу мастера создания приложений.

После создания приложения в Configuration Manager его можно распространить на точки распространения и развернуть в коллекциях, включая устройства Surface. Это приложение не будет устанавливать или включать SEMM на устройстве Surface. Он предоставляет только сборки, необходимые для включения SEMM с помощью скрипта PowerShell.

Если вы не хотите устанавливать сборки Microsoft Surface UEFI Manager на устройствах, которые не будут управляться с помощью SEMM, можно настроить Microsoft Surface UEFI Manager как зависимость скриптов Configuration Manager SEMM. Этот сценарий рассматривается в разделе Развертывание скриптов CONFIGURATION MANAGER SEMM далее в этой статье.

Создание или изменение скриптов Configuration Manager SEMM

После установки необходимых сборок на устройствах процесс регистрации устройств в SEMM и настройки Surface UEFI выполняется с помощью сценариев PowerShell и развертывается как приложение-скрипт с Configuration Manager. Эти скрипты можно изменить в соответствии с потребностями вашей организации и среды. Например, можно создать несколько конфигураций для управляемых устройств Surface в разных отделах или ролях. Примеры скриптов для SEMM и Configuration Manager можно скачать по ссылке в разделе Предварительные требования в начале этой статьи.

Для выполнения развертывания SEMM с Configuration Manager потребуется два основных сценария:

  • ConfigureSEMM.ps1 . Используйте этот скрипт для создания пакетов конфигурации для устройств Surface с нужными параметрами Surface UEFI, чтобы применить указанные параметры к устройству Surface, зарегистрировать устройство в SEMM и задать раздел реестра, используемый для идентификации регистрации устройства в SEMM.
  • ResetSEMM.ps1 . Используйте этот скрипт для сброса SEMM на устройстве Surface, который отменяет регистрацию из SEMM и удаляет управление параметрами UEFI Surface.

Примеры скриптов содержат примеры того, как задать параметры UEFI Surface и как управлять разрешениями для этих параметров. Эти параметры можно изменить, чтобы защитить Surface UEFI и настроить параметры Surface UEFI в соответствии с потребностями вашей среды. В следующих разделах этой статьи объясняется сценарий ConfigureSEMM.ps1 и рассматриваются изменения, которые необходимо внести в скрипт в соответствии с вашими требованиями.

Примечание.

Скрипты CONFIGURATION MANAGER SEMM и экспортируемый файл сертификата SEMM (PFX) должны быть помещены в одну папку без других файлов, прежде чем они будут добавлены в Configuration Manager.

Управление USB-портами на поддерживаемых устройствах

См. статью Управление USB-портами на устройствах Surface.

В следующих разделах этой статьи объясняется сценарий ConfigureSEMM.ps1 и рассматриваются изменения, которые необходимо внести в скрипт в соответствии с вашими требованиями.

Указание имен сертификатов и пакетов

Первая область скрипта, которую необходимо изменить, — это часть, которая указывает и загружает сертификат SEMM, а также указывает версию SurfaceUEFIManager, а также имена пакета конфигурации SEMM и пакета сброса SEMM. Имя сертификата и версия SurfaceUEFIManager указываются в строках 56–73 в скрипте 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" 

Замените значение FabrikamSEMMSample.pfx для переменной $certName именем файла сертификата SEMM в строке 58. Скрипт создает рабочий каталог (с именем Config) в папке, в которой находятся скрипты, а затем копирует файл сертификата в этот рабочий каталог.

Пакет владельца и пакет сброса также будут созданы в каталоге Config и содержать конфигурацию для параметров и разрешений Surface UEFI, созданных скриптом.

В строке 73 замените значение переменной $password с 1234 на пароль для файла сертификата. Если пароль не требуется, удалите текст 1234 .

Примечание.

Для регистрации устройства в SEMM требуются последние два символа отпечатка сертификата. Этот скрипт отображает эти цифры пользователю, что позволяет пользователю или техническому специалисту записывать эти цифры перед перезагрузкой системы, чтобы зарегистрировать устройство в SEMM. Для этого скрипт использует следующий код, найденный в строках 150–155.

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

Администраторы, имеющие доступ к файлу сертификата (PFX), могут прочитать отпечаток в любое время, открыв PFX-файл в CertMgr. Чтобы просмотреть отпечаток с помощью CertMgr, выполните следующие действия:

  1. Щелкните PFX-файл правой кнопкой мыши и выберите команду Открыть.
  2. Разверните папку в области навигации.
  3. Выберите Сертификаты.
  4. Щелкните правой кнопкой мыши сертификат в области main и выберите Открыть.
  5. Перейдите на вкладку Сведения .
  6. Все или Только свойства должны быть выбраны в раскрывающемся меню Показать .
  7. Выберите поле Отпечаток.

Примечание.

В этом разделе скрипта ResetSEMM.ps1 также необходимо ввести имя и пароль сертификата SEMM, чтобы Configuration Manager удалить SEMM с устройства с помощью действия удаления.

Настройка разрешений

Первый регион скрипта, в котором вы будете указывать конфигурацию для Surface UEFI, — это область Настройка разрешений . Этот регион начинается со строки 210 в примере скрипта с комментарием # Настройка разрешений и продолжается до строки 247. В следующем фрагменте кода сначала задаются разрешения для всех параметров UEFI Surface, чтобы их можно было изменить только с помощью SEMM, а затем добавляются явные разрешения, позволяющие локальному пользователю изменять пароль Surface UEFI, доверенный платформенный модуль, а также переднюю и заднюю камеры.

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	}

Каждая переменная $uefiV 2 определяет параметр UEFI Surface по имени или идентификатору, а затем настраивает разрешения на одно из следующих значений:

  • $ownerOnly — разрешение на изменение этого параметра предоставляется только SEMM.
  • $ownerAndLocalUser — разрешение на изменение этого параметра предоставляется локальному пользователю, загружаемого в Surface UEFI, а также в SEMM.

Сведения о доступных именах и идентификаторах параметров для Surface UEFI см. в разделе Имена и идентификаторы параметров этой статьи.

Настройка параметров

Второй регион скрипта, в котором вы будете указывать конфигурацию для Surface UEFI, — это область Настройка параметров скрипта ConfigureSEMM.ps1, которая определяет, включен или отключен каждый параметр. Пример скрипта содержит инструкции по установке значений по умолчанию для всех параметров. Затем скрипт предоставляет явные инструкции по отключению IPv6 для PXE-загрузки и оставить пароль администратора Surface UEFI без изменений. Этот регион можно найти начиная с комментария #Configure Settings (Настройка параметров ) в строке 291–335 в примере скрипта. Регион отображается следующим образом.

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	}

Как и разрешения, заданные в разделе Настройка разрешений скрипта, настройка каждого параметра UEFI Surface выполняется путем определения переменной $uefiV 2 . Для каждой строки, определяющей переменную $uefiV 2 , параметр UEFI Surface определяется по имени или идентификатору, а настроенное значение — Включено или Отключено.

Если вы не хотите изменять конфигурацию параметра UEFI Surface, например, чтобы пароль администратора Surface UEFI не был снят действием сброса всех параметров UEFI Surface до значения по умолчанию, можно использовать ClearConfiguredValue(), чтобы убедиться, что этот параметр не будет изменен. В примере скрипта он используется в строке 323, чтобы предотвратить очистку пароля администратора UEFI Surface, определяемого в примере скрипта по его идентификатору параметра 501.

Сведения о доступных именах и идентификаторах параметров для Surface UEFI см. в разделе Имена и идентификаторы параметров далее в этой статье.

Раздел реестра параметров

Чтобы определить зарегистрированные системы для Configuration Manager, скрипт ConfigureSEMM.ps1 записывает разделы реестра, которые можно использовать для определения зарегистрированных систем как установленных с помощью скрипта конфигурации SEMM. Эти ключи можно найти в следующем расположении.

HKLM\SOFTWARE\Microsoft\Surface\SEMM

Следующий фрагмент кода, найденный в строках 380–477, используется для записи этих разделов реестра.

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	}

Имена и идентификаторы параметров

Чтобы настроить параметры или разрешения Surface UEFI для параметров Surface UEFI, необходимо ссылаться на каждый параметр по имени или идентификатору параметра. С каждым новым обновлением для Surface UEFI можно добавлять новые параметры. При выполнении скрипта ShowSettingsOptions.ps1 (из SEMM_Powershell.zip в Surface Tools для ИТ-специалистов) приводятся сведения о доступных параметрах. На компьютере, на котором выполняется ShowSettingsOptions.ps1, должен быть установлен Диспетчер UEFI Microsoft Surface, но для сценария не требуется устройство Surface.

Развертывание скриптов Configuration Manager SEMM

После подготовки скриптов к настройке и включению SEMM на клиентском устройстве следующим шагом является добавление этих скриптов в качестве приложения в Configuration Manager. Перед открытием Configuration Manager убедитесь, что следующие файлы находятся в общей папке, которая не содержит других файлов:

  • ConfigureSEMM.ps1
  • ResetSEMM.ps1
  • Сертификат SEMM (например, SEMMCertificate.pfx)

Скрипты CONFIGURATION MANAGER SEMM добавляются в Configuration Manager в качестве приложения скриптов. Ниже приведена команда для установки SEMM с ConfigureSEMM.ps1.

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

Команда для удаления SEMM с ResetSEMM.ps1 выглядит следующим образом.

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

Чтобы добавить скрипты Configuration Manager SEMM в Configuration Manager в качестве приложения, используйте следующий процесс:

  1. Запустите мастер создания приложений, выполнив шаги 1–5 из раздела Развертывание Microsoft Surface UEFI Manager ранее в этой статье.

  2. Перейдите к мастеру создания приложений следующим образом:

    • Общие — выберите Вручную указать сведения о приложении, а затем нажмите кнопку Далее.

    • Общие сведения . Введите имя приложения (например, SEMM) и любые другие сведения, такие как издатель, версия или комментарии на этой странице. Нажмите кнопку Далее , чтобы продолжить.

    • Каталог приложений — поля на этой странице можно оставить со значениями по умолчанию. Выберите Далее.

    • Типы развертывания — выберите Добавить , чтобы запустить мастер создания типа развертывания.

    • Выполните действия мастера создания типа развертывания следующим образом:

      • Общие — выберите Установщик скриптов в раскрывающемся меню Тип . Автоматически будет выбран параметр Вручную указать сведения о типе развертывания . Нажмите кнопку Далее , чтобы продолжить.
      • Общие сведения . Введите имя типа развертывания (например, скрипты конфигурации SEMM), а затем нажмите кнопку Далее , чтобы продолжить.
      • Содержимое— нажмите кнопку Обзор рядом с полем Расположение содержимого, а затем выберите папку, в которой находятся скрипты CONFIGURATION MANAGER SEMM. В поле Программа установки введите команду установки , найденную ранее в этой статье. В поле Программа удаления введите команду удаления, найденную ранее в этой статье (показано на рис. 2). Нажмите кнопку Далее , чтобы перейти к следующей странице.

      Задайте скрипты Configuration Manager SEMM в качестве команд установки и удаления.

      Рисунок 2. Установка скриптов Configuration Manager SEMM в качестве команд установки и удаления

      • Метод обнаружения. Выберите Добавить предложение, чтобы добавить правило обнаружения разделов реестра Configuration Manager скриптов SEMM. Откроется окно Правило обнаружения , как показано на рис. 3. Используйте следующие параметры:

        • Выберите Реестр в раскрывающемся меню Тип параметра .
        • Выберите HKEY_LOCAL_MACHINE в раскрывающемся меню Hive .
        • Введите SOFTWARE\Microsoft\Surface\SEMM в поле Ключ .
        • В поле Значение введите CertName.
        • Выберите Строка в раскрывающемся меню Тип данных .
        • Установите флажок Этот параметр реестра должен соответствовать следующему правилу, чтобы указать на наличие этой кнопки приложения .
        • Введите имя сертификата, введенного в строке 58 скрипта в поле Значение .
        • Нажмите кнопку ОК , чтобы закрыть окно Правила обнаружения .

      Используйте раздел реестра для идентификации устройств, зарегистрированных в SEMM.

      Рисунок 3. Использование раздела реестра для идентификации устройств, зарегистрированных в SEMM

      • Нажмите кнопку Далее , чтобы перейти к следующей странице.

      • Взаимодействие с пользователем — выберите Установить для системы в раскрывающемся меню Поведение установки . Если вы хотите, чтобы пользователи сами записывали и вводили отпечаток сертификата, оставьте для параметра Требование входа значение Только при входе пользователя. Если вы хотите, чтобы администраторы вводили отпечаток для пользователей, а пользователям не нужно видеть отпечаток, выберите в раскрывающемся меню Требование входа в систему.

      • Требования . Скрипт ConfigureSEMM.ps1 автоматически проверяет, является ли устройство устройством Surface, прежде чем пытаться включить SEMM. Однако если вы планируете развернуть это приложение скрипта в коллекции с устройствами, отличными от устройств, управляемых с помощью SEMM, можно добавить здесь требования, чтобы это приложение выполнялось только на устройствах Surface или устройствах, которыми вы планируете управлять с помощью SEMM. Нажмите кнопку Далее , чтобы продолжить.

      • Зависимости — нажмите кнопку Добавить , чтобы открыть окно Добавление зависимостей .

        • Нажмите кнопку Добавить , чтобы открыть окно Укажите обязательное приложение .

          • Введите имя зависимостей SEMM в поле Имя группы зависимостей (например, сборки SEMM).

          • Выберите Microsoft Surface UEFI Manager в списке Доступные приложения и тип развертывания MSI, а затем нажмите кнопку ОК , чтобы закрыть окно Указание обязательного приложения .

          • Оставьте флажок Автоматическая установка проверка, если вы хотите, чтобы Microsoft Surface UEFI Manager автоматически устанавливал на устройствах при попытке включить SEMM с помощью скриптов Configuration Manager. Нажмите кнопку ОК , чтобы закрыть окно Добавление зависимостей .
      • Нажмите кнопку Далее , чтобы продолжить.

      • Сводка . На этой странице отображаются сведения, введенные в мастере создания типа развертывания. Нажмите кнопку Далее , чтобы подтвердить выбранные параметры.

      • Ход выполнения — индикатор выполнения и состояние при добавлении типа развертывания для приложения скрипта SEMM отображаются на этой странице.

      • Завершение — по завершении процесса отображается подтверждение создания типа развертывания. Нажмите кнопку Закрыть , чтобы завершить работу мастера создания типа развертывания.

    • Сводка . Отображаются сведения, введенные в мастере создания приложений. Нажмите кнопку Далее , чтобы создать приложение.

    • Ход выполнения — индикатор выполнения и состояние при добавлении приложения в библиотеку программного обеспечения отображается на этой странице.

    • Завершение — по завершении процесса создания приложения отображается подтверждение успешного создания приложения. Нажмите кнопку Закрыть , чтобы завершить работу мастера создания приложений.

После того как приложение скриптов будет доступно в библиотеке программного обеспечения Configuration Manager, вы можете распространять и развертывать SEMM с помощью подготовленных скриптов на устройствах или коллекциях. Если вы настроили сборки Microsoft Surface UEFI Manager в качестве зависимости, которая будет установлена автоматически, вы можете развернуть SEMM за один шаг. Если вы не настроили сборки в качестве зависимости, они должны быть установлены на устройствах, которыми вы планируете управлять, перед включением SEMM.

При развертывании SEMM с помощью этого приложения скрипта и с конфигурацией, видимой для конечного пользователя, запускается сценарий PowerShell, а отпечаток сертификата будет отображаться в окне PowerShell. Пользователи могут записать этот отпечаток и ввести его при появлении запроса Surface UEFI после перезагрузки устройства.

Кроме того, можно настроить автоматическую перезагрузку приложения и невидимую установку для пользователя. В этом сценарии технический специалист должен ввести отпечаток на каждом устройстве при перезагрузке. Любой специалист с доступом к файлу сертификата может прочитать отпечаток, просмотрев сертификат с помощью CertMgr. Инструкции по просмотру отпечатка с помощью CertMgr приведены в разделе Создание или изменение скриптов Configuration Manager SEMM этой статьи.

Удаление SEMM с устройства, развернутого с помощью Configuration Manager с помощью этих скриптов, так же просто, как и удаление приложения с помощью Configuration Manager. Это действие запускает сценарий ResetSEMM.ps1 и должным образом отменяет регистрацию устройства с помощью того же файла сертификата, который использовался во время развертывания SEMM.

Примечание.

Microsoft Surface рекомендует создавать пакеты сброса только в том случае, если требуется отменить регистрацию устройства. Эти пакеты сброса обычно действительны только для одного устройства, идентифицируются по его серийному номеру. Однако можно создать универсальный пакет сброса, который будет работать для любого устройства, зарегистрированного в SEMM с этим сертификатом.

Настоятельно рекомендуется защищать универсальный пакет сброса так же тщательно, как и сертификат, используемый для регистрации устройств в SEMM. Помните, что, как и сам сертификат, этот универсальный пакет сброса можно использовать для отмены регистрации любых устройств Surface вашей организации в SEMM.

При установке пакета сброса минимальное поддерживаемое значение (LSV) сбрасывается в значение 1. Вы можете повторно зарегистрировать устройство с помощью существующего пакета конфигурации. Устройство запросит отпечаток сертификата, прежде чем станет владельцем.

По этой причине для повторной регистрации устройства в SEMM потребуется создать и установить на нем новый пакет. Так как это действие является новой регистрацией, а не изменением конфигурации на устройстве, уже зарегистрированном в SEMM, устройство запросит отпечаток сертификата, прежде чем станет владельцем.