Accueil
» WINDOWS
»
PowerShell ne défile pas verticalement ? Corrigez le problème de retour arrière.
PowerShell ne défile pas verticalement ? Corrigez le problème de retour arrière.
Si PowerShell ne défile pas verticalement, modifiez le paramètre de défilement arrière dans l'application hébergeant l'interpréteur de commandes. Dans la console Windows PowerShell classique, augmentez la hauteur de la mémoire tampon d'écran. Dans Windows Terminal, augmentez la taille de l'historique du profil. Ces paramètres conservent les lignes de sortie ; l'historique des commandes de PowerShell, lui, ne les conserve pas. Si des lignes plus anciennes ont déjà été supprimées, relancez la commande ou capturez une transcription avant de la relancer.
Tout d'abord, identifiez ce qui ne défile pas.
PowerShell envoie sa sortie vers un hôte, tel que la console classique, le Terminal Windows, le terminal intégré de Visual Studio Code ou PowerShell ISE. L'hôte détermine le nombre de lignes de sortie affichées au-dessus de l'écran. Si une commande affiche moins de lignes que ce que la fenêtre peut contenir, rien ne s'affiche.
Testez avec une commande inoffensive qui imprime 100 lignes :
1..100 | ForEach-Object { "Line $_" }
Une fois le test terminé, cliquez dans la console, appuyez sur Échap pour annuler la sélection de texte, puis essayez la molette ou la barre de défilement de la souris. Si vous pouvez parcourir la sortie de test mais que les lignes les plus anciennes disparaissent rapidement, augmentez la valeur de la zone de défilement arrière. Si la molette ne fonctionne pas, vérifiez que le bon volet de terminal est actif et suivez les instructions de l'application que vous utilisez.
Corriger la console Windows PowerShell classique
Utilisez ces étapes pour une fenêtre Windows PowerShell distincte ouverte indépendamment, plutôt que pour un onglet PowerShell dans Windows Terminal :
Ouvrez Windows PowerShell et exécutez la commande de test ci-dessus.
Cliquez avec le bouton droit sur la barre de titre de la fenêtre et sélectionnez Propriétés .
Ouvrez l' onglet Mise en page et recherchez Taille du tampon d'écran .
Augmenter la hauteur . Par exemple, essayez 3000 lignes, puis sélectionnez OK .
Relancez le test et faites défiler vers le haut pour parcourir son résultat.
Le paramètre Hauteur de la console classique contrôle le nombre de lignes qui restent au-dessus de la fenêtre visible.
La hauteur correspond au nombre de lignes conservées dans la mémoire tampon de la console, et non à la hauteur de la fenêtre visible. Une valeur plus élevée permet de consulter plus de données. Choisissez une valeur plus élevée si vos commandes génèrent davantage de données et si le paramètre le permet. La console ne peut pas récupérer les lignes déjà affichées hors de sa mémoire tampon. Microsoft décrit le fonctionnement de l'affichage et du défilement de la mémoire tampon d'une fenêtre de console dans la documentation relative à la console Windows .
Augmenter la valeur de la barre de défilement dans le Terminal Windows
Si PowerShell est exécuté dans le Terminal Windows, la boîte de dialogue Propriétés de la console classique ne contient pas le paramètre recherché. Le Terminal conserve son propre historique de défilement pour chaque profil.
Ouvrir les paramètres du Terminal Windows .
Sélectionnez le profil que vous utilisez réellement, tel que Windows PowerShell , puis ouvrez Avancé .
Augmentez la taille de l'historique et enregistrez le paramètre. Essayez 20 000 lignes ; Microsoft indique une valeur par défaut de 9 001 et une valeur maximale de 32 767 .
La taille de l'historique du terminal définit le nombre de lignes conservées au-dessus de la vue actuelle.
Cette valeur détermine le nombre de lignes affichées au-dessus de la vue actuelle dans Terminal. Elle est liée au profil sélectionné ; par conséquent, modifiez également l’autre profil si vous passez de Windows PowerShell à PowerShell 7. Consultez les paramètres avancés du profil Windows Terminal de Microsoft pour plus de détails sur cette propriété.
Lire les longs textes page par page
La pagination est utile lorsqu'une commande renvoie de nombreux résultats et que vous souhaitez les lire au fur et à mesure de leur apparition. Elle ne modifie pas la limite de défilement. Transmettez la commande à Out-Host -Paging, par exemple :
Get-Process | Out-Host -Paging
La barre d'espace permet d'avancer d'une page, la touche Entrée d'avancer d'une ligne et la touche Q de quitter le mode pagination.
Appuyez sur la barre d'espace pour passer à la page suivante, sur Entrée pour la ligne suivante ou sur Q pour arrêter le défilement. Ce -Pagingparamètre n'est pas pris en charge par l'hôte PowerShell ISE. Microsoft documente le comportement et les touches associées dans la référence Windows PowerShell 5.1 Out-Host .
Enregistrer la sortie dans une transcription
Un enregistrement vous fournit un fichier texte à consulter après l'exécution d'une commande longue ou la fermeture de la console. Lancez-le avant d'exécuter la commande :
Start-Transcript
Un script de transcription enregistre les commandes et la sortie de la console jusqu'à l'exécution de Stop-Transcript.
Sous Windows, PowerShell enregistre la transcription par défaut dans votre dossier Documents et affiche le chemin d'accès au fichier au démarrage de l'enregistrement. Une fois terminé, exécutez :
Stop-Transcript
La transcription inclut les commandes saisies et les résultats affichés dans la console ; traitez-la donc comme un enregistrement en texte brut susceptible de contenir des informations sensibles. Vérifiez le fichier avant de le partager. Microsoft documente l’emplacement par défaut et le comportement de la transcription dans la documentation de référence de la commande Start-Transcript et explique comment arrêter l’enregistrement avec la commande Stop-Transcript .
Ne confondez pas la fonction de retour arrière avec l'historique des commandes.
Modifier $MaximumHistoryCountce paramètre n'augmente pas la longueur de l'affichage de PowerShell. Cette variable de préférence limite le nombre de commandes conservées par l'historique de session intégré pour consultation avec les outils d'historique ; elle ne prend pas en compte les lignes de sortie affichées dans le terminal. PowerShell possède également un historique distinct géré par PSReadLine. La documentation Microsoft relative à about_History explique cette différence.
Si le défilement reste impossible, vérifiez quelle application héberge le shell, appliquez le paramètre de retour arrière de cette application, puis relancez une commande générant suffisamment de données pour effectuer un test. Augmentez la taille du tampon pour les lignes suivantes ; utilisez une transcription lorsque vous avez besoin d'un enregistrement permanent.