Харесват ли ви изображенията, които се появяват на заключения екран на Windows Spotlight, но сте раздразнени, че не можете да ги използвате като фон на работния плот? Windows не предлага директна опция за използване на тези снимки като фонове на работния плотТака че трябва да използвате малко изобретателност и PowerShell, за да го автоматизирате.
В тази статия ще видите, стъпка по стъпка, Как да използвате PowerShell, за да накарате Spotlight автоматично да променя фоновете викак работи вътрешно Windows Spotlightкъде съхранява изображенията, как да ги използва за слайдшоу, как да планира скриптове с планировчика на задачи и какво да прави, ако Spotlight спре да актуализира снимки.
Какво е Windows Spotlight и как работи с вашите средства?
Прожектор на Windows (Прожектор на Windows) Това е функция на Windows, която ежедневно показва зрелищни изображения на заключения екран, често придружени от кратки текстове с интересни факти, препоръки, предложения или дори съобщения от вашата организация, ако сте в корпоративна среда.
В бизнес средите, Windows Spotlight е наличен само в изданията Enterprise и Education.Това е мястото, където ИТ отделът може централизирано да контролира поведението му. У дома повечето потребители го възприемат като „снимките, които се променят автоматично на заключения екран“, въпреки че има много повече от това.
Когато Spotlight е включен, Windows изтегля нови изображения почти всеки ден. и ги прилага както към заключения екран, така и в някои сценарии към фона на екрана за вход. Снимките могат да идват от различни източници, но системата ги съхранява в специфични вътрешни пътища, които не са лесно очевидни за потребителя.
Освен това, Потребителското изживяване може да бъде персонализирано с правилаВашата компания може да реши дали да показва само изображения, да добавя съобщения, да ги комбинира със статично корпоративно изображение и т.н. За напредналия потребител у дома интересното е да знае, че тези снимки са там... и че можем да ги намерим с PowerShell.

Изисквания за Spotlight и основна конфигурация в Windows
Преди да се заемем със скриптовете, е добре да се уверим, че Windows Spotlight е активиран и работи правилно. В противен случай няма да има нови изображения, които да използвате за фон на работния плот. Можете също да разгледате някои Софтуерни трикове за Windows.
На отделен компютър най-лесният начин да проверите това е чрез самите настройки на Windows. Нужен ви е само достъп до Настройки и опциите за персонализиране.Не е необходимо да сте администратор, за да използвате Spotlight на потребителско ниво.
Ако работите във фирма или образователен център, Активирането или деактивирането на Spotlight може да зависи от правилата. Те се прилагат чрез Intune, обекти на групови правила (GPO) или доставчици на услуги за съдържание (CSP) за работа с правила. В тези среди е обичайно администраторите да комбинират Spotlight с корпоративни изображения или съобщения, специфични за организацията.
Във всеки случай, началната точка е същата: Трябва да активирате Spotlight и реално да променяте изображенията на заключения екран.Ако не стане, ще видим по-късно как да го активираме отново или да отстраним типични проблеми.
Как да активирате Windows Spotlight на заключения екран
На стандартен компютър с Windows 10 или Windows 11 можете да активирате Spotlight за няколко секунди от графичния интерфейс. Не ви е необходим PowerShell или скриптове за тази първа стъпкаПросто следвайте тази кратка обиколка през менюто с настройки.
Отворете приложението Настройки и отидете в секцията за персонализиране. Оттам можете да изберете типа фон за заключения екран и се уверете, че Windows използва Spotlight вместо неподвижно изображение или ръчно слайдшоу.
За по-подробна информация, посетете:
- Настройки > Персонализация > Заключен екран.
- В раздел Fondo, Избирам Представено съдържание на Windows Spotlight в падащото меню.
След като тази промяна бъде приложена, Windows ще започне да изтегля и завърта изображенията на Spotlight на заключения ви екран всеки ден. Ще „използваме повторно“ същите тези изображения като фон на работния ви плот благодарение на PowerShell.
В среди с множество устройства, администраторът може да избере да конфигурира това, използвайки:
- CSP на директивата за опит, обикновено чрез MDM решение, като например Microsoft Intune.
- Групова политика (GPO)Ако компютрите са свързани към Active Directory или Microsoft, въведете хибридна среда.
Всъщност, Политиките дори позволяват замяната на изображенията на Spotlight с персонализиран фон.Въпреки че запазва съобщения, предложения и друго съдържание, фоновото изображение ще бъде принудено да бъде статично корпоративно изображение. В този случай, въпреки че все още можете да автоматизирате промените на фона с PowerShell, изображенията вече няма да бъдат динамичните фонове на Spotlight, а по-скоро тези, дефинирани от вашата организация.
Къде Windows съхранява изображенията на Spotlight?
Едно от най-любопитните неща за Spotlight е, че въпреки че показва много готини снимки, Не ги запазва в „нормална“ папка с видимо разширение .jpg или .pngВсички те попадат в път в потребителския профил, но без файлово разширение, така че не е веднага очевидно, че са изображения.
Независимо от източника на всяка снимка, Windows ги съхранява на едно и също мястоКогато стигнете до тази папка, ще видите списък с файлове с неясни имена и без разширение. Това са изображенията, които Spotlight изтегля и актуализира.
Ако искате да ги управлявате ръчно, ще трябва добавете разширение за изображение (например .jpg) към всеки файл и да ги отворите, за да проверите съдържанието им. Доста досадна задача, ако имате десетки натрупани файлове.
За да избегнете това, е много по-добре да използвате PowerShell за автоматизиране на процеса: Откриване на Spotlight файлове, присвояване на разширения, филтриране на тези, които действително имат адекватна резолюция, и преместване в полезна папка.Например, към папка с фонове в OneDrive или друг удобен за вас път.
Точно това правят много скриптове, споделени от общността: Той сканира вашата папка Spotlight, обработва файловете и ви оставя с колекция от готови за употреба фонове. във всяко слайдшоу или като статичен фон.

PowerShell скрипт за директно използване на най-новото Spotlight изображение като фон
Един доста елегантен начин да интегрирате Spotlight с вашия десктоп е Винаги вземайте най-новото изображение на Spotlight и го задавайте като тапет на Windows.По този начин, всеки път, когато Windows актуализира снимката на заключения екран, фонът на работния плот също се актуализира автоматично.
Това може да се постигне с помощта на PowerShell скрипт, който изтегля няколко ключови компонента на системата: SID на текущия потребител, съответния клон на системния регистър, където се съхраняват метаданните на Creative/Spotlight, и ключът за фон на работния плот в потребителския профил..
Първото нещо, което прави скриптът, е получаване на SID на потребителя, който изпълнява сесията:
$userSID = (::GetCurrent()).User.Value
Използвайки този SID, той изгражда пътя в системния регистър, където Spotlight съхранява текущата информация за заключения екран:
$currentLockscreenRegPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Creative\$userSID"
след това Той преглежда записите в този клон на системния регистър, за да получи списъка с изображения на Spotlight. свързани ключове. Тези ключове обикновено са с дата, така че най-новият съответства на най-новото изображение.
Скриптът извлича всички тези подключове с Get-ChildItem и запазва последния:
$spotlightImages = Get-ChildItem -Path $currentLockscreenRegPath -Recurse:$false | Select-Object Name
$latestImage = (Get-ItemProperty -Path $spotlightImages.Name.Replace("HKEY_LOCAL_MACHINE","HKLM:") | Select-Object landscapeImage).landscapeImage
Стойността пейзажИзображение Той съдържа пълния път до файла с изображението, който Spotlight използва за панорамния формат, който е точно този, който искаме като фон на работния плот.
Регулирайте качеството на фона и избягвайте ненужни промени
Преди да приложите новото изображение като фон, силно се препоръчва Уверете се, че качеството на JPEG файла на тапета е настроено на максимално ниво.Windows използва ключ в системния регистър, наречен JPEGImportQuality в HKCU:\Control Panel\Desktop да реши с какво качество да съхранява компресираните средства.
Скриптът проверява дали този ключ съществува и ако не е наличен, го създава със стойност 100. Ако вече съществува, но няма стойност 100, тя се актуализира. за да се гарантира най-висококачествено фоново изображение:
if(-not (Get-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name JPEGImportQuality -ErrorAction SilentlyContinue)){
New-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name JPEGImportQuality -PropertyType DWord -Value 100
}elseif ((Get-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name JPEGImportQuality).JPEGImportQuality -ne 100){
Set-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name JPEGImportQuality -Value 100
}
Това гарантира, че Изображенията в прожекторите изглеждат ясни и без прекомерни артефакти от компресия когато са зададени като фон на работния плот и ако искате да ги ретуширате, можете редактиране на снимки в Windows.
Следващата стъпка в скрипта е да Проверете дали текущият фон на работния плот вече съвпада с най-новото изображение на Spotlight.Ако са еднакви, не е необходимо да се прави нищо и скриптът завършва с връщане на код за успех 0.
За да направите това, ключът се чете тапети en HKCU:\Control Panel\Desktop и се сравнява с маршрута на $latestImage:
if((Get-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name WallPaper).WallPaper -eq $latestImage){
return 0
}
Ако са различни, Скриптът актуализира стойността на Wallpaper с новия път и налага актуализация на параметрите на потребителя, така че промяната да се отрази на екрана:
Set-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name WallPaper -Value $latestImage
Командата, която задейства актуализацията, е класическата:
RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True
Има обаче един практичен детайл: Тази актуализация не винаги се прилага от първия път.Ето защо скриптът избира да изпълнява командата в цикъл до 60 пъти, с малки интервали от една секунда, за да гарантира, че фонът ще се промени:
for($i = 0; $i -lt 60; $i++){
& RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True
Start-Sleep -Seconds 1
}
С този подход, скриптът става „независим от потребителя“ (изчислява своя SID в реално време), актуализира фона само когато има ново изображение и гарантира възможно най-доброто качество на JPEG тапета.
Автоматизирайте изтеглянето и организирането на изображения от Spotlight
Друга много интересна стратегия е не само използвайте най-новото изображение на Spotlight, но и запазете всички, които се появяват в организирана папка с правилното разширение, така че да можете да създадете колекция от фонове и да ги използвате в слайдшоу на Windows.
Това обикновено се прави с помощта на PowerShell скрипт, който посещава вътрешната папка, където Windows съхранява Spotlight файловете, Той открива тези, които са валидни като фон (обикновено панорамни с добра резолюция).Добавя съответното разширение на изображението (обикновено .jpg) и го копира или премества в друга структурирана папка.
В много примери тази целева папка е дефинирана по подразбиране в Изображения > Тапет > Прожектор във вашия OneDrive акаунт. По този начин, Вашата колекция от фонове на Spotlight е синхронизирана с облака и е достъпно на всички ваши устройства, свързани с този акаунт.
Ако тази дестинация не ви убеди, можете Редактирайте скрипта и променете пътя на реда, където е дефинирана изходната папка. (например, ред 6 в някои споделени скриптове). Просто отворете .ps1 файла в Notepad, намерете този ред и заменете пътя в OneDrive с желания път (например, C:\Wallpapers\Spotlight).
След изпълнение на скрипта, Ще имате папка, пълна с изображения от Spotlight с разширение .jpg. готов за използване като самостоятелен фон или като част от слайдшоу.
Създайте слайдшоу с изображения от Spotlight
След като сте организирали изображенията си в папка, можете да кажете на Windows, че Използвайте това местоположение като източник за фоново слайдшоуПо този начин, вместо да имате един фиксиран фон, всички снимки в Spotlight, които сте запазили, ще се завъртат.
За да го конфигурирате от интерфейса на Windows, върнете се към „Персонализация“, но този път към секцията за фон на работния плот. Там решавате дали искате неподвижно изображение, плътен цвят или слайдшоу..
Основните стъпки са:
- отваря Настройки > Персонализиране > Фон.
- В падащото меню изберете Слайдшоу.
- В опцията за избор на папка, Изберете пътя, където скриптът PowerShell ще запази изображенията на Spotlight (например, вашата папка OneDrive > Картини > Тапет > Акценти).
От тук можете също Конфигурирайте колко често искате да се променя фоновото изображение. (всяка минута, на всеки 10 минути, на всеки час и т.н.) и ако искате Windows да разбърква произволно реда на снимките.
Чрез комбиниране на тази функция със скрипта, който изтегля и организира изображенията, Получавате практически автоматична система. Windows Spotlight добавя нови снимки, скриптът ги заснема и вашият десктоп показва постоянно актуализирано слайдшоу с тези фонове.
Планирайте PowerShell скрипта с помощта на Task Scheduler
За да избегнете ръчното стартиране на скрипта всеки път, когато искате нови изображения или да синхронизирате най-новото изображение като фон, идеалното решение е Настройване на планирана задача в Windows който стартира скрипта на равни интервали.
Планировчикът на задачи ви позволява да създавате тези задачи ръчно или чрез импортиране на предварително подготвени XML файлове. Някои източници споделят готов за употреба XML файл, който само трябва да бъде импортиран и свързан със скрипта PowerShell. който управлява изображенията на Spotlight.
Типичната последователност за автоматизиране на този процес е:
- Изтеглете XML файла на планираната задача, който предоставя изходния код на скрипта.
- Отворете Task Scheduler Windows.
- използвайте опцията Импортиране на задача и изберете изтегления XML файл.
След като задачата е импортирана, можете настройте спусъка по ваш вкусНапример, всеки час, на всеки 15 минути или веднъж дневно. В раздела „Действия“ редактирайте съществуващото действие и в полето „Програма или скрипт“ изберете PowerShell скрипт които сте изтеглили по-рано.
След като запазите промените, Можете дори да изтриете оригиналния XML файл.Тъй като задачата вече ще бъде регистрирана в системата, програмистът автоматично ще изпълни скрипта според зададения от вас график.
Промяна на фона и заключване на екрана на управлявани устройства (Intune, предприятия)
В бизнес среда често възниква необходимостта от Конфигурирайте фона на работния плот и заключения екран групово на всички управлявани екипи. Независимо дали със статични корпоративни изображения или контролирани слайдшоута.
Често срещано е администраторът да представи сценарий, в който Изображенията се намират в обща папка, например C:\temp\slideshowtestи искате да внедрите PowerShell скрипт, който конфигурира скрийнсейвъра, фона и заключения екран въз основа на тези файлове.
Общата идея е:
- Копирайте желаните изображения в стандартен локален път на всички компютри.
- Създаване на PowerShell скрипт който избира или преглежда тези изображения и ги прилага като фон и/или заключен екран.
- Пакетирайте този скрипт като Приложение или скрипт на Intune да го разположите на всички управлявани компютри.
Напълно възможно е и често се комбинира с политики на Intune или GPO, които предотвратяване на промяната на фона от потребителя за да се осигури последователен корпоративен имидж. Във всеки случай, логиката на PowerShell за модифициране на ключовете на HKCU:\Control Panel\Desktop или специфичните клавиши на заключения екран са много подобни на тези, които се използват при работа със Spotlight.
Основната разлика е, че вместо да се разчита на динамични изображения от Windows Spotlight, Използвате папка със статични изображения, контролирана от организациятас гъвкавостта за конфигуриране на презентации, ротации и др.
Често срещани проблеми при актуализиране на фона с PowerShell
Използването на PowerShell за промяна на тапета обикновено работи добре, но Има някои странни поведения, които могат да ви объркатЕдин от най-типичните проблеми е, че когато се изпълняват няколко скрипта един след друг, фонът не се актуализира веднага.
Представете си, че имате пет .ps1 файла, всеки от които сочи към различен PNG файлКогато щракна двукратно върху първия, фонът се променя правилно. Когато щракна двукратно върху втория, нищо не се случва или промяната се случва със закъснение.
Често срещан модел на скрипт в тези случаи е нещо подобно:
Function Set-WallPaper($Value){
Set-ItemProperty -path 'HKCU:\Control Panel\Desktop\' -name wallpaper -value $value
rundll32.exe user32.dll, UpdatePerUserSystemParameters 1, True
}
Set-WallPaper -value "C:\Users\<usuario>\Pictures\fondo1.png"
Този подход е по същество правилен, но Windows не винаги реагира мигновено на промените в ключа на системния регистър.Понякога е необходимо малко забавяне, допълнително обновяване или гарантиране, че процесът няма да „заседне“ на едно и също кеширано изображение.
Ето защо ще видите скриптове, които вместо да го извикват само веднъж, UpdatePerUserSystemParameters, Те изпълняват командата няколко пъти в цикъл с кратки паузи.Точно както в примера, който обсъдихме по-рано със Spotlight. Това значително подобрява надеждността на последователните промени на фона.
Освен това е удобно Избягвайте относителни маршрути или профили, които се променяти се уверете, че изображенията съществуват на посоченото място. Ако пътят е неправилен или файлът не съществува, системният регистър ще бъде актуализиран с невалиден път и системата може да не отрази промените.
С всичко казано, комбинирането на Windows Spotlight с PowerShell ви позволява да преминете от статичен работен плот към напълно динамична и персонализирана средаМожете директно да използвате най-новото изображение на Spotlight като фон, да запазвате и категоризирате всичките си снимки за използване в слайдшоута, да автоматизирате изпълнението на скриптове с Task Scheduler и дори да разширите идеята до корпоративни среди с Intune и политики. Ако се погрижите за детайли като качество на JPEG, правилни пътища до файловете и обновяване на фона с помощта на RUNDLL32, ще имате много стабилна система, която автоматично ще променя фоновете ви, без да се налага да се притеснявате за нищо.