PowerShell - Historique des commandes et informations confidentielles
Pour me soutenir, vous pouvez vous abonner à la chaîne, partager et liker les vidéos, désactiver votre bloqueur de pub ou encore faire un don. Merci!
Bonjour, Powershell possède un historique, même plusieurs, les commandes que vous exécutez peuvent contenir des informations confidentielles et rester dans cet historique.
Il y a 3 historiques :
- L’historique de Powershell (dans le Shell courant Get-History)
- L’historique du module PSReadLine (stocké par défaut dans un fichier)
- Le cache de la console Powershell (le rappel de commande avec les flèches ou F8)
Voici quelques démonstrations et commandes permettant de soit supprimer ces historiques ou d’y supprimer les informations sensibles.
# Vérifier les comportementsConvertTo-SecureString 'titi' -AsPlainText -ForceGet-Credential -Credential Guillaume
# Affichage de l'historique du shell courantGet-History# On note que l'historique du shell courant conserve les commandes
# Affichage de l'historique de PSReadLineGet-Content (Get-PSReadLineOption).HistorySavePath# L'historique de PSReadLine supprime la commande ConvertTo-SecureString mais laisse l'identifiant
# Effacer les historiques# Effacer l’historique PowershellClear-History
# Effacer l'historique du cache de la console (le rappel de commande avec les flèches ou F8)[Microsoft.PowerShell.PSConsoleReadLine]::ClearHistory()# Alt + F7 permet de faire la même chose
# Supprimer l'historique PSReadLineRemove-Item -Path (Get-PSReadLineOption).HistorySavePath
# Désactiver l'historique PSReadLineSet-PSReadlineOption -HistorySaveStyle SaveNothing
# Supprimer uniquement les informations confidentielles# Supprimer des informations confidentielles de l'historique Powershell# Effacer une partie de l’historique (indiquer un Array de valeurs pour supprimer les lignes correspondantes)Clear-History -CommandLine *SecureString*, *credential*
# Effacer une partie de l’historique PSReadLine (indiquer les valeurs séparées par un | pour supprimer les lignes correspondantes)$HistoryPath = (Get-PSReadLineOption).HistorySavePath(Get-Content $HistoryPath ).where({$_ -notmatch 'credential|sensible'}) | Set-Content $HistoryPath
Compléter votre lecture avec les articles suivants :
Améliorer l’ergonomie de Powershell en ligne de commande grâce à PSReadLine
Powershell - Jouer avec l’historique des commandes
Liens en relation
Powershell - Tester la connectivité réseau et l'accessibilité aux ports
Tester la connectivité réseau et l'accessibilité aux ports avec PowershellPowershell - Afficher les connections réseau (équivalent de netstat)
Afficher les connections réseau (ports en écoute, connections actives...)Powershell - Tester la résolution de nom (équivalent de nslookup)
Commandes Powershell permettant de tester la résolution de nom (équivalent de nslookup)Powershell - Afficher et gérer la configuration DNS des interfaces réseau
Commandes Powershell permettant d'afficher et de gérer la configuration DNS des interfaces réseauPowershell - Gérer la configuration IP des interfaces réseau
Commandes Powershell permettant d'afficher et de modifier la configuration IP des interfaces réseauPowershell - Gérer l'état et la configuration des interfaces réseau
Commandes Powershell permettant d'afficher et de modifier l'état et la configuration des interfaces réseau (désactiver l'IPv6, activer/désactiver une interface)
Suivez-moi sur
Soutenez-moi
Contenu récent
Powershell - Tester la connectivité réseau et l'accessibilité aux ports
Powershell - Afficher les connections réseau (équivalent de netstat)
Powershell - Tester la résolution de nom (équivalent de nslookup)
Powershell - Afficher et gérer la configuration DNS des interfaces réseau
Powershell - Gérer la configuration IP des interfaces réseau
Powershell - Gérer l'état et la configuration des interfaces réseau
Powershell et le left hand side
Powershell - Gérer les disques, les partitions et les volumes
Powershell - Gérer les points de restauration système sous Windows