Mon PC Windows...

Commandes PowerShell

 

Tout d'abord, sachez qu'il existe plusieurs versions de powershell. Avec un système compatible, les commandes powershell s'executent dans une fenêtre de commande Powershell (Démarrer>Executer>Powershell.exe) ou dans un script. Nous vous proposons ci dessous quelques commandes utiles, certaines nécessaitent d'utiliser le mode Administrateur (élévation de priviléges, executer en tant qu'Administrateur).

Sachez également qu'il existe une version multiplateforme de Powershell (Powershell Core). Celle-ci a été adaptée et comporte quelques différence avec Powershell natif sous Windows, elle peut être utilisée avec certaines versions de Linux et Mac OS.

Vérifier si vous pouvez exécutez des commandes et scripts

$PsVersionTable affiche la version de PowerShell installée sur l'ordinateur. Vous pouvez alors vous renseigner sur la compatibilité des scripts utilisés

Get-ExecutionPolicy affiche la stratégie d'execution des scripts powershell (Restricted, AllSigned, RemoteSigned, Unrestricted). Seuls les modes RemoteSigned et Unrestricted vous permettent d'executer tous les scripts et commandes (signés ou non) en local.
 *Pour modifier la stratégie et permettre aux scripts de s'executer correctement en local, utilisez Set-ExecutionPolicy RemoteSigned en mode Administrateur

Get-command affiche la liste des commandes disponibles

Get-module -listavailable affiche les modules actuellement disponibles dans Windows
> Les modules sont présents à l'emplacement défini par la variable d'environnement Windows PSModulePath
 *La commande Install-Module permet d'ajouter des modules téléchargés

 

Consulter des informations utiles

Informations sur le système d'exploitation
get-ciminstance win32_Operatingsystem | select-object caption,version,servicepackmajorversion,osarchitecture,csname,windowsdirectory,totalvisiblememorysize,serialnumber,muilanguages

Lister les démarrages et arrêts de l'ordinateur
Get-WinEvent -FilterHashTable @{LogName="System";ID=6006,6009} | select-object –property TimeCreated, Id,Message
Affiche les évenements d'arrêt (6006) redémarrage (6009) de l'ordinateur présents dans le journal de windows.
Si le résultat ne parrait pas cohérent, il se peut que la pile de l'ordinateur qui maintient l'heure soit à changer.

Consulter les scores et indice de performance de l'ordinateur
Get-WmiObject -Class Win32_WinSAT
Valeurs (Scores évalués 1.0 à 9.9 selon les versions de Windows) : CPUStore,D3DScore,DiskScore,GraphicsScore,MemoryScore
WinSPRLevel représente l'indice de performance (score minimum relevé)

Lister les emplacements d'un fichier dans une arborescence, affiche le chemin, la taille et la date de dernière modification
Get-childitem "Chemin" -recurse -filter "nomfichier.extension" | format-list Name, length, lastwritetime
Si vous recherchez dans le disque système en entier ("C:\") des erreurs d'accès refusés peuvent apparaitre, celles ci concernent les dossiers protégés. Notez également que le parcours de l'arborescence est plus complet avec des privilèges élevés,

 

Gérer les applications

Lister les applications et leur état
Get-AppxPackage -User Utilisateur
-User Utilisateur (optionnel) permet de consulter la liste des applications installées pour un utilisateur

Désinstaller une application
Get-AppxPackage -AllUsers NomApplication | Remove-AppxPackage
-AllUsers (optionnel) permet une désinstallation qui concerne tous les comptes déjà utilisés sur l'ordinateur

Réinstaller les applications pré installées avec Windows 10
Get-AppxPackage -AllUsers| Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

Voir Application par défaut pour les noms des principales applications installées avec Windows

 

Autres

Comparer les contenus de 2 dossiers 
$dossier1=get-childitem "chemindossier1" -recurse
$dossier2=get-childitem "chemindossier2" -recurse
Compare-Object $dossier1 $dossier2 -property Name, length | sort-object -property name
Affiche la liste des fichiers qui sont présents dans un dossier et absents de l'autre ainsi que ceux qui n'ont pas la même taille dans les 2 dossiers