Outlook, SharePoint, Office365 dan Skype for Business memungkinkan Anda untuk menggunakan foto pengguna yang saat ini masuk dari Active Directory (Azure AD) sebagai avatar pengguna di antarmuka mereka. Pada artikel ini, kami akan menunjukkan cara menggunakan gambar pengguna Active Directory sebagai gambar profil pengguna Windows 10 menggunakan Kebijakan Grup dan PowerShell, yang muncul di layar pembuka, layar kunci, di menu mulai, dll..
Skrip kami akan berfungsi sebagai berikut: ketika pengguna masuk ke sistem, skrip harus dijalankan yang menerima foto pengguna dari atribut thumbnailFoto di Direktori Aktif, menyimpan file gambar ke disk dan menginstal file ini sebagai gambar profil dari profil pengguna Windows. Solusinya harus bekerja sama pada semua klien yang didukung: Windows 10 (8.1 / 7) dan pada RDSH severs dengan Windows Server 2016/2012 R2.
Konten:
- Impor foto pengguna di Direktori Aktif
- Kami memberi pengguna hak untuk mengubah ikon profil
- Skrip PowerShell untuk mendapatkan foto pengguna dari AD dan menginstal ikon profil Windows
- Menjalankan skrip PowerShell untuk mengikat foto ke profil melalui GPO
Impor foto pengguna di Direktori Aktif
Pertama-tama, perlu bagi pengguna AD untuk mengatur foto dengan mengunggahnya ke thumbnail atribut khusus akun. Anda dapat mengatur foto ke pengguna menggunakan program pihak ketiga, atau menggunakan modul ActiveDirectory untuk Windows PowerShell (ukuran file dengan foto tidak boleh lebih dari 100 Kb dan resolusi hingga 96 × 96 piksel):
$ photo = [byte []] (Dapatkan-Konten C: \ PS \ divanov_photo.jpg -Encoding byte)
Set-ADUser divanov -Replace @ thumbnailPhoto = $ photo
Kami memberi pengguna hak untuk mengubah ikon profil
Di Windows 10, informasi tentang gambar akun (jalur ke gambar yang digunakan untuk profil pengguna) disimpan di cabang registri sistem Hklm\ PERANGKAT LUNAK\ Microsoft\ Windows\ Versi Saat Ini\ Gambar Akun\ Pengguna. Agar pengguna tanpa hak administrator dapat membuat perubahan, Anda harus memberi mereka izin menulis ke kunci registri ini.
- Cara termudah adalah mendistribusikan hak registrasi melalui kebijakan grup. Untuk melakukan ini, buat kebijakan baru dan ikat ke OU dengan komputer pengguna;
- Lalu pergi ke bagian tersebut Konfigurasi Komputer -> Kebijakan -> Pengaturan Windows -> Pengaturan Keamanan -> Registri dan membuat kunci registri baru (Tambahkan kunci) dengan path MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ AccountPicture \ Users;
- Lalu tab Keamanan perlu dikabulkan Penuh Kontrol untuk semua pengguna domain (grup [Nama Domain] \ Pengguna) dan klik OK;
- Di kotak dialog berikutnya, pilih Ganti Izin yang ada pada semua sub kunci dengan izin yang dapat diwarisi, jika tidak, pengguna tidak akan memiliki hak untuk cabang registry bersarang;
Skrip PowerShell untuk mendapatkan foto pengguna dari AD dan menginstal ikon profil Windows
Selanjutnya, kita memerlukan skrip PowerShell yang harus mendapatkan foto pengguna saat ini dari Active Directory, menyimpannya dalam file jpg dan mengaturnya sebagai ikon profil pengguna. Ada dua opsi untuk mendapatkan foto dari AD: menggunakan cmdlet Get-ADUser dari modul ActiveDirectory (modul ini harus diinstal pada semua komputer melalui RSAT, atau cukup salin file modul RSAT-AD-PowerShell yang diperlukan tanpa menginstal RSAT). Untuk membuat skrip universal dan berfungsi dengan benar, termasuk pada Windows 7, kami tidak akan menggunakan modul RSAT-AD-PowerShell, tetapi kami akan mengakses AD melalui kelas ADSISearcher.
Contoh skrip SetADPicture.ps1 Untuk mendapatkan foto pengguna dari AD dan menjadikannya sebagai avatar akun Windows Anda, lihat di bawah:
[CmdletBinding (SupportsShouldProcess = $ true)] Param ()
function Test-Null ($ InputObject) return! ([bool] $ InputObject)
$ ADuser = ([ADSISearcher] "(& (objectCategory = User) (SAMAccountName = $ env: username))"). FindOne (). Properties
$ ADuser_photo = $ ADuser.thumbnailphoto
$ ADuser_sid = [System.Security.Principal.WindowsIdentity] :: GetCurrent (). User.Value
If ((Test-Null $ ADuser_photo) -eq $ false)
$ img_sizes = @ (32, 40, 48, 96, 192, 200, 240, 448)
$ img_mask = "Gambar 0 .jpg"
$ img_base = "C: \ Users \ Public \ AccountPictures"
$ reg_base = "HKLM: \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ AccountPicture \ Users \ 0"
$ reg_key = [string] :: format ($ reg_base, $ ADuser_sid)
$ reg_value_mask = "Gambar 0"
If ((Test-Path -Path $ reg_key) -eq $ false) Item-Baru -Path $ reg_key
Coba
ForEach ($ size dalam $ img_sizes)
$ dir = $ img_base + "\" + $ ADuser_sid
If ((Test-Path -Path $ dir) -eq $ false) $ (mkdir $ dir) .Attributes = "Tersembunyi"
$ file_name = ([string] :: format ($ img_mask, $ size))
$ path = $ dir + "\" + $ file_name
Write-Verbose "saving: $ file_name"
$ ADuser_photo | Set-Konten -Path $ path -Encoding Byte -Force
$ name = [string] :: format ($ reg_value_mask, $ size)
$ value = Baru-ItemProperty -Path $ reg_key -Name $ name -Value $ path -Force
Menangkap
Write-Error "Periksa izin untuk file atau registri."
Skrip menerima nilai atribut thumbnailphoto pengguna saat ini dari Active Directory AD dan menyimpan foto ke direktori C: \ Users \ Public \ AccountPictures \ User SID. Katalog akan berisi file grafik dengan resolusi berbeda (dari 32 × 32 hingga 448 × 448 piksel) untuk berbagai format elemen antarmuka Windows 10: image32.jpg, image40.jpg, dll..
Pengikatan foto ke profil pengguna dilakukan di cabang registri HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ AccountPicture \ Users \ User SID.
Menjalankan skrip PowerShell untuk mengikat foto ke profil melalui GPO
Sekarang kita membutuhkan skrip SetADPicture.ps1 untuk dijalankan ketika pengguna masuk ke Windows. Cara termudah adalah dengan mengimplementasikan grup kebijakan ini melalui skrip masuk..
Untuk melakukan ini, dalam kebijakan yang dibuat sebelumnya di bagian Pengguna Konfigurasi -> Kebijakan -> Windows Pengaturan -> Script (Masuk/ Logoff), buat skrip Logon baru yang menjalankan skrip PowerShell Anda:
File yang dapat dieksekusi: % windir% \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe
Parameter Skrip: -Noninteraktif -ExecutionPolicy Bypass -Noprofile -File% logonserver% \ netlogon \ script \ SetADPicture.ps1
Tetap menetapkan kebijakan untuk OU yang diperlukan dengan komputer, menjalankan logoff dan logon pengguna.
Dalam pengaturan kebijakan, aktifkan mode pemrosesan loopback GPO (Konfigurasi Komputer -> Template Administratif -> Sistem -> Kebijakan Grup -> Konfigurasikan mode Pemrosesan Loopback Kebijakan Grup pengguna = Gabung). Dalam mode ini, Anda dapat menerapkan kebijakan untuk OU dengan pengguna.Untuk mendiagnosis penggunaan GPO di komputer target, gunakan utilitas gpresult dan artikel "Mengapa GPO tidak digunakan?".
Setelah ini, pengguna Windows 10 akan diberi avatar dari AD, dan itu akan mulai muncul dengan benar sebagai gambar akun pengguna di menu mulai, pada layar login dan jendela lainnya. Petunjuk untuk menetapkan foto profil berfungsi dengan baik dan diuji pada Windows 10 LTSC (1809).