Как изменить изображение учетной записи РАЗНОГО пользователя в Windows 10?
Я создал нового пользователя и установил для него пароль.
Могу ли я установить для него изображение учетной записи?
Я искал следующие места:
Новый стиль Windows: Настройки ПК -> Аккаунты
Стиль окон среднего возраста: Панель управления -> Учетные записи пользователей -> Управление другой учетной записью
Стиль Windows NT старости: Администрирование -> Управление компьютером -> Локальные пользователи и группы.
Может быть, я опоздал и прогресс пошел вперед? Может быть, они уже создали четвертый полуфункциональный апплет для управления пользователями?
ОБНОВИТЬ
Обратите внимание, что вопрос заключается в том, как настроить изображение РАЗНОГО пользователя. Таким образом, метод, включающий вход в систему как новый пользователь, не может рассматриваться как ответ, потому что, как только я вошел в систему как какой-либо пользователь, я больше не отличаюсь от него.
Кроме того, обычная настройка безопасности не позволяет никому войти в систему, как кому-либо еще, даже администратору.
2 ответа
Могу ли я установить для него изображение учетной записи?
Войдите как он и сделайте следующее:
Измените свое изображение в настройках приложения в Windows 10
Выполните шаг 2 или шаг 3 ниже в зависимости от того, как вы хотите открыть настройки своей учетной записи.
Откройте "Настройки", нажмите / нажмите на значок "Учетные записи" и перейдите к шагу 4 ниже.
Откройте меню "Пуск", нажмите / нажмите на свою учетную запись в левом верхнем углу, нажмите / нажмите на "Изменить настройки учетной записи" и перейдите к шагу 4 ниже.
Найдите и выберите свою фотографию
- Нажмите / нажмите на Обзор под Вашей фотографией. (см. скриншот ниже)
- Перейдите к и выберите изображение, которое вы хотите, нажмите / нажмите на Выбор изображения,
Закрыть настройки.
Источник Как изменить изображение вашей учетной записи в Windows 10
Не существует пользовательского интерфейса для установки изображения другого конкретного пользователя, но вы можете сделать это, создав версии изображения всех необходимых размеров и изменив реестр, чтобы он указывал на них. В частности, изображение учетной записи каждого пользователя хранится под этим ключом, как описано в другом ответе :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users
Имя каждого подраздела представляет собой SID пользователя, изображение которого оно указывает. Каждый подраздел имеет несколько
Чтобы автоматизировать этот процесс, я написал скрипт PowerShell на основе этого сообщения на форуме:
Param(
[string]$UserName,
[string]$PicturePath
)
# Get identifiers for path components
$sid = [System.Security.Principal.NTAccount]::new($UserName).Translate([System.Security.Principal.SecurityIdentifier]).ToString()
$pictureGuid = [guid]::NewGuid().ToString().ToUpper()
# Load the new image
Add-Type -AssemblyName System.Drawing
$picture = [System.Drawing.Image]::FromFile((gi $PicturePath).FullName)
# Create or gain access to the AccountPictures subfolder
$picturesFolder = Join-Path (Join-Path $env:PUBLIC 'AccountPictures') $sid
If (Test-Path $picturesFolder) {
Push-Location $picturesFolder
takeown /f . /a | Out-Null
icacls . /grant 'Administrators:(OI)(CI)F' | Out-Null
Pop-Location
} Else {
mkdir $picturesFolder | Out-Null
Push-Location $picturesFolder
icacls . /grant 'Everyone:(OI)(CI)R' | Out-Null
Pop-Location
}
# Create or gain access to the picture Registry key
$picturesKey = Join-Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users $sid
If (Test-Path $picturesKey) {
$keySubpath = "SOFTWARE\Microsoft\Windows\CurrentVersion\AccountPicture\Users\$sid"
$keyObject = [Microsoft.Win32.RegistryKey]::OpenBaseKey('LocalMachine', 'Registry64').OpenSubkey($keySubpath, 'ReadWriteSubTree', 'ChangePermissions')
$acl = $keyObject.GetAccessControl()
$acl.AddAccessRule([System.Security.AccessControl.RegistryAccessRule]::new('Administrators', 'FullControl', 'ContainerInherit', 'None', 'Allow'))
$keyObject.SetAccessControl($acl)
$keyObject.Dispose()
} Else {
mkdir $picturesKey | Out-Null
}
# Prepare the JPG encoder
$encoder = [System.Drawing.Imaging.ImageCodecInfo]::GetImageEncoders() | ? { $_.MimeType -eq 'image/jpeg' } | select -First 1
$encoderParams = [System.Drawing.Imaging.EncoderParameters]::new()
$encoderParams.Param[0] = [System.Drawing.Imaging.EncoderParameter]::new([System.Drawing.Imaging.Encoder]::Quality, 90)
# Create resized versions of the picture
(32, 40, 48, 64, 96, 192, 208, 240, 424, 448, 1080) | % {
$picturePath = Join-Path $picturesFolder "{$pictureGuid}-Image$_.jpg"
$resized = [System.Drawing.Bitmap]::new($_, $_)
$graphics = [System.Drawing.Graphics]::FromImage($resized)
$graphics.InterpolationMode = [System.Drawing.Drawing2D.InterpolationMode]::HighQualityBicubic
$graphics.DrawImage($picture, 0, 0, $_, $_)
$resized.Save($picturePath, $encoder, $encoderParams)
$resized.Dispose()
Set-ItemProperty $picturesKey -Name "Image$_" -Value $picturePath
}
Он принимает имя учетной записи пользователя, изображение которого нужно изменить, и путь к изображению. Изображение может быть любого распространенного формата, но оно должно быть квадратным, поскольку оно будет растянуто до квадратных размеров. Скрипт соответствующим образом настраивает папку и ключ реестра, создает несколько версий изображения с измененным размером и записывает пути к ним в реестр. Изменения часто вступают в силу немедленно, но если вы их не видите, перезагрузитесь.
Чтобы использовать сценарий, сохраните его как файл PS1, например
.\accountpicture.ps1 -UserName newuser -PicturePath .\photo.png