Full Transcript

Les applications du Microsoft Store Avec l’arrivée de Windows 8, Microsoft a implémenté une nouvelle catégorie d’applications, plus couramment nommées apps. Mais ce nouveau type d’applications ne vient pas tout seul : Microsoft inaugure un magasin d’applications permettant alors de télécharger et d’...

Les applications du Microsoft Store Avec l’arrivée de Windows 8, Microsoft a implémenté une nouvelle catégorie d’applications, plus couramment nommées apps. Mais ce nouveau type d’applications ne vient pas tout seul : Microsoft inaugure un magasin d’applications permettant alors de télécharger et d’installer de nouvelles apps. Avec Windows 10, Microsoft lance une plateforme universelle, nommée Universal Windows Platform (couramment nommée UWP), permettant ainsi à une seule et même app d’être exécutée aussi bien sur la version PC que mobile, ayant pourtant des architectures processeur très différentes (x86 pour le PC et ARM pour le mobile). Incluse nativement dans Windows 10 et Windows 11, l’application Microsoft Store est le magasin d’applications permettant ainsi d’installer sur l’ordinateur de nouvelles apps. Par défaut, Windows autorise l’installation de nouvelles apps uniquement depuis le Microsoft Store. L’ensemble des applications présentes dans ce magasin sont testées, validées et signées par l’éditeur de Redmond. Créer une tâche planifiée Pour créer une tâche planifiée, il ne suffit pas d’une seule cmdlet. Avant d’utiliser New- ScheduledTask, il faut préalablement créer l’ensemble des objets qui la composent. Une fois tous les objets créés et définis dans des variables, la cmdlet New-ScheduledTask peut alors être utilisée pour la création de la tâche planifiée. En voici une démonstration, étape par étape. Étape 1 : création de l’action Utilisez la cmdlet New-ScheduledTaskAction. Voici une présentation des paramètres : Paramètre Description -Argument Spécifie les arguments pour la ligne de commande. -Execute Indique le chemin d’accès au fichier exécutable. PS C:\Windows\system32> $action = New-ScheduledTaskAction -Execute "PowerShell.exe" - Argument "C:\Temp\myPowerShellScript.ps1" Créer une tâche planifiée Étape 2 : création du déclencheur Paramètre Description -At Spécifie une date et une heure pour le déclencheur de la tâche Utilisez la cmdlet New-ScheduledTaskTrigger. planifiée. -AtLogOn Indique que le déclencheur démarre la tâche planifiée quand une Voici une présentation des paramètres : session utilisateur s’ouvre. -AtStartup Indique que le déclencheur démarre la tâche planifiée quand le système démarre. -Daily Indique que le déclencheur démarre la tâche planifiée tous les jours de façon récurrente. PS C:\Windows\system32> $trigger = New- -DaysInterval Nombre de jours d’intervalle entre deux déclenchements de la ScheduledTaskTrigger -Daily -At 6am tâche planifiée. -DayOfWeek Désigne les jours où le Planificateur de tâches exécute la tâche planifiée. La valeur par défaut est : {DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday, DayOfWeek.Saturday, DayOfWeek.Sunday}. -Once Démarre la tâche planifiée une seule fois, à la date et à l’heure définies par le paramètre -At. -Weekly Indique que le déclencheur démarre la tâche planifiée toutes les semaines de façon récurrente. -WeeksInterval Nombre de semaines d’intervalle entre deux déclenchements de la tâche planifiée. Créer une tâche planifiée Étape 3 : création d’un objet qui contient tous les paramètres de tâche planifiée Utilisez la cmdlet New-ScheduledTaskSettingsSet. La commande peut s’exécuter sans paramètre. un exemple, où l’on indique au Planificateur de tâches de lancer la tâche planifiée uniquement si l’ordinateur est inactif depuis 5 minutes et attend 4 heures qu’une condition d’inactivité se produise : PS C:\Windows\system32> $settings = New-ScheduledTaskSettingsSet -RunOnlyIfIdle - IdleDuration 00:05:00 -IdleWaitTimeout 04:00:00 Les journaux d’événements Windows PowerShell possède deux cmdlets pour la consultation des journaux d’événements : Get-EventLog et Get- WinEvent. Get-EventLog permet de consulter uniquement les journaux d’événements classiques (Applications, Systèmes, etc.), Get-WinEvent offre un accès à l’ensemble des journaux d’événements générés par la technologie Windows Event Log (Crimson), introduite avec Windows Vista. Obtenir des informations sur les événements la liste des événements peut être très longue. Il convient donc de filtrer le résultat pour cibler ce que vous recherchez. Lors de l’exécution de la commande Get-Eventlog, celle-ci retourne six colonnes, qui peuvent toutes être filtrées. Tout d’abord, voici une explication de ces colonnes : Colonne Paramètre utilisé pour le Description filtrage Index -Index L’index est simplement un numéro associé à l’événement qui s’incrémente automatiquement à chaque nouvelle entrée. TimeGenerated -After Date et heure auxquelles l’événement a été généré. -Before EntryType -EntryType Définit la criticité de l’événement. Source -Source Désigne la source qui a généré l’événement, par exemple : Disk, Kernel-Power, GroupPolicy, WindowsUpdateClient, etc. InstanceID -InstanceId Identifie de manière unique une entrée d’événement pour une source d’événement donnée. Message -Message Message associé à l’événement. Il donne une information ou des détails sur l’erreur qui est survenue. Gérer les journaux d’événements Exemple : définir la taille maximale d’un journal d’événements Pour définir la taille maximale accordée à un journal d’événements, il faut utiliser le paramètre - MaximumSize, et définir la taille maximale en octets (Bytes) : PS C:\Windows\system32> Limit-EventLog -LogName System -MaximumSize 40MB La taille définie via -MaximumSize doit être comprise entre 64KB et 4GB. Dans le cas précédent, la taille du journal Système est limitée à 40 Mo. Importer une tâche planifiée Ce traitement se fait directement avec la cmdlet Register-ScheduledTask que vous avez vue lors de la création des tâches planifiées. Il faut utiliser le paramètre -XML auquel les informations nécessaires seront données. Paramètre Description -Password Désigne le mot de passe du compte utilisateur désigné par -User. -TaskName Spécifie le nom de la tâche planifiée. -TaskPath Indique le chemin d’accès au dossier de la tâche planifiée dans le Planificateur de tâches. "\" représente le dossier racine. -User Spécifie un compte utilisateur sous lequel la tâche planifiée s’exécutera. -XML Spécifie la chaîne de caractères au format XML qui contient une définition de la tâche planifiée. Exploiter les points de restauration Si nous venons de voir comment activer et désactiver la fonctionnalité de protection système au sein de Windows, les cmdlets suivantes vont vous permettre de lister l’ensemble des points de restauration déjà créés, mais aussi d’en créer de nouveaux. Enfin, une fois le point de restauration choisi, une cmdlet dédiée permet de lancer la procédure de restauration. a. Obtenir les points de restauration Get-ComputerRestorePoint permet de connaître l’ensemble des points de restauration créés. Le résultat de la commande fournit des détails pour chacun des points de restauration enregistrés sur le poste de travail. Si rien n’est retourné, c’est qu’aucun point de restauration n’est créé. Exploiter les points de restauration a. Obtenir les points de restauration Paramètre Description -LastStatus Obtient l’état de la dernière opération de restauration du système. -RestorePoint Obtient les points de restauration portant les numéros de séquence spécifiés. Exemple : obtenir la liste des points de restauration créés PS C:\Windows\system32> Get-ComputerRestorePoint | Select-Object CreationTime,Description,SequenceNumber CreationTime Description SequenceNumber ------------ ----------- -------------- 08/01/2014 22:47:08 Installé Philips SPC 900NC P... 45 28/01/2014 13:42:54 Windows Update 46 Les cmdlets dédiées à la navigation Get-Content Get-Content permet de récupérer le contenu d’un objet. Même si ce dernier est un fichier binaire, Get-Content s’adapte et retourne un résultat. Voici un exemple avec le fichier hosts : PS C:\Windows\system32> Get-Content C:\Windows\System32\drivers\etc\hosts Set-Content À l’inverse de Get-Content, Set-Content permet d’écrire ou de remplacer des données dans un objet. Voici un exemple tout simple, où Set-Content remplit un fichier texte avec la chaîne de caractères (valeur) qui a été fournie : PS C:\Windows\system32> Set-Content -Path C:\Temp\LogFile.log -Value "Nouveau fichier de log" Les cmdlets dédiées à la navigation Remove-Item Remove-Item supprime des fichiers et/ou dossiers. La commande suivante supprime uniquement les fichiers d’extension.log présents dans le dossier spécifié par le paramètre -Path: PS C:\Windows\system32> Remove-Item -Path D:\Temp\*.log Pour supprimer le dossier, et toute son arborescence (sous-dossiers et fichiers), il suffit de spécifier le dossier à supprimer : PS C:\Windows\system32> Remove-Item -Path D:\Temp Introduction C’est à partir de la version 2.0 de Windows PowerShell que les manques sont comblés : un environnement d’écriture de script est développé par Microsoft, mais en plus l’interpréteur de commandes est installé par défaut avec Windows 7 et Windows Server 2008 R2. Conjointement avec le succès de Windows 7, aussi bien dans le domaine public que dans celui de l’entreprise, Windows PowerShell commence alors réellement son ascension. Au fur et à mesure des versions de Windows, Microsoft force encore son intégration au sein du système. Avec Windows 11, Windows PowerShell est la console par défaut dans l’application Terminal. Ainsi, lorsque vous effectuez un clic droit sur l’icône du menu Démarrer (raccourci- clavier [Windows] X), l’application Terminal est proposée et s’ouvre directement avec Windows PowerShell. La syntaxe de Windows PowerShell Au fur et à mesure des versions de Windows PowerShell, ce dernier a été agrémenté de nouvelles fonctionnalités : PowerShell Remoting (administration à distance), Windows PowerShell ISE et Script Debugging (permettant le débogage de script et l’exécution de ligne de commande pas à pas), Session Connectivity (établissement d’une session sur un poste distant), Help Update (mise à jour des documentations des commandes), Et également de nouveaux paramètres aux cmdlets déjà existantes. Ceci n’est qu’un aperçu de l’évolution de Windows PowerShell depuis la version 1.0. La syntaxe de Windows PowerShell Pour vous donner une idée des cmdlets possibles sur votre poste de travail, ouvrez une fenêtre Windows PowerShell et exécutez la ligne de commande suivante : PS C:\Windows\system32> Get-Command CommandType Name Version Source ----------- ---- ------- ------ Alias Add-AppPackage 2.0.1.0 Appx Alias Add-AppPackageVolume 2.0.1.0 Appx Alias Add-AppProvisionedPackage 3.0 Dism Alias Add-ProvisionedAppPackage 3.0 Dism Alias Add-ProvisionedAppSharedPackageContainer 3.0 Dism Alias Add-ProvisionedAppxPackage 3.0 Dism Alias Add-ProvisioningPackage 3.0 Provisioning Alias Add-TrustedProvisioningCertificate 3.0 Provisioning Alias Apply-WindowsUnattend 3.0 Dism Et pour en connaître le nombre, écrivez : PS C:\Windows\system32> (Get-Command).Count Les différentes versions de Windows PowerShell À ce jour, il existe sept versions majeures de Windows PowerShell. Voici un résumé de chacune de ces versions, et les principales nouveautés qu’elles apportent. 1. Version 1.0 Windows PowerShell apparaît dans sa version finale en 2006. Il est réalisé pour les systèmes d’exploitation Windows XP, Windows Vista et Windows Server 2003. Il est également intégré dans Windows Server 2008 sous la forme d’une fonctionnalité à installer. Cette première version permet déjà de gérer plusieurs types d’objets :.NET, COM, Active Directory, WMI... en plus des cmdlets de base pour la manipulation d’objets tels que des fichiers, clés de registre, etc. Les différentes versions de Windows PowerShell Version 2.0 La version 2.0 est intégrée à Windows 7 et Windows Server 2008 R2. Installé par défaut sur ces systèmes d’exploitation, Windows PowerShell est alors directement disponible en cliquant sur le bouton Démarrer, puis dans Tous les programmes, Accessoires, Windows PowerShell. Cette nouvelle version apporte un nombre conséquent de cmdlets, et des fonctionnalités non négligeables, comme l’administration des machines à distance (PowerShell Remoting). Mais ce n’est pas tout, car elle intègre également un environnement et un éditeur de script : Windows PowerShell Integrated Scripting Environment (ISE) qui manquait considérablement à la version 1.0. Windows PowerShell ISE apporte une plus grande facilité pour l’écriture de scripts, et des outils de développement comme le débogueur. Cette version commence donc à être intéressante d’un point de vue technique, mais également d’un point de vue scripting, grâce à l’éditeur de script. Connaître la version de PowerShell installée Étant donné les différentes versions de PowerShell existant à ce jour, et les nouveautés qu’elles apportent, il est important de connaître la version de Windows PowerShell qui est installée sur le poste de travail. Pour cela, une fois l’interface de Windows PowerShell ouverte, vous pouvez exécuter la ligne de commande suivante, à savoir $PSVersionTable qui retourne alors le contenu de la variable. Pour basculer Windows PowerShell sur une version antérieure, il faut appeler l’exécutable powershell.exe, spécifier le paramètre -version et mentionner le numéro de version souhaité: > powershell.exe -version 2.0 La protection du système Windows possède nativement une fonctionnalité de protection du système. Une fois cette dernière activée, celle-ci a pour but de créer des points de restauration de manière régulière, mais également lorsqu’un changement survient au niveau du système d’exploitation : installation de pilotes, mises à jour, etc. Créer un point de restauration peut se faire également manuellement par l’interface graphique de Windows, mais aussi par Windows PowerShell. Les cmdlets Windows PowerShell offrent également la possibilité de gérer cette fonctionnalité. Voici lesquelles : Checkpoint-Computer : permet de créer un point de restauration. Disable-ComputerRestore : désactive la fonctionnalité de protection système. Enable-ComputerRestore : active la fonctionnalité de protection système. Get-ComputerRestorePoint : récupère la liste des points de restauration enregistrés sur le poste de travail. Restore-Computer : permet de lancer une restauration système. Les applications du Microsoft Store Si une entreprise qui souhaite déployer une app (par exemple, une application métier qui a été développée en interne) ne peut se permettre d’attendre cette validation, il est possible d’installer des apps directement par l’intermédiaire de Windows PowerShell. Ce procédé est nommé SideLoading. Cependant, si vous souhaitez faire du SideLoading avec Windows 10 ou Windows 11, il est nécessaire de respecter certains prérequis techniques : Aucune clé de licence supplémentaire n’est nécessaire, que ce soit avec une édition Professionnel ou Entreprise de Windows. Les applications du Microsoft Store Activer l’une des deux stratégies de groupes suivantes en fonction de votre besoin : ouvrir l’éditeur de stratégie de groupe locale (gpedit.msc) et aller dans Configuration ordinateur - Modèles d’administration - Composants Windows _ Déploiment de package Appx. Activer alors la stratégie Autorise le développement d’application du Windows Store et leur installation depuis un environnement de développement intégré ou Autoriser l’installation des applications approuvées. Installer une app signée : l’application à installer doit être signée par une autorité de certification reconnue par les clients, ce qui signifie que le certificat ou la chaîne de certificat utilisé(e) pour signer l’app doit être présent(e) dans le magasin de certificats "Autorités de certification racines de confiance" de l’ordinateur local. Les applications du Microsoft Store Si vous êtes développeur, vous pouvez également activer directement le Mode développeur présent dans l’application Paramètre de Windows : Une fois le développement de l’application terminé, l’environnement de développement Visual Studio génère un package qui va créer un fichier avec pour extension.appx,.appxbundle ou encore.msix. Il s’agit alors de l’app signée avec le certificat qui aura été désigné. Créer une clé de registre Commençons par la création d’une nouvelle clé de registre avec New-Item PS C:\Windows\system32> New-Item HKCU:\Temp Hive: HKEY_CURRENT_USER Name Property ---- -------- Temp La clé de registre HKEY_CURRENT_USER\Temp est désormais créée. il n’est pas nécessaire d’être à l’intérieur du lecteur de données HKCU ou HKLM pour pouvoir manipuler des objets de la base de registre. Créer une valeur de registre Voyons maintenant comment créer une nouvelle valeur dans HKCU:\Temp. Une valeur dans la base de registre est constituée de trois éléments : d’un nom (nom de la valeur), d’un type (type de valeur), d’une donnée (données de la valeur). La création de valeurs dans le registre Windows se fait à l’aide de la cmdlet New-ItemProperty : PS C:\Windows\system32> New-ItemProperty -Path HKCU:\Temp -Name reg1 -Type String -Value 'Contoso’ Notez ici l’apparition du nom ItemProperty dans la cmdlet. Il désigne les propriétés d’un objet (en l’occurrence ici : les valeurs), là où l’objet (Item) est une clé de registre. Gérer les certificats avec Windows PowerShell La propriété FriendlyName donne le nom convivial du certificat, qui permet de l’identifier plus facilement. Néanmoins, le seul vrai identifiant d’un certificat est son empreinte numérique Thumbprint. Cet identifiant est un numéro unique créé par une fonction de hachage lors de la signature du certificat par l’autorité de certification. Là où il est possible d’avoir plusieurs certificats avec le même nom convivial, il est théoriquement impossible d’avoir deux certificats avec la même empreinte numérique. De ce fait, c’est le seul identifiant permettant de gérer les certificats avec Windows PowerShell. Notez également les propriétés NotBefore et NotAfter, qui désignent la période durant laquelle le certificat est valide. Ainsi, si la date du jour est comprise entre les valeurs des deux propriétés, alors votre certificat est toujours dans sa période de validité. Exporter des certificats Exporter un certificat avec une clé privée Export-Certificate exporte un certificat vers un fichier, mais la clé privée n’est pas incluse dans cette opération. Si vous souhaitez exporter la clé privée, il faut utiliser la cmdlet Export- PfxCertificate qui permet alors de créer un fichier au format Personal Information Echange (.pfx). Par défaut, cette commande exporte les propriétés étendues, et toute la chaîne de certificats associés. Un mot de passe est obligatoire pour protéger le certificat dans cette commande. Mot de passe qui sera à réutiliser lors de l’opération d’importation. Pour cela, il faut définir le mot de passe, et le donner au paramètre -Password lors de l’exécution de la commande. Importer des certificats L’importation de certificats se fait par l’intermédiaire de la cmdlet Import-Certificate. Voici un aperçu des paramètres disponibles pour cette cmdlet : Paramètre Description -CertStoreLocation Indique le magasin de certificats vers lequel le certificat est importé. -FilePath Spécifie le chemin d’accès au fichier de certificat à importer. Exemple : importer un certificat PS C:\Windows\system32> Import-Certificate -FilePath C:\Temp\myCertificate.cer -CertStoreLocation Cert:\LocalMachine\My Qu’est-ce qu’un lecteur Windows PowerShell ? Voici un tableau des lecteurs Windows PowerShell les plus importants : Nom Type Chemin racine C Système de fichiers C:\ Env Variables d’environnement HKCU Registre HKEY_CURRENT_USER HKLM Registre HKEY_LOCAL_MACHINE Et… il peut y en avoir d’autres ! En effet, les fournisseurs Windows PowerShell peuvent créer de nouveaux lecteurs à d’autres magasins de données. C’est le cas par exemple d’IIS (serveur web de Microsoft), que vous pouvez installer sur un poste de travail. Après avoir importé le module dédié, un nouveau lecteur Windows PowerShell sera alors créé et accessible (IIS:) Connaître les lecteurs Windows PowerShell accessibles Les accès aux lecteurs Windows PowerShell peuvent varier d’un poste à l’autre. Il existe une cmdlet permettant de lister ces accès : Get-PSDrive. Voici une démonstration sur un poste de travail : PS C:\Windows\system32> Get-PSDrive Name Used (GB) Free (GB) Provider Root ---- --------- --------- -------- ---- Alias Alias C 11,84 114,64 FileSystem C:\ Cert Certificate \ D 3,62 FileSystem D:\ Env Environment Function Function HKCU Registry HKEY_CURRENT_USER HKLM Registry HKEY_LOCAL_MACHINE Variable Variable WSMan WSMan X 386,40 13,59 FileSystem \\server01\D$ Les cmdlets dédiées à la navigation Get-ChildItem Voici un descriptif des informations retournées par la commande Get-ChildItem : Colonne Description Mode : Les attributs des objets : d Directory (répertoire) a Archive r Read-Only (lecture seule) h Hidden (objet caché) s System (objet système) LastWriteTime La date de dernière modification. Length La taille du fichier (en octets). Name Le nom de l’objet. Les différentes versions de Windows PowerShell Version 3.0 Version 4.0 La version 3.0 de Windows PowerShell est La version 4.0 de Windows PowerShell, livrée quant à elle intégrée par défaut dans avec Windows 8.1 et Windows Server 2012 R2, Windows 8 et Windows Server 2012. inclut de nouvelles cmdlets, mais améliore Microsoft a également à disposition les également celles déjà existantes en proposant packages pour pouvoir l’installer sur Windows davantage de paramètres. Cette version est 7, Windows Server 2008 et Windows Server également disponible pour les systèmes 2008 R2. d’exploitation suivants : Windows 7, Windows Server 2008 R2 et Windows Server 2012. Cette version apporte son lot de nouveautés : amélioration de l’administration des machines à distance, planification d’exécution, mise à jour de la documentation par Internet... et bien entendu de nouvelles cmdlets.

Use Quizgecko on...
Browser
Browser