En visitant ce site, vous acceptez le fait que nous utilisons des cookies.
Accept
Akril.netAkril.net
  • Apple
  • Cloud
    • Amazon AWS
    • Google Cloud Platform
    • Microsoft Azure
  • Google
  • Microsoft
    • Microsoft Azure
    • Microsoft Office
    • Microsoft Office 365
    • Microsoft SQL Server
    • Microsoft System Center
    • Microsoft Windows
    • Microsoft Windows Server
    • PowerShell
  • Linux
  • Sécurité
    • Varonis
  • Geek
    • Bitcoin
    • Citrix
    • Hardware
    • Jeux-vidéo
    • Logiciels et Applications
    • Photographie
    • Raspberry Pi
    • Smartphone
    • Virtualisation
    • Web
    • VMware
  • English
  • A propos
  • Contact
    • Annonceurs
Notification Show More
Latest News
Logo-SwissTransfer
Envoyer des gros fichiers avec SwissTransfer
Web
Le disque dur SSD des MacBook Pro M2 moins rapides que les M1
Apple
1 nouvelle puce M2 pour le MacBook Pro et le Mac Mini
Apple
OpenAI-Logo-Blog
ChatGPT : innovation et conséquences
Microsoft Azure Cloud Computing Web
Fin de support de Windows Server 2012 pour octobre 2023
Microsoft Windows Server
Akril.netAkril.net
Recherche
Follow US
AKRIL.NET - Copyright © 2006-2023. All Rights Reserved.
Akril.net > PowerShell > Récupérer les images de Windows Spotlight dans Windows 10 en PowerShell
PowerShell

Récupérer les images de Windows Spotlight dans Windows 10 en PowerShell

thibault
Dernière mise à jour : 28/12/2018
par thibault Published 26 mars 2016
Partager
11 Min Read
Partager

Windows-10

Sous Windows 10, il existe une fonctionnalité qui permet de mettre un joli fond d’écran au niveau de l’écran de verrouillage de session : Windows Spotlight. Ce dernier est proposé automatiquement par Microsoft et changé chaque jour avec quelque-chose de nouveau (ou plus régulièrement si l’actuelle ne vous plaît pas puisque vous avez la possibilité d’évaluer chaque fond).

Il s’agit d’une fonctionnalité propre à Windows 10 mais qui ne change pas l’arrière-plan du bureau mais uniquement celui du verrouillage (lorsque vous faîtes WIN + L où que vous fermez votre session). En fait, c’est un peu comme l’application Bing Desktop… sauf qu’il n’y a pas la partie Bing 😉 !

Personnellement, je trouve que les images sont plutôt très sympas alors j’ai voulu les récupérer afin de les utiliser également comme fond d’écran.

Etape 1 – Activer l’option, localiser les images et procéder manuellement

Première étape, vous devez activer l’option sur votre PC : Paramètres > Personnalisation puis Ecran de verrouillage et choisissez Windows Spotlight dans le menu déroulant.

Capture_03

Une fois que c’est fait, vous devriez pouvoir accéder au dossier caché suivant :

%localappdata%\Packages\

Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\

LocalState\Assets

(rassemblez les lignes, c’est simplement pour éviter de casser le formatage du site)

C’est le dossier dans lequel sont stockées les images. Pour y accéder, copiez-collez le chemin précédent dans votre Explorateur Windows ou directement dans la fenêtre qui apparaît lorsque vous appuyez sur WINDOWS + R.

Capture_01

Vous devez voir un dossier similaire avec des fichiers étranges :

Capture_02

Bien que ces fichiers ne s’ouvrent pas, il s’agit bien des images utilisées par Windows Spotlight.

Créez un nouveau dossier de travail sur votre bureau (ou ailleurs) et copiez-collez y tous ces fichiers.

Appuyez maintenant sur SHIFT + cliquez sur le bouton gauche de votre souris. Dans le menu contextuel qui apparaît, choisissez l’option Open command window here / Ouvrir commandes Windows ici.

Exécutez la commande suivante :

Ren *.* *.jpg

Capture_05

Pas de stress, on ne fait rien de grave. On renomme simplement tous les fichiers de notre dossier de travail en ajoutant à la fin l’extension .JPG. De cette façon, nos fichiers seront bien identifiés par le système comme des images et nous pourrons alors les ouvrir.

Capture_07

Il vous reste maintenant à :

  • Faire le trie entre les images et les résidus non souhaités comme le logo du jeu de bonbons (dont le nom de me revient pas au moment ou j’écris cet article), celui de Flipboard, la tête d’oiseau (dont on se demande ce qu’il fait là), etc.
  • Différencier les images qui sont au format Portrait ou Paysage. En effet, vous trouverez des images au format Portrait qui sont utilisées pour Windows Spotlight sur Windows Phone mais qui ne donneront rien de bon sur votre Windows 10 de bureau ! 😉

