Az Outlook, a SharePoint, az Office365 és a Skype for Business lehetővé teszi, hogy az aktuális bejelentkezett felhasználó fotóját az Active Directory-ból (Azure AD) felhasználói avatárokként használja felületen. Ebben a cikkben bemutatjuk, hogyan lehet az Active Directory felhasználói képet a Windows 10 felhasználói profiljának képként használni a Csoportházirendek és a PowerShell használatával, amely megjelenik az üdvözlő képernyőn, a zárolási képernyőn, a Start menüben stb..
A szkriptünk a következőképpen fog működni: amikor egy felhasználó bejelentkezik a rendszerbe, el kell indítani egy szkriptet, amely megkapja a felhasználó fotóját az Active Directory thumbnailPhoto attribútumából, mentse el a képfájlt a lemezen, és telepítse ezt a fájlt a Windows felhasználói profiljának profilképeként. A megoldásnak minden támogatott ügyfélen egyformán kell működnie: Windows 10 (8.1 / 7) és RDSH-kiszolgálókon a Windows Server 2016/2012 R2 verzióval.
Tartalom:
- Importálhat felhasználói fényképeket az Active Directory-ba
- Jogot adunk a felhasználóknak a profilikon megváltoztatására
- PowerShell-parancsfájl, amellyel beolvashatja a felhasználói fényképet az AD-ből és telepítheti a Windows-profil ikont
- PowerShell-parancsfájl futtatása, hogy fotókat profilhoz kössön GPO-n keresztül
Importálhat felhasználói fényképeket az Active Directory-ba
Mindenekelőtt az AD felhasználóknak fotókat kell beállítaniuk azáltal, hogy feltöltik őket a fiók speciális attribútumába. Beállíthat fényképeket a felhasználókhoz harmadik fél által készített programok segítségével, vagy az ActiveDirectory modul használatával a Windows PowerShell számára (a fénykép fájlméretének legfeljebb 100 Kb lehet, és a felbontás legfeljebb 96 × 96 pixel lehet):
$ photo = [byte []] (Get-Content C: \ PS \ divanov_photo.jpg -Kódolási bájt)
Set-ADUser divanov -Csere @ thumbnailPhoto = $ photo
Jogot adunk a felhasználóknak a profilikon megváltoztatására
A Windows 10 rendszerben a fiók képével kapcsolatos információkat (a felhasználói profilhoz használt kép elérési útját) a rendszerleíró fiókban tárolják HKLM\ SZOFTVER\ Microsoft\ Windows\ CurrentVersion\ AccountPicture\ Felhasználók. Ahhoz, hogy a rendszergazdai jogokkal nem rendelkező felhasználók változtatásokat végezzenek, írásbeli engedélyeket kell megadni számukra a rendszerleíró kulcshoz.
- A legegyszerűbb módszer a regisztrációs jogok elosztása a csoportházirendek révén. Ehhez hozzon létre egy új házirendet, és kösse össze a felhasználói számítógépekkel az OU-val;
- Akkor lépjen a szakaszba Számítógép konfigurálása -> Házirendek -> Windows beállítások -> Biztonsági beállítások -> Nyilvántartás és hozzon létre egy új rendszerleíró kulcsot (Hozzáadás kulcs) a GÉP \ SZOFTVER \ Microsoft \ Windows \ CurrentVersion \ AccountPicture \ Users elérési útval;
- Ezután fül biztonság meg kell adni teljes ellenőrzés minden domain felhasználó számára (csoport [DomainName] \ Users), és kattintson az OK gombra;
- A következő párbeszédpanelen válassza a lehetőséget Cserélje ki az összes alkulcs meglévő engedélyeit örökölhető engedélyekre, egyébként a felhasználóknak nincs joga a beágyazott nyilvántartási ágakhoz;
PowerShell-parancsfájl, amellyel beolvashatja a felhasználó fotóját az AD-ből és telepítheti a Windows-profil ikont
Ezután szükségünk van egy PowerShell-parancsfájlra, amelyről be kell szereznünk egy képet az aktuális felhasználótól az Active Directory-ból, el kell mentni egy jpg-fájlba, és felhasználói profil ikonként kell beállítani. Kétféle módon lehet fotókat beszerezni az AD-ből: a Get-ADUser parancsmag használatával az ActiveDirectory modulból (ezt a modult RSAT-on keresztül kell telepíteni minden számítógépre, vagy másolja le az RSAT-AD-PowerShell modul szükséges fájljait RSAT telepítése nélkül). A szkript univerzális és helyes működése érdekében, beleértve a Windows 7 rendszert is, nem az RSAT-AD-PowerShell modult fogjuk használni, hanem az AD-hez az ADSISearcher osztályon keresztül férünk hozzá..
Példa forgatókönyvre SetADPicture.ps1 Az alábbiakban olvashat arról, hogyan szerezhet felhasználói fényképet az AD-től és beállíthatja azt Windows-fiókjának avatárjává:
[CmdletBinding (SupportsShouldProcess = $ true)] Param ()
funkció Test-Null ($ InputObject) return! ([bool] $ InputObject)
$ ADuser = ([ADSISearcher] "(& (objectCategory = Felhasználó) (SAMAccountName = $ env: felhasználónév))"). FindOne (). Tulajdonságok
$ ADuser_photo = $ ADuser.thumbnailphoto
$ ADuser_sid = [System.Security.Principal.WindowsIdentity] :: GetCurrent ().
If ((Test-Null $ ADuser_photo) -eq $ false)
$ img_sizes = @ (32, 40, 48, 96, 192, 200, 240, 448)
$ img_mask = "Kép 0 .jpg"
$ img_base = "C: \ Users \ Public \ AccountPictures"
$ reg_base = "HKLM: \ SZOFTVER \ Microsoft \ Windows \ CurrentVersion \ AccountPicture \ Users \ 0"
$ reg_key = [karakterlánc] :: formátum ($ reg_base, $ ADuser_sid)
$ reg_value_mask = "Kép 0"
If ((Teszt-útvonal-elérési út $ reg_key) -eq $ hamis) Új-tétel-Útvonal $ reg_key
Próbálja ki
ForEach ($ méret $ img_sizes formátumban)
$ dir = $ img_base + "\" + $ ADuser_sid
If ((Test-Path -Path $ dir) -eq $ false) $ (mkdir $ dir) .Attributes = "Rejtett"
$ fájlnév = ([karakterlánc] :: formátum ($ img_mask, $ size))
$ elérési út = $ dir + "\" + $ fájlnév
Írás-szóbeszéd "mentés: $ fájl_neve"
$ ADuser_photo | Set-Content -Path $ elérési út -Kódolási bájt -Force
$ név = [karakterlánc] :: formátum ($ reg_value_mask, $ size)
$ érték = Új-ItemProperty -Path $ reg_key -Name $ name -Value $ elérési út -Force
Fogás
Írási hiba "Ellenőrizze a fájlok vagy a regisztráció engedélyét."
A szkript az Active Directory AD-től megkapja az aktuális felhasználó miniatűrképe attribútuma értékét, és elmenti a fényképet a C: \ Users \ Public \ AccountPictures \ User SID könyvtárba. A katalógus különféle felbontású (32 × 32-től 448 × 448 képpontos) grafikus fájlokat fog tartalmazni a Windows 10 interfész különféle formátumaiban: image32.jpg, image40.jpg stb..
A fényképeket a felhasználói profilhoz kötik a HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ AccountPicture \ Users \ User SID rendszerleíró ágban..
PowerShell-parancsfájl futtatása, hogy fotókat profilhoz kössön GPO-n keresztül
Most szükségünk van a SetADPicture.ps1 parancsfájl futtatásához, amikor a felhasználó bejelentkezik a Windowsba. A legegyszerűbb módszer ennek a házirend-csoportnak egy bejelentkezési szkript segítségével történő megvalósítása.
Ehhez a szakasz korábban létrehozott házirendjében használó Configuration -> Irányelvek -> Windows Beállítások -> Szkriptek (bejelentkezés/ Kilépés), hozzon létre egy új bejelentkezési szkriptet, amely futtatja a PowerShell szkriptet:
Végrehajtható fájl: % windir% \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe
Szkript paraméterei: -Nem-interaktív -ExecutionPolicy Bypass -Noprofile -File% logonserver% \ netlogon \ script \ SetADPicture.ps1
A házirendet hozzá kell rendelni a szükséges OU-hez a számítógépekkel, végrehajtani a kijelentkezést és a felhasználói bejelentkezést.
A házirend-beállításokban engedélyezze a GPO visszacsatolásos feldolgozási módot (Számítógép konfigurációja -> Felügyeleti sablonok -> Rendszer -> Csoportházirend -> Konfigurálja a felhasználói csoportházirend-visszatartás-feldolgozási módot = Egyesítés). Ebben a módban a házirendet alkalmazhatja az OU-ra a felhasználókkal.A célszámítógépeken a GPO-használat diagnosztizálásához használja a gpresult segédprogramot és a „Miért nem használják a GPO-t?” Című cikket..
Ezt követően a Windows 10 felhasználóhoz avatárral kell hozzárendelni az AD-t, és a felhasználói fiók képeként kezd megjelenni a Start menüben, a bejelentkezési képernyőn és más ablakokban. Útmutató a profilfotó hozzárendeléséhez jól működik és tesztelve a Windows 10 LTSC (1809) rendszeren.