Πώς να αποκτήσετε το ιστορικό εντολών του PowerShell στα Windows 10

Το PowerShell στα Windows 10 μπορεί να σας δώσει ένα ιστορικό για κάθε εντολή που έχετε εκτελέσει στην τρέχουσα περίοδο λειτουργίας, ωστόσο, για πολλούς χρήστες αυτό δεν είναι αρκετό. Χρειάζονται ένα ιστορικό εντολών που εκτελούνται σε συνεδρίες. Εάν χρειάζεται να λάβετε το ιστορικό εντολών του PowerShell και το ιστορικό για την τρέχουσα περίοδο λειτουργίας από μόνο του δεν κάνει το κόλπο, υπάρχει ένα σενάριο και ένα αρχείο καταγραφής που μπορούν να σας βοηθήσουν.

Ιστορικό εντολών Τρέχουσα περίοδος λειτουργίας

Εάν εκτελείτε το PowerShell 5, μπορείτε να λάβετε το ιστορικό εντολών για την τρέχουσα περίοδο λειτουργίας εκτελώντας την ακόλουθη εντολή.

Get-History

Από προεπιλογή, το PowerShell μπορεί να αποθηκεύσει έως και 50 εντολές, αλλά μπορείτε να το αλλάξετε για να αποθηκεύσετε περισσότερες. Ανοίξτε το PowerShell και κάντε δεξί κλικ στη γραμμή τίτλου. Από το μενού περιβάλλοντος, μεταβείτε στις Ιδιότητες. Στο παράθυρο Ιδιότητες, μεταβείτε στην καρτέλα Επιλογές. Θα δείτε μια ενότητα Ιστορικό εντολών όπου η προεπιλογή είναι 50. Αλλάξτε την σε υψηλότερη τιμή.

  Πώς η Alexa ακούει τα Wake Words

Αρχείο καταγραφής ιστορικού PowerShell

Για να δείτε το αρχείο καταγραφής ιστορικού, πρέπει πρώτα να εγκαταστήσετε τη λειτουργική μονάδα PSReadLine με την ακόλουθη εντολή.

Install-Module PSReadLine

Στη συνέχεια, εκτελέστε την ακόλουθη εντολή και θα επιστρέψει μια θέση αρχείου. Το αρχείο σε αυτήν τη θέση θα σας δώσει ένα πλήρες ιστορικό για κάθε εντολή που έχετε εκτελέσει στο PowerShell.

(Get-PSReadlineOption).HistorySavePath

Ιστορικό εντολών PowerShell Cross-Session

Αυτή είναι λίγο μακρά διαδικασία αλλά αξίζει τον κόπο. Αυτή η λύση προέρχεται από Intel. Αρχικά ανοίξτε την ακόλουθη τοποθεσία και ελέγξτε εάν υπάρχει ένα αρχείο με το όνομα Microsoft.PowerShell_profile.ps1 σε αυτήν τη θέση.

C:Users<username>DocumentsWindowsPowerShell

Εάν δεν υπάρχει αρχείο εκεί, ανοίξτε το PowerShell και εκτελέστε την ακόλουθη εντολή. Θα ανοίξει το αρχείο του προφίλ σας στο Σημειωματάριο, αλλά αυτό το αρχείο δεν υπάρχει και το PowerShell θα σας πει πολλά και θα σας ρωτήσει αν θέλετε να το δημιουργήσετε. Αφήστε το να δημιουργήσει το αρχείο.

notepad $Profile

Κλείστε το αρχείο του σημειωματάριου που ανοίγει. Στο PowerShell, εκτελέστε αυτήν την εντολή για να βεβαιωθείτε ότι εκτελείτε το PowerShell 5.

$PSVersionTable.PSVersion

Στη συνέχεια, ορίστε την πολιτική εκτέλεσής σας σε RemoteSigned με την ακόλουθη εντολή.

set-executionpolicy remotesigned

Στη συνέχεια, πρέπει να εγκαταστήσετε το PsUrl και PSReadline ενότητες. Μπορείτε να τα εγκαταστήσετε με την ακόλουθη εντολή, ωστόσο, εάν λάβετε κάποιο σφάλμα, απλώς εγκαταστήστε τα με μη αυτόματο τρόπο με τη διαδικασία που περιγράφεται στις συνδεδεμένες σελίδες ή δοκιμάστε να προσθέσετε το χώρο αποθήκευσης ως αξιόπιστο αποθετήριο και στη συνέχεια να εκτελέσετε ξανά την εντολή.

install-module PsUrl
install-module PSReadline

Τώρα που έχουν εγκατασταθεί αυτές οι μονάδες, ανοίξτε αυτό το αρχείο.

C:Users<username>DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1

Επικολλήστε τα παρακάτω μέσα σε αυτό το αρχείο και αποθηκεύστε το.

$HistoryFilePath = Join-Path ([Environment]::GetFolderPath('UserProfile')) .ps_history
Register-EngineEvent PowerShell.Exiting -Action { Get-History | Export-Clixml $HistoryFilePath } | out-null
if (Test-path $HistoryFilePath) { Import-Clixml $HistoryFilePath | Add-History }
# if you don't already have this configured...
Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward

Για να δείτε το ιστορικό εντολών στο PowerShell, πρέπει να εκτελέσετε την εντολή Get-History, ωστόσο υπάρχει ένα πολύ κρίσιμο βήμα για να βεβαιωθείτε ότι το ιστορικό σας έχει αποθηκευτεί. ΔΕΝ ΜΠΟΡΕΙΤΕ να κλείσετε το PowerShell κάνοντας κλικ στο κουμπί κλεισίματος. Αντίθετα, πρέπει πάντα να το κλείνεις με την εντολή exit.

  Πώς να ρυθμίσετε και να χρησιμοποιήσετε ένα iPhone X, iPhone XR, iPhone XS ή iPhone XS Max

Μπορείτε να χρησιμοποιήσετε τα πλήκτρα βέλους Πάνω και Κάτω για να κάνετε εναλλαγή στις προηγούμενες εντολές.