Une fois que c’est bon, il vous suffit de vous créer un dossier dans vos Documents et d’y mettre toutes les images que vous souhaitez conserver comme fonds d’écran possibles.

Ensuite, il ne vous reste plus qu’à activer l’option dans les paramètres :

Capture_07

Activez l’option Slideshow puis définissez votre dossier qui contient toutes les images (que j’ai appelé personnellement Wallpapers_PC).

De cette façon, votre écran de verrouillage de session et votre fond d’écran utilisent désormais le même lot d’images qui provient de Windows Spotlight.

C’est terminé ! 🙂

Concrètement ça marche, mais le désavantage de cette solution et que vous devrez régulièrement aller récupérer les images dans le dossier caché de Windows Spotlight, puis les copier-coller dans votre dossier, puis ajouter l’extension JPG afin de pouvoir utiliser les nouvelles images… Sinon, vous n’aurez que les images disponibles à l’instant où vous avez réalisé la manipulation. 🙁

Original article

Etape 2 – Automatiser la récupération des images en PowerShell

Heureusement, il est possible d’automatiser cela.

Créez vous un dossier Windows_Spotlight dans lequel vous allez créer 2 nouveaux dossiers : PC et Smartphone.

Capture_09

$me = $env:username
$source = "C:\Users\$me\AppData\Local\Packages\
Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets"
$target_pc = "C:\Users\$me\Pictures\Windows_Spotlight\PC"
$target_phone = "C:\Users\$me\Pictures\Windows_Spotlight\Phone"

Write-Host "[DEBUG] - Starting importing Windows Spotlight wallpapers..."

# Testing if the folder Windows Spotlight Exists
if ((Test-Path $target_pc) -eq $false)
{
 # Creating the folder if not exist
 Write-Host "[ERROR] - Check folder creation"
 Break
}

# Get all the images in the hidden folder of Windows Spotlight
$images = Get-ChildItem $source

# For each image
foreach ($wallpaper in $images)
{
 # If the file has NOT been already imported by previous script execution
 # We will : import/copy it, then rename it by adding the jpg extension
 if ((Test-Path $target_pc\$wallpaper.jpg) -eq $false)
 {
 # Copy
 Copy-Item $source\$wallpaper -Destination $target_pc
 # Rename
 Rename-Item $target_pc\$wallpaper -NewName $target_pc\$wallpaper.jpg
 # Log
 Write-Host "$wallpaper copied and added JPG extension into $target_pc folder !"
 }

 else
 {
 Write-Host "$wallpaper has been already imported !"
 }

 # Clearing the images that are probably not true image that can be used as wallpapers
 # In fact, removing all the files under 100 000 bytes
 if ((Get-Item $target_pc\$wallpaper.jpg).Length -lt 100000)
 {
 Write-Host "$wallpaper removed (probably not wallpapers)"
 Remove-Item $target_pc\$wallpaper.jpg
 }

 # At this step, we have only true images that can be used for PC but also for Phone !
 # We will get the Height / Width details of each picture
 # Only if the image exists
 if ((Test-Path $target_pc\$wallpaper.jpg) -eq $true)
 {
 $image_details = Get-Image $target_pc\$wallpaper.jpg

 # If, Width is larger that Height therefore is landscape / paysage
 if ($image_details.Height -le $image_details.Width)
 {
 Write-Host "$wallpaper is a Landscape - We keep it in the current folder"
 }

 # Otherwise height is Larger than Width - It's for Phone
 else
 {
 Write-Host "$wallpaper is a Portrait - Moved for Phone usage"
 # File has been already move in previous import - so its removed
 if ((Test-Path $target_phone\$wallpaper.jpg) -eq $true)
 {
 Remove-Item $target_pc\$wallpaper.jpg
 }
 # New file, we move it in phone folder
 else
 {
 Move-Item -Path $target_pc\$wallpaper.jpg -Destination $target_phone
 }
 }
 }
}
# Ending script execution
Write-Host "Import of Windows Spotlight Wallpapers Done !"
Write-Host ("Number of Available Elements for PC Wallpapers : " + (Get-ChildItem $target_pc).Count)
Write-Host ("Number of Available Elements for Phone Wallpapers : " + (Get-ChildItem $target_phone).Count)

En gros, que fait-on :

    • On vérifie que notre dossier de travail est bien créé. Par défaut : C:\Users\vous\Pictures\Windows_Spotlight\PC

 

    • On récupère la liste de tous les fichiers disponibles dans le dossier caché de Windows Spotlight

 

    • Pour chaque fichier : 

       

        • Si le fichier n’existe pas déjà (lors d’un précédent import), on copie le fichier dans notre dossier Windows_Spotlight\PC,

       

        • On le renomme en ajoutant l’extension de fichier .jpg à la fin,

       

        • On supprime tous les fichiers dont la taille est inférieure ou égale à 100 000 bytes car à priori il s’agira des logos et autres résidus comme je les ai appelé précédemment,

       

      • Si l’image n’a pas été supprimée, on récupère maintenant les dimensions height / width pour chaque image (pour cette partie j’utilise la fonction Get-Image extraite de PSImageTools – voir note à la fin). 

         

          • Si l’image a une hauteur moins important que la largeur, il s’agit donc d’une image au format paysage, nous gardons donc le fichier dans notre dossier de travail Windows_Spotlight\PC

         

        • Sinon (la hauteur est plus importante) et c’est donc une image au format portrait. Nous déplaçons donc le fichier dans le dossier Windows_Spotlight\Phone (si cela n’a pas encore été fait dans un précédent import).

 

  • A la fin, on affiche le nombre d’images disponibles pour chaque dossier.

Capture_10

Capture_11

Capture_12

Capture_13

On voit bien que nous n’avons plus que des images fonctionnelles et utilisables et que chacun a été positionnée dans le répertoire qui lui convient en fonction de son format (paysage pour PC et portrait pour smartphone). 🙂

Etape 3 – Pour aller plus loin

Vous pouvez maintenant choisir de positionner votre dossier Windows_Spotlight dans votre DropBox ou dans OneDrive (ou autre). De cette façon, toutes les images seront disponibles depuis tous vos ordinateurs et/ou smartphone.

Mieux encore, vous pouvez également automatiser l’exécution de ce script via les tâches planifiées afin d’exécuter et faire une copie chaque jour des nouvelles images proposées par Microsoft ! 😉

N’hésitez pas à personnaliser le code selon vos besoin car même si ça fait le boulot, il y a moyen d’améliorer ça. Par exemple, vous pourriez créer les dossiers automatiquement (là où j’ai choisi de Break si  jamais le dossier n’est pas conforme).

La fonction Get-Image que j’utilise provient du pack PSImageTools disponible sur GitHub. Elle n’a pas du tout été modifiée et je l’utilise telle que fournit pas son auteur. Plus d’informations sur GitHub. Merci à lui ! 🙂

Téléchargement : spotlight_wallpapers v2 blog.

TAGS : PowerShell, Windows Spotlight
Partager cet article ?
Twitter Whatsapp Whatsapp LinkedIn Telegram Email Copy Link
Vous en pensez quoi ?
Love0
Happy0
Embarrass0
Sad0
Angry0
6 commentaires

Publicités

Auteur

Cloud Solution Architect – Engineering (aka. Sr. Premier Field Engineer – PFE) @ Microsoft dans les domaines de l’infrastructure, du cloud et de la sécurité. Je suis également passionné par tout ce qui concerne les nouvelles technologies ainsi que la photographie ! Bonne visite ! 🤓

Follow @akril
Girl in a jacket

Dernière vidéo YouTube

https://youtu.be/-hQdddZeaNs

Certifications

Certifications

Publicités

Partenaires

Autres articles

PowerShellMicrosoft Windows Server

Créer des comptes et groupes de tests dans Active Directory

thibault thibault 26 décembre 2022
PowerShell

Rechercher dans les GPO de votre Active Directory avec PowerShell

thibault thibault 13 novembre 2022
Microsoft Windows Server

Seize des rôles FSMO vers un Domain Controller

thibault thibault 28 février 2021
PowerShell

winget : un gestionnaire de paquets sur Windows 10

thibault thibault 13 novembre 2022

Derniers articles sur Microsoft Azure

OpenAI-Logo-Blog
ChatGPT : innovation et conséquences
Microsoft Azure Cloud Computing Web
Création d’un environnement de formation avec Azure Lab Services
Microsoft Azure Cloud Computing Featured
Comparaison entre Azure AD Connect et Cloud Sync
Microsoft Azure Microsoft Office 365

Effectuer une recherche ?

Me contacter

Pour me contacter, il vous suffit d’utiliser le formulaire disponible sur la page de contact.

Derniers articles sur Varonis

Classify and locate important documents
English Varonis
Execute a PowerShell script in Varonis DatAlert
English Varonis

Derniers articles sur Citrix

Créer des comptes et groupes de tests dans Active Directory
PowerShell Microsoft Windows Server
Rechercher dans les GPO de votre Active Directory avec PowerShell
PowerShell
winget : un gestionnaire de paquets sur Windows 10
PowerShell
Akril.netAkril.net
Follow US

AKRIL.NET - Copyrights © 2006-2023

Welcome Back!

Sign in to your account

Lost your password?