J’avais fait un article sur le fameux script Powershell Win10 Initial Setup Script ici. Malheureusement le développeur a jeté l’éponge et un successeur talentueux a développé sa propre alternative; Farag, sur Github. 

Au menu des nouveautés, on a une interface graphique, la compatibilité avec Windows 11 et de l’interactivité via des fenêtres où certains choix seront demandées (ex: fenêtre graphique de suppression de fonctionnalités Windows) mais l’interactivité est bien sur facultative; on n’est pas obligé d’activer les scripts correspondants. On garde par contre la réversibilité des réglages et le fait de pouvoir lancer en ligne de commande sans GUI.

Télécharger et préparer Sophia Script

Rendez-vous sur https://github.com/farag2/Sophia-Script-for-Windows . Plus bas dans la page je clic sur la version 5.12.5 du script: En effet  Windows 10 sur le PC la commande winver m’indique que j’ai la version 21H1 de Windows 10:

Après clic, une page s’ouvre et -en chapitre « ASSET »- je télécharge sur mon bureau le zip « Sophia Script for Windows 10 V 5.12.5″. Ici on peut voir d’autres liens de téléchargement avec « Sophia xxx PowershellV7 : Ce sont des scripts écrits uniquement pour ceux qui ont installés sur leur Windows le PowerShell Version 7 mais à cette heure la version PowerShell installée par défaut sur Windows 10 et 11 est la V5; ce qui est la version utilisée par le zip que j’ai téléchargé (non ce n’est pas un version en c++ comme je l’avais pressenti).

Le nom du dossier décompressé est trop long, après dé-zippage je déplace les fichiers composants le script dans un dossier au nom court: Sophia Script (toujours sur le bureau). Je récupère aussi le Zip « Sophia Script wrapper Vxxx » et je le dézippe dans le même dossier que Sophia Script. Le tout ressemble à ceci: 

Comment ça marche?

Sophia script

Le fichier « Sophia.ps1 » est l’exécutable PowerShell pour lancer les optimisations et réglages si on ne veut pas passer par l’interface graphique. Il contient principalement le nom des fonctions à lancer:  Si la fonction est commentée par le signe # elle ne se lancera pas. J’utilise Notepad++ pour ouvrir ce fichier. Exemple ici avec la fonction « AppsSilentInstalling -Disable » décommentée par défaut (ligne 224). A noter que chaque fonction est brièvement expliquée; Mais par la suite je détaillerais en Français les fonctions majeures…

Pour info lors d’une nouvelle installation de Windows 10, on voit apparaitre dans le menu démarrer de Windows des flèches qui indiquent l’installation d’applications style jeux, lecteurs vidéos etc.. qu’on n’a pas demandé; Ceci est bloqué avec l’option « AppsSilentInstalling -Disable« . Le script est réversible; Si l’on tient à ces installation d’apps forcées, on peut commenter et décommenter avec # et relancer le script:

Le fichier Sophia.ps1 est principalement un fichier de réponse: Les commandes qui agissent sur le système d’exploitation sont dans le fichier « Sophia.psm1 » du sous-dossier « Module ». Exemple encore avec « AppsSilentInstalling -Disable » qu’on retrouve sur le fichier Sophia.psm1 en ligne 1209: Ici une commande spécifique modifie le registre Windows:

Sophia Script Wrapper

Et voilà l’interface utilisateur sans ligne de commande! (A lancer en mode Administrateur bien sûr). Il ne fonctionnera pas tant que l’on aura pas importé le fichier sophia.ps1 :

Les options Sophia Script expliquées

J’ai organisé les explication ainsi= <Nom de l’option> <Réglage recommandé> <Interactif>: <Explication détaillée> 

Interactif signifie que si l’option est activée, elle va afficher une fenêtre dans laquelle un choix utilisateur sera requis, cassant l’exécution sans interaction du script; J’ai trouvé important de le signaler si on veut éviter ça. 

Une capture d’écran du réglage est jointe -si besoin- pour éclairer l’explication. Je n’ai pas traité les options peu utiles ou faciles à comprendre malgré la langue anglaise. En fin d’explication détaillée, je donne quelquefois le chemin pour accéder aux réglages depuis les paramètres Windows, pour infos et parce qu’on est très curieux, n’est-ce pas?

L’article est long à lire mais vous pouvez cliquer sur CTRL+F pour ouvrir une fenêtre de recherche et taper le nom de la fonction donc vous voulez connaître les effets sur Windows.

Onglet SystemProtection

Checkings Warning: Des vérifications sont lancées pour savoir si le script peut s’exécuter sur la machine sans dommage: version de Windows Ok ou pas, vérification si le Sophia Wrapper est bien lancé en tant qu’Admin, que la version PowerShell est la bonne, que le script est la dernière version et désactivation de la protection des dossiers de Windows defender. L’option vérifie si une MAJ du script existe: Si oui le script ne se lance pas et on doit récupérer la MAJ.

Login coché: Un rapport des commandes lancées est généré dans le même dossier que Sophia Wrapper: Intéressant pour voir si tout s’est bien passé.

Onglet Privacy & Telemetry

DiagTrackService Disable: Un service Windows qui collecte des données d’utilisation (Télémétrie), la config. matérielle, programmes installés et -entre autres- rapport d’erreurs de façon à constituer une méga base de données de diagnostic, pour améliorer et sécuriser Windows.

DiagnosticDataLevel Minimal: Complémentaire à la fonction Diag Track, cela règle la collecte de données de diagnostic au minimum (si DiagTrackService est désactivé l’option n’a pas d’impact). Option visible dans Paramètres Windows> Confidentialité> Diagnostics et commentaires ou lors de la première installation de Windows.

ErrorReporting Disable: Lorsqu’une application plante, souvent, une fenêtre apparait pour demander si on veut bien envoyer le rapport de plantage à Microsoft. Fenêtre intrusive qui s’affiche en 1er plan; Je désactive.

Feedback Frequency Never: Là aussi de temps à autre on voit une fenêtre de notification qui demande notre opinion sur Windows. Option visible dans Paramètres Windows> Confidentialité> Diagnostics et commentaires.

ScheduledTasks Disable <Interactif>: En plus du service Diag Track de collecte télémétrique, des tâches planifiées sont lancées en cours de fonctionnement de Windows pour épier votre utilisation du PC (programmes lancés, matériel en place). Le script Sophia lancé, une fenêtre interactive permettra de choisir quelles tâches planifiées de collectes d’informations ont supprimera. Option à  régler sur None pour éviter de devoir intervenir en cours d’exécution du script.

SigninInfo Disable: Lors d’une grosse mise à jour Windows il arrive que le PC redémarre plusieurs fois, et si l’option est en Enable, votre session utilisateur s’ouvrira alors sans demander votre sésame pour finir l’installation. Du coup si vous laissez l’option par défaut Enable, quelqu’un d’autre pourrait accéder à votre session sans rentrer les identifiants.

LanguageListAccess Enable: Les sites Web pourront vérifier la langue utilisée sous Windows pour afficher si possible les pages dans cette langue.

Advertising ID Disable: En plus des cookies sur Internet, on est aussi espionné sous Windows via un identifiant publicitaire unique lorsqu’on lance une App ou le Microsoft Store. Ça commence à faire beaucoup d’espionnage tout ça.. Option visible dans Paramètres Windows> Confidentialité> Général.

WindowsWelcomeExperience Hide: Au premier démarrage du PC, sur le bureau, Windows vous invite à découvrir ses fonctionnalités, pour moi ce n’est pas utile en tout cas.

WindowsTips Disable: Affiche des suggestions d’applications, trucs et astuces lorsqu’on est sur le bureau, personnellement je règle sur Disable, mais peut se révéler utile pour certains.

SettingsSuggestedContent Disable: Encore des suggestions qui apparaissent quand on ouvre « Paramètres Windows ». Ex: Pour repasser Edge en tant que navigateur par défaut, essayer Office, etc..

AppsSilentInstalling Disable: Les apps Candy Crush, Netflix etc.. s’installent sans crier gare lors de la première mise en service de Windows. Il est sans doute trop tard pour votre PC (dans ce cas utiliser BCuninstaller) mais pour de futurs installations l’astuce est à garder sous le coude:

WhatsNewInWindows Disable: Une fenêtre en plein écran qui vante les mérites des nouvelles fonctionnalités. Apparait après le 1er démarrage ou suite à une mise à jour majeure.

TailoredExperiences Disable: Couplé avec la récolte des données pour afficher des suggestions et publicités ciblées directement sur votre bureau Windows. Visible dans Paramètres Windows> Confidentialité> Diagnostics et commentaires> Expériences personnalisées.

BingSearch Disable: La recherche Windows depuis la barre des tâches ou le menu démarrer retourne en plus des résultats locaux, des résultats Web en utilisant le moteur de recherche Bing. Dans mon cas au moins j’ai besoin de résultats plus pertinents et pointus ce qui m’oblige à utiliser Google Search.

Onglet UI & Personnalisation

ThisPC Show: Affiche le raccourci « Ce PC » en tant qu’icône sur bureau: Pratique pour explorer une clé USB ou la racine du disque C:\.

CheckBoxes Enable: Dans l’explorateur, affiche une case à cocher pour chaque fichier/dossier en vue de faciliter les sélections, histoire de copier-coller, déplacer, etc.. à la souris sans passer par CTRL+Clic gauche.

MergeConflicts Enable: Quand on fait un copier-coller dans un dossier; si le dossier de destination contient un dossier/fichier de même nom, Windows avertira de la chose et demandera que faire (écraser , fusionner).

OpenFileExplorerTo ThisPC: Défini quel dossier est ouvert lorsqu’on clique sur l’explorateur. Là aussi je trouve pratique de tomber dans le répertoire racine de toute chose: Ce PC.

OneDriveFileExplorerAD Hide: De temps en temps dans l’explorateur Windows un encart apparait pour vanter les fonctionnalités de OneDrive, et surtout la version payante (cela dit j’en suis satisfait, je paye 2€/mois pour un cloud de 100 Go).

SnapAssist Enable: Très utile je trouve; Permet en glissant une fenêtre sur un bord de l’écran de prévisualiser les autres fenêtres sous la forme de miniatures. On peut alors décider lesquelles fermer ou placer côte à côte:

FileTransfertDialog Enable: Lors d’un copier-coller, au lieu de voir une simple barre de progression, on bénéficiera de plus de détails; vitesse de transfert, nom du fichier en cours de copie…

FileExplorerRibbon Disable: Le « ruban » de l’explorateur (menu détaillé). Prend beaucoup de place je trouve à moins de bénéficier d’un écran 27 pouces. Je règle en Disable pour qu’il reste replié.

RecycleBinDeleteConfirmation Enable: Affiche un message de confirmation avant de vider la corbeille.

3DObjects Disable: Cache le dossier Objets 3D dans l’explorateur. Ce dossier inutile pour la plupart n’est d’ailleurs plus présent sur Windows 11.

QuickAccessRecentFiles Enable: Dans l’explorateur affiche les fichiers récemment ouverts à partir du dossier virtuel « Accès rapide »; Je trouve cette option hyper pratique.

QuickAccessFrequentFolders Enable: Les dossiers les plus fréquemment utilisés seront automatiquement épinglés dans « Accès rapide ».

TaskViewButton Hide: C’est l’assistant de bureau (icône en forme d’échelle dans la barre des tâches). Permet de switcher facilement entres vos bureaux virtuels et de voir en éclaté toutes vos apps, navigateur, fenêtre explorateur ouverts ainsi qu’un historique des fichiers ouverts présenté façon Timeline .

PeopleTaskbar Hide: Icône dans la barre des tâche en forme de profil qui affiche vos contacts enregistrés sur le PC. Pas d’intérêt: Je ne souhaite voir mes contacts qu’avec Outlook, Google contacts ou sur mon smartphone.

TaskBarSearch Hide: C’est le champs de recherche intégré à la barre des tâches: Un gros rectangle blanc vraiment pas design. Je le désactive pour ma part, mais je comprends que certaines désirent le laisser car c’est bien pratique pour rechercher un fichier sur son PC. Cela dit, quelle place ça prend dans la barre! (NB: on peut replacer par l’icône d’une loupe).

WindowsInkWorkspace Hide: Je ne sais pas pourquoi Microsoft a mis dans la barre d’outils cette fonction, représentée par une icône qui ressemble à un stylo! Ne sert qu’à dessiner sur un tableau blanc virtuel et sur une copie d’écran..

NotificationAreaIcons Hide: En Enable, toutes les icônes normalement cachées de la barre d’outils (la zone où s’affiche l’heure) seront visibles; ça prend trop de place donc je mets sur Disable.

MeetNow Hide: Dans la barre d’outils: Icône en forme de caméra qui lance la visioconférence maison de Microsoft.

NewsInterests Disable: Dans la barre des tâches à gauche: Météo et actualités basées sur vos centres d’intérêts, affinés au jour le jour suivant sur quoi vous cliquez.

UnpinTaskbarShortcuts coché: Windows affiche d’office les raccourcis de Edge, Mail et Store dans la barre des tâches; Cocher les cases dans Sophia Script retire ces raccourcis.

WindowsColorMode et AppColorMode Light: Attention! L’option active par défaut le mode Dark à la fois dans l’interface Windows et sur les Apps récupérés depuis le Microsoft Store.

NewAppInstalledNotification Hide: Merci… Mais je sais quand j’installe une application, pas besoin de recevoir une notification. ; Je règle sur Hide.

FirstLogonAnimation Disable: Lors du 1er démarrage du PC, ou de la 1ere ouverture de session, des messages plein écran affichent: « Bonjour » « Nous préparons votre PC » « Vous pouvez trouver des applis sur Microsoft Store ». C’aurait été pas trop gênant si une fenêtre de Microsoft Edge ne s’ouvrait pas d’office une fois sur le bureau.

JPEGWallpapersQuality Default: Règle la qualité du papier peint du bureau; Je n’ai pas de préférence, j’utilise Bing Wall Paper donc je laisse l’option par défaut qui altère de façon invisible l’image choisie pour ne pas grever la vitesse d’affichage.

TaskManagerWindow Expanded: Le gestionnaire des tâches s’ouvre sur une vue simplifiée mais je préfère la vue détaillée bien sûr! Je règle sur Expanded.

RestartNotification Show: A voir au cas par cas mais j’aime assez savoir que je devrais redémarrer mon PC lorsqu’une mise à jour le requiert. Car avant de procéder je préfère regarder sur Internet ce que m’apporte cet MAJ et ses éventuels effets de bord.

ShortcutsSuffix Disable: Réglé en Disable, le nom des raccourcis placés sur le bureau n’auront plus l’inutile mention « Raccourci » dans leur nom. La flèche -bien utile pour savoir si tel élément est ou n’est pas un raccourci- Reste présente.

PrtScnippingTool Enable: Petite option/tips: Lorsqu’on appuie sur le bouton du clavier dédié: « Imp Ecran », ça lance l’app « Capture d’écran » au lieu de mettre en mémoire cette capture pour l’a coller; Par Ex. dans Paint.

AppsLanguageSwitch Disable: Pas très utile: Permet de choisir pour chaque App la langue d’affichage.

AeroShaking Disable: Secouer à la souris une fenêtre et les autres se minimisent: J’avoue n’avoir jamais utilisé cette fonction! Donc réglage sur Disable.

StorageSense Enable: Cette option active le nettoyage automatique des fichiers temporaires de Windows, par défaut lorsque l’espace disque devient faible. L’assistant de stockage Windows aurait pu porter un coup fatal aux nettoyeurs de fichiers temporaires en tout genre mais gros bémol il ne s’attaque qu’aux fichiers générés par Windows 10. Dans Paramètres Windows> Système> Stockage.

StorageSenseTempFiles Enable: Pareil que l’option précédente mais cette fois pour les Apps Windows (Les UWP Apps).

Hibernation Disable: Désactive le mode hibernation qui place les fichiers de reprise rapide de Windows dans le disque dur, plutôt qu’en mémoire vive comme le fait le mode veille. Et du coup contrairement au mode veille qui demande un minimum d’alimentation électrique pour maintenir les fichier de reprise en RAM, le mode hibernation permet d’éteindre complètement le PC (moyennant un temps de reprise plus long; le disque dur étant moins rapide que la RAM). Option grosse consommatrice d’espace disque et peu utile avec les PC portables modernes, très peu énergivores en mode veille (à part si vous comptez redémarrer le PC dans une semaine…).

TempFolder Default <Interactif>: Ne pas toucher; Déplace le dossier %TEMP% sur C:\Temp (Ce dossier spécial est par défaut sur C:\Users\nom_utilisateur\AppData\Local\Temp) . Le développeur de Sophia Script a voulu faire plaisir aux geeks qui souhaitent explorer plus facilement de dossier des fichier temporaires je pense.

Win32LongPathLimit Disable: Lorsqu’un fichier est placé dans un dossier au nom trop long (+ de 260 caractères y compris le nom dudit fichier) on ne peut plus le déplacer, le copier etc.. L’option Disable permet de lever cette limitation. 

BSoDStopError Enable: Le Blue Screen ou BSOD, ou encore Ecran bleu de la mort, s’affiche par défaut brièvement lors d’un gros problème matériel ou logiciel, mais Windows 10 a trop simplifié ce message; Il n’affiche pas le code d’erreur précis. Pour revenir à un BSOD plus détaillé façon Windows 7 je place l’option en Enable.

AdminApprovalMode Default: L’ouverture d’une application qui requiert des droits d’Administrateur (accès fichier système, contrôle à distance) affiche d’abord une fenêtre d’alerte demandant si on veut bien « autoriser cette application à apporter des modifications à cet appareil ». Je garde le mode par défaut car c’est une sécurité bienvenue, retravaillée depuis son apparition sous Windows Vista pour être moins intrusive.

MappedDrivesAppElevatedAccess Enable: Notion un peu ardues; Quand vous êtes identifié avec un compte utilisateur qui a des droits administrateur, il y a en fait deux sessions « virtuelles »: une session limitée et une session type Admin. Hors le mappage réseau n’est liée par défaut qu’à la session virtuelle limitée. L’option Enable rajoute la liaison à la session Admin. A cause de cette distinction j’ai mis du temps à comprendre pourquoi mon application de backup vers un lecteur réseau mappé ne trouvait pas ce mappage. Si l’option vous semble encore incompréhensible, réglez sur Enable ça vous évitera des brainstormings potentiels.

DeliveryOptimization Enable: Historiquement les mises à jour Windows sont délivrées par les serveurs de Microsoft, mais le service d’optimisation de livraison transforme nos PC en serveurs de mise à jour via le protocole Peer to Peer; Pratique: Si on a plusieurs PC et qu’un des PC est plus à jour, il délivrera de façon transparente les MAJ aux autres PC du réseau local. Attention que les mises à jour sont aussi délivrées via la liaison Internet aux ordinateurs de tout un chacun mais est désactivée en cas de connexion internet faible. C’est vrai que si vous avez déjà une connexion faiblarde (et pas d’autres PC chez vous) je dirais que par précaution il faudrait régler sur Disable.

WaitNetworkStartup Disable: En Enable, la session utilisateur ne s’ouvrira qu’une fois la connexion réseau établie; L’option Enable est à privilégier pour des PC en domaine, profil itinérant, contraints par une stratégie serveur, mais pas dans le cadre personnel et familial.

WindowsManageDefaultPrinter Disable: Je ne souhaite pas que Windows choisisse quelle imprimante -virtuelle ou pas- est déclarée par défaut.

WindowsFeatures Disable <Interactif>: Fonction particulière surtout par rapport à Win10 Initial Script setup car cela va ouvrir une fenêtre interactive dans laquelle on peut cocher les fonctionnalités Windows que l’on ne veut pas. Attention pas les « fonctionnalités facultatives », visibles dans Paramètres Windows> Applications> Fonctionnalités facultatives. Mais celles de l’ancien panneau de configuration disponible dans Paramètres Windows> Taper « panneau de configuration dans le champs de recherche », Puis « Programmes » et « Activer ou désactiver des fonctionnalités Windows »:

WindowsCapabilities Uninstall <Interactif>: Ouvre là aussi une fenêtre « interactive » depuis laquelle on peut désinstaller les « Fonctions facultatives » de Windows 10 (pas celles de l’ancien panneau de config comme l’option précédente). Option visibles dans Paramètres Windows> Applications> Applications et fonctionnalités et clic sur « Fonctions facultatives ». Sophia Script ne liste pas toutes les fonctions disponibles; Je ne sais pas pourquoi, à vérifier dans les prochaines versions!

UpdateMicrosoftProducts Enable: Les mises à jours pour les produits Microsoft (Ex: Pack office) seront aussi téléchargées et installées en plus des MAJ Windows.

PowerPlan High: C’est le mode de gestion d’alimentation; le mode High est le plus énergivore (luminosité, CPU, carte WIFI…) mais assure des performances plus élevées; Attention à voir au cas par cas surtout avec un PC portable! Mais sur PC fixe c’est un réglage optimal.

LatestInstalled.NET Enable: Dans les programmes installés il y a des chances que vous ayez pléthore de version de Net Framework (surtout sur une vieille installation Windows). L’option Enable force les applications dépendantes à utiliser la toute dernière version de Net Framework installée, ce qui est préférable pour des raisons de sécurité. Les .net Framework sont prévues pour être rétro compatibles.

NetworkAdaptersSavePower Disable: Empêche Windows d’éteindre la carte réseau pour économiser l’énergie: L’option précédente Power Plan High, si mise en Enable, laisse aussi la carte réseau toujours active.

IPv6Component Disable: Désactive le protocole IPV6 sur le PC; De toute façon nous n’en sommes pas encore là et c’est toujours bon de désactiver un truc inutile sous Windows non? Tout le script Sophia Script consiste à grapiller en masse des microsecondes; tout est bon à prendre. Cette option vérifie si votre FAI supporte IPV6, si c’est le cas vous serez alerté et pourrez rechecker.

ImputMethod None: A ne pas toucher! Sinon vous allez vous retrouver avec un clavier reconnu par Windows comme un clavier English.

SetUserShellFolderLocation None <Interactif>: Ici aussi option délicate; Elle sert à déplacer les dossiers spéciaux Document, Images, Bureau etc… autre part. Si vous souhaitez créer un script entièrement automatique cette option n’est pas à régler sinon vous devrez interagir avec le script, qui vous demandera où placer les fichiers spéciaux utilisateur. Donc laissez sur None (non configuré).

 

WinPrtScrFolder Desktop: Petit réglage (un peu) utile: L’appuie sur les touches Windows + Imp Ecran sauvegarde la capture d’écran sur le bureau au lieu de l’a placer dans le dossier Image/Screenshot. 

RecommendedTroubleshooting None <Interactif>: Lorsque Windows détecte un problème, il lance l’utilitaire de résolution des problèmes. En « Default », un fenêtre vous demande si oui ou non vous souhaitez exécuter l’utilitaire. Cet outil a bien évolué (surtout par rapport à Windows 7 où il ne servait à rien du tout). Dans paramètres Windows> Mise à jour et sécurité> Résolution des problèmes.

FoldersLaunchSeparateProcess Enable: En fait quand vous ouvrez plusieurs fenêtres d’explorateur, c’est le même process qui s’en occupe; du coup si une fenêtre ne répond plus, les autres risquent aussi de faire pareil. L’option mise en « Enable » va créer pour chaque fenêtre un processus Explorer distinct; Par contre plus de temps CPU et mémoire pris évidemment. Je suis amené dans mon travail à connecter sur PC des disques durs détériorés; L’exploration de ce disques fait souvent planter l’explorateur, donc je mets sur Enable!

ReservedStorage Enable: Depuis Windows 10 version Mai 2019, Windows réserve de l’espace disque par sécurité -principalement- pour assurer qu’il aura assez d’espaces pour effectuer les mises à jour (se rappeler les Netbooks avec 32GO en SSD qui bloquaient niveau MAJ) . Dans Paramètres Windows> Système> Stockage et clic sur « Système et espace réservé ».

F1HelpPage Disable: A l’appuie sur le bouton F1 du clavier, l’aide Windows s’ouvre.. La dernière fois que j’ai utilisé cette fonction, c’est en cliquant par erreur sur F1, et l’avant dernière fois.. Ben pareil.

NumLock Enable: L’option Enable active le pavé numérique de façon à ce que lorsqu’on clique par ex. sur le chiffre 7, il sorte… bin le chiffre 7… Et non pas que le curseur se place au début du texte qu’on est en train de taper!

CapsLock None: L’ option mise en Enable est peut être utile à de rares personnes qui ne veulent taper que des caractères en majuscule.. J’en connait en comptabilité.

StickyShift Disable: La fonction Sticky Keys (touches rémanentes en FR) sert aux personnes diminuées qui ne peuvent pas appuyer en même temps sur deux ou trois boutons du clavier en même temps (ex: CTRL+ALT+SUPPR pour ouvrir le gestionnaire des tâches). Par défaut on l’active en appuyant rapidement 5 fois sur la touche SHIFT et j’ai déjà par mégarde activé sans le vouloir cette fonction. Je mets sur Disable.

AutoPlay Disable: A la connexion d’une clé USB ou autres volume de stockage, Windows lance automatiquement une action: Ouvrir la clé, lancer le Player , importer des documents multimédia, etc.. Selon les réglages configurés. Reconnu depuis des lustres comme une faille de sécurité je désactive. Dans Paramètres Windows> Périphériques> Exécution automatique.

ThumbnailCacheRemoval Disable: Windows garde en cache les miniatures des photos, vidéos, documents (s’ils sont compatibles comme par ex fichiers PDF) dans un dossier temporaire de façon à ne pas devoir recréer ces miniatures à chaque fois qu’on accède au dossier avec l’explorateur. Pour des raison de performance je désactive le nettoyage automatique de ce cache.

SaveRestartableApps Disable: Depuis Windows 10 20H1 (version Aout 2021) une nouvelle fonction est apparue pour faciliter la vie informatique… Mais pas la confidentialité: Les Apps qui n’ont pas été refermées à l’arrêt du PC se réouvrirons automatiquement. Donc je mets sur Disable.

NetworkDiscovery Enable: A voir pour chaque cas d’utilisation réseau (si on est en itinérance sur PC portable mieux vaut choisir Disable par sécurité). Active la découverte des dossiers réseaux et imprimantes partagées, mais aussi dans l’autre sens car les autres PC peuvent donc voir votre ordinateur sur le réseau et tenter d’y accéder.

ActiveHours Automatically: Solution de confort; Windows diagnostique automatiquement vos heures d’activités pour -à ces heures- ne pas installer de MAJ ni vous proposer de redémarrer le PC. Dans Paramètres Windows> Mise à jour et sécurité> Modifier les heures d’activité.

RestartDeviceAfterUpdate Disable: Par défaut lorsqu’une MAJ le requiert un compte à rebours s’affiche demandant de redémarrer le PC rapidement; On peut quand même repousser de quelques heures le reboot, mais c’est contraignant. Je mets sur Disable.

UninstallPCHealthCheck Décoché: App « Contrôle d’intégrité du PC » installée automatiquement par les MAJ; Ce programme vérifie l’état d’intégrité du PC sur divers points: Principalement sa compatibilité avec Windows 11, mais aussi si l’on est bien connecté sur un compte Microsoft. L’outil lance automatiquement un check des MAJ et les téléchargent, vérifie la « santé » de la batterie pour les PC portables, et l’espace restant sur le disque dur. Si besoin des conseils d’upgrade sont prodigués. Je règle sur  » Décoché » donc Sophia script ne le désinstallera pas.

InstallVCRedistx64 Coché: Pléthore de logiciels se basent sur Microsoft Visual C++ pour fonctionner; Il est bon alors de laisser la case cochée pour installer la toute dernière version; Sans doute plus stable et sécurisée!

Onglet WSL

WSL Décoché <Interactif>: Un onglet pour une seule option! Quand je vois ce que j’ai dû taper comme texte dans la section précédente, ça fait bizarre. Bref, WSL (Windows Subsystem for Linux) Installe la version de Linux que vous souhaitez: Debian, Ubuntu, etc.. en tant que machine virtuelle.  Mais il s’agit d’un environnement Linux en ligne de commande, utile à certains développeurs uniquement.

Onglet UWP Apps

UninstallUWPApps Coché <Interactif>: Attention fenêtre interactive (donc ne pas configurer si vous voulez un script automatique sans devoir interagir). Cette fenêtre présente les applications UWP (Plateforme Windows Universelle) installées et une coche en regard de chacune d’elle pour les désinstaller (ou pas). Cette option est sécurisée par l’adjonction dans son code d’exclusions d’apps vitales ou utiles pour le système.

UninstallUWPApps-For AllUser <Interactif>: Le script du dessus se présentera avec l’option « désinstaller pour tous les utilisateurs » coché par défaut.

RestoreUWPApps Décoché: Permet de réinstaller les UWP Apps: Attention; Seulement celles qui n’ont pas été désinstallées chez tous les utilisateurs Windows. (Cf options précédentes -ForAllUsers). Sinon rien ne se passera à l’écran.

HEIF Install: Le format HEIF (High Efficient Image Format) sera le successeur du JPEG: Plus léger de 50% pour la même qualité. Il gère aussi la transparence comme le format PNG. Le format WebP poussé par Google n’a pas réussi à s’imposer, mais là c’est différent car HEIF a été créé par le Motion Picture Group, agrée pour créer les formats multimédias mondiaux (il a créé les différentes versions des formats MPG). L’option en Enable installe la fonctionnalité de lecture des fichiers au format HEIF.

BackGround UWPApps Disable: Les UWP Applications sont susceptibles de tourner en arrière-plan (Ex: OneNote) Cela peut se révéler pratique, mais par soucis de performance je préfère les désactiver en lot. Pas d’inquiétude pour la désactivation de Windows Defender: Il tourne malgré tout en arrière-plan même avec l’option en Disable.

CheckUWPAppsUpdate Décoché: Vérifie l’existence de mises à jour pour les Apps Windows (UWP Apps). Je n’ai pas pu tester cette option; à charge de revanche lorsque mes Apps auront une MAJ de disponible. Je laisse décoché pour rendre plus rapide l’exécution du script.

Onglet Gaming

XboxGameBar Disable: La Game bar XBOX c’est tout un ensemble de Widgets dédiés aux joueurs: Capture d’écran, Widget performances, fenêtre chat pendant un jeu etc.. On peut appeler cet fonction en cliquant sur touche Windows + G en cours de jeu. Je mets Disable vu que je ne joue pas (plus).

XboxGameTips Disable: Si XboxGameBar est désactivé, les Astuces Xbox le seront aussi: Ce sont des encarts apparaissant les premières fois que l’on ouvre la Xbox Game Bar pour en présenter les fonctionnalités et astuces.

SetAppGraphicsPerformance Décoché <Interactif>: Si coché Sophia Script demandera le chemin des applications dont vous voulez régler les performances graphiques en mode maximal (casse le mode non interactif du script du coup). En pratique l’application choisie tournera sur le GPU dédié. Mais bon toujours inutile dans mon cas.

GPUScheduling Enabled: En Enabled, la carte graphique s’occupera elle-même de la gestion de sa VRAM (mémoire vive intégrée au GPU) ce qui décharge le CPU d’un lourd fardeau dans les jeux. Il faut au minimum Windows 10 version Mai 2020 et une carte graphique NVIDIA GTX1000 ou AMD 5600 ou leurs successeurs + pilote graphique récent. Sur PC portable en itinérance il vaut mieux ne pas activer cette option. Dans Paramètres Windows> Système> Affichage> Paramètres graphiques. 

Onglet Scheduled Tasks

CleanupTask None: Si réglé sur Register, Sophia Script créé une tâche planifiée tous les 30 jours qui supprime ces fichiers: Fichiers d’optimisation de livraison; Ancienne installation Windows; Pilotes anciens; Fichiers logs; Nettoyage Windows update; Windows defender. Pas besoin pour moi.

SoftwareDistributionTask None: Si réglé sur Register, Sophia Script créé une tâche planifiée qui supprime les fichiers du dossier C:\Windows\SotfWareDistribution tous les 90 jours. Ce dossier contient les mises à jour de Windows fraichement téléchargées pour ensuite mettre à jour le système, il contient aussi l’historiques de MAJs, ce qui fait que le supprimer amène Windows à revérifier « manuellement » les MAJs déjà installées et rallonge donc la recherche de mises à jour. Ces fichiers sont normalement supprimés après une MAJ. Pas besoin pour moi.

TempTask None: Si réglé sur Register, Sophia Script créé une tâche planifiée, exécutée tous les 60 jours, qui supprime les fichiers placés dans le répertoire TEMP (dans C:\Users\nom_utilisateur\AppData\Local\Temp). Ce répertoire est utilisé par les applications comme cache (Ex: stockage temporaire de photos en cours de modification). Pas besoin pour moi.

Onglet Defender & Security

NetworkProtection Enable: Appelée SmartScreen, C’est la protection axée Web: Pages Web malicieuse, téléchargements suspect. Basé sur la réputation donc une mégabase de données partagée de fichiers/services internet plutôt qu’un moteur antiviral. Dans Paramètres Windows> Mise à jour et Sécurité> Sécurité Windows> Contrôle des applications et du navigateur> Paramètres de protection fondés sur la réputation.

PUAppsDetection Enable: Fonction placée au même menu que la fonction précédente dans Windows; Les PUP (Potentially Unwanted Programs) seront détectés par leur « réputation » et bloqués en mode Enable.

DefenderSandbox Enable: En Enable; Windows Defender sera protégé des attaques visant à le contourner et le désactiver etc… En le faisant tourner dans une « SandBox ». Une SandBox est un peu comme un environnement virtuel light, isolé du système.

DismissMSAccount Coché: Si votre session utilisateur n’est pas une session type Microsoft connectée, vous aurez droit à une au fameux point d’exclamation accolé à l’icône de Windows Defender dans la zone de notification.

DissmissSmartScreenFilter Décoché: Idem que l’option précédente, mais pour le cas où la protection SmartScreen est désactivée. La protection SmartScreen est très efficace(cf. option Network Protection plus haut). Je règle donc en décoché.

AuditProcess Disable: En Enable le système créé un fichier d’événement à chaque exécution et arrêt d’un processus. C’est plutôt une option développeur. On essaie d’optimiser Windows donc je désactive.

CommandLineProcessAudit Disable: C’est comme l’option précédente mais pour les processus lancés en ligne de commande interactive (donc par l’utilisateur).

EventViewerCustomView Disable: Crée dans l’observateur d’événement une section pour consulter plus facilement les événements liés aux deux options précédentes; inutile vu que j’ai désactivé celles-ci (ou plus exactement pas activé).

PowerShellModulesLogging Disable: Lors du lancement d’un script PowerShell non interactif; Crée des entrées dans l’observateur d’événement. Réglé en Désactivé (Disable).

PowerShellScriptsLogging Disable: Lors du lancement d’un script PowerShell tapé par l’utilisateur; crée des entrées dans l’observateur d’événement. Réglé en Désactivé (Disable).

AppsSmartScreen Disable: Lorsque vous téléchargez un fichier exécutable, script ou autre fichier sensible, Windows Defender vous alerte sur son danger potentiel (si ce fichier n’a pas encore de réputation fiable). Etant un utilisateur averti je désactive l’option.

SaveZoneInformation Disable: Semblable à l’option précédente mais axée sur les fichiers en pièce jointe: depuis Outlook, Mail, ou tout autres programme de communication sur votre PC susceptible d’accueillir des P.J. .

WindowsScriptHost Enable: C’est une fonctionnalité de Windows qui permet d’exécuter des scripts écris en Javascript ou Visual Basic. Ceci est beaucoup utilisé pour propager des virus au travers de pièces jointes et de clés USB infectées. Si vous voulez switcher facilement entre l’état activé et désactive vous pouvez utiliser Syshardener https://www.novirusthanks.org/products/syshardener/. Je règle en Enable sur mon PC car j’utilise cette faculté de Windows; Mais pour la protection vous pourriez choisir de ne pas l’activer!

WindowsSandbox Enable: Windows 10 a son propre système de virtualisation (en Windows 10 version Entreprise ou Professionnel seulement) Il s’agit d’une fonctionnalité facultative. Cette machine virtuelle light peut permettre d’exécuter un programme dont vous n’êtes pas sûr, lancer un fichier suspect reçu par pièce jointe, etc.. Attention une fois fermée la machine virtuelle sera effacée: C’est vraiment un environnement de test simplifié, sans options. Option visible dans Paramètres Windows> Applications> Fonctionnalités facultatives>Plus de fonctionnalités Windows> Plateforme d’ordinateur virtuel.

Onglet ContextMenu

Je fais juste un résumé de cet onglet: D’ici vous pourrez choisir de créer ou supprimer des entrées dans la fenêtre contextuelles de Windows (fenêtre qui surgit lorsqu’on fait un clic droit sur un fichier par exemple). Si par exemple vous n’extrayez pas tous les jours des fichiers MSI (a tient un point commun avec moi!) vous pouvez régler l’option MSIExtractContext sur Hide. Cet onglet est surtout utile pour défricher le menu contextuel d’options inutilisées. 

Lancer le Script: Onglet Console Output

Après ce court aparté sur les fonctionnalités de Sophia Script 🙂 Il est temps de le lancer. L’onglet affiche le contenu du fichier de réponse « Sophia edited »: Ce fichier est créé automatiquement dans le même dossier que SophiaScriptWrapper, pour ne pas altérer le fichier Sophia.ps1 original qui lui reste inchangé. Sophia Edited peut alors être utilisé pour d’autres PC à configurer! Clic sur Run PowerShell et c’est parti: La fenêtre PowerShell s’ouvre avec une demande de confirmation: Taper O, puis laissez faire l’outil

Test sur un PC

Qu’est-ce que ça donne sur une machine fraichement installée? (En fait une machine virtuelle mais c’est pareil). Pour l’exemple j’ai réglé Sophia Script au maximum de ses possibilités de nettoyage: Les UWP Apps, Les fonctionnalités Facultatives et Optionnelles de Windows, et bien sûr les process et tâches planifiées de télémétrie sont supprimés.

Le temps de boot a bien baissé: Sur le graphique on voit que 10 secondes sont gagnées:

Et la tambouille de Windows en arrière-plan; visible depuis le gestionnaire des tâches a rétréci d’une petite vingtaine de process! L’impact mémoire et temps processeur n’est pas formidable par contre, mais la réduction des process a pour effet de rendre le système plus fluide à l’usage, plus stable et de réduire sa surface d’attaque.