Как использовать Powershell для установки изображения моей учетной записи?

Я сотрудник службы поддержки. Я использую Windows 10, 2004. Я использую PXE Baseline для компьютеров нашей компании. Я первый человек, вошедший в систему на новом компьютере с базовой версией PXE. Я использую привилегированную учетную запись. К нему НЕ прикреплена учетная запись OutLook.com. К нему НЕ прикреплена учетная запись Microsoft.com. К нему НЕ прикреплена учетная запись «Команды». Это строго для сборки/базовой разработки компьютеров. Он ДЕЙСТВИТЕЛЬНО существует в «AD», он ДЕЙСТВИТЕЛЬНО существует в «SCCM». Да, я могу локально и удаленно войти на любой/все компьютеры в нашей сети с помощью этой учетной записи.

Да, я «вручную» добавил изображение в AD, оно НЕ распространяется. Я не понимаю, почему бы и нет. После добавления изображения в AD нужно ли что-то еще сделать, чтобы оно распространилось??

Я могу «Вручную» создать изображение учетной записи на конкретном компьютере, на котором я вошел в систему, используя шаги «Укажи и щелкни вручную», доступные в Интернете. Это отлично работает для «одного» компьютера, но НЕ распространяется автоматически на другие компьютеры, на которые я вхожу позже. Я НЕ хочу «вручную» добавлять изображения на каждый компьютер, который я создаю. Я ищу способ «автоматизировать» это в Windows 10, поэтому запросил сценарий Powershell. Несколько лет назад в другой компании я нашел в Windows 7 способ легко написать такой сценарий. Я не могу найти эту информацию и слышал, что сценарий НЕ работает для Windows 10 (MS, не ломайте то, что работает).

Я искал несколько недель и нашел только «как удалить изображение пользователя по умолчанию», как добавить изображение пользователя по умолчанию, но ничего о том, как написать сценарий или настроить собственное изображение для распространения, не требуя «OutLook.com» или «Microsoft.com». Как уже упоминалось, это учетная запись администратора, а не учетная запись пользователя. Она ЕСТЬ в AD и SCCM, но не в Outlook, ни в Teams, ни в Microsoft.com. Предложения
??

1 ответ

Чтобы установить изображение учетной записи, необходимо выполнить две части: в AD и локально.

Установить картинку в AD

Правильный способ сделать это — найти папку с изображениями пользователей на контроллере домена AD:

Существует простой командлет Set-ADUser, который можно использовать для импорта фотографий пользователей в Active Directory. Он сохраняет файл изображения в атрибуте ThumbnailPhoto Active Directory. Просто не забудьте указать точный путь к файлу изображения и имя пользователя, например:

      $ADphoto = [byte[]](Get-Content C:\AD_Photos\ad-brian-johnson -Encoding byte)
Set-ADUser BrianJ -Replace @{thumbnailPhoto=$ADphoto} 

Чтобы сделать это для нескольких пользователей, вы можете переименовать каждый файл фотографии как имя пользователя и создать сценарий Powershell для его повторения. Поскольку SuperUser по своим правилам не является сервисом написания скриптов, я его не предоставляю.

Локальная конфигурация

Вторая часть — скопировать фотографию локально и настроить для нее параметры реестра. Картинки хранятся локально в скрытых папках, соответствующих SID каждого пользователя на ПК. Вы можете получить SID из AD или из текущего сеанса Windows с помощью PowerShell:

      $user_sid = [System.Security.Principal.WindowsIdentity]::GetCurrent().User.Value

Местоположение фотографий, где SID — реальный SID пользователя. В этой папке будут находиться 7 скрытых картинок в формате jpg, каждая из которых соответствует одному из разрешений:32, 40, 48, 96, 192, 200, 240, 448 пикселей.

Итак, вам нужно разместить там фотографии с определенным соглашением об именах.

Конфигурация реестра

В Windows 10 вы можете установить изображение профиля учетной записи пользователя с помощью раздела реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users. Однако пользователи, не являющиеся администраторами, не имеют необходимых разрешений для добавления значений в этот раздел реестра. Чтобы разрешить пользователям без прав администратора изменять изображение профиля, необходимо предоставить им права на запись в этот раздел реестра.

Вы можете применить разрешения централизованно с помощью GPO.

  1. Для этого запустите консоль управления групповыми политиками (gpmc.msc), создайте новую политику и привяжите ее к OU с компьютерами пользователей;
  2. Затем в редакторе GPO перейдите в следующий раздел «Конфигурация компьютера» -> «Политики» -> «Настройки Windows» -> «Настройки безопасности» -> «Реестр» и добавьте новый ключ реестра (Добавить ключ) по пути MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture . Ключ реестра \Users\AccountPicture через объект групповой политики
  3. Затем на вкладке «Безопасность» проверьте разрешения «Полный доступ» для всех пользователей домена ([ИмяВашегоДомена]\Пользователи) и нажмите «ОК»;
  4. В следующем окне выберите параметр « Заменить существующие разрешения для всех подразделов наследуемыми разрешениями» , иначе пользователи не будут иметь никаких привилегий для вложенных подразделов реестра.

Вот как должен выглядеть реестр с ключами, указывающими на расположение фотографий (для моего пользователя):

Привязка фотографий к профилю с помощью скрипта

Теперь, чтобы распространить эти фотографии Active Directory как изображения учетной записи Windows 10, вы можете использовать сценарии входа/выхода из групповой политики (объект групповой политики, который запускает сценарий при выходе из системы). Другой вариант — установить запланированный сценарий в диспетчере задач — это зависит от вас.

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

Если вы хотите, чтобы GPO запускал скрипт в ранее созданной политике в разделесоздайте новый сценарий входа в PowerShell:

Имя скрипта :%windir%\System32\WindowsPowerShell\v1.0\powershell.exe

Параметры скрипта :-Noninteractive -ExecutionPolicy Bypass -Noprofile -File %logonserver%\netlogon\script\SetADPicture.ps1

Соответственно, сам скрипт должен находиться на ADC по адресу %logonserver%\netlogon\script.

Примечание. Это политика пользователя, а предыдущая — политика компьютера. Этот должен применяться к объектам пользователя, а предыдущий — к компьютерам.

И, наконец, сам сценарий. Есть несколько готовых скриптов, они довольно большие и сложные, поэтому я не прикрепляю их сюда. Но тот, который рекомендуется, находится по адресу: http://www.classicshell.net/forum/viewtopic.php?f=12&t=7921 .

Сценарий по сути записывает файл для каждого разрешения в C:\Users\Public\AccountPictures и создает соответствующие записи в реестре в HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users.

Другие вопросы по тегам