- - วิธีรับประวัติคำสั่ง PowerShell บน Windows 10

วิธีการรับประวัติคำสั่ง PowerShell บน Windows 10

PowerShell บน Windows 10 สามารถให้ประวัติคุณได้จากทุกคำสั่งที่คุณดำเนินการในเซสชันปัจจุบันอย่างไรก็ตามสำหรับผู้ใช้หลายรายแล้วยังไม่เพียงพอ พวกเขาต้องการประวัติคำสั่งที่ดำเนินการข้ามเซสชัน หากคุณต้องการรับประวัติคำสั่ง PowerShell และประวัติสำหรับเซสชันปัจจุบันเพียงอย่างเดียวไม่ได้ทำเคล็ดลับมีสคริปต์และไฟล์บันทึกที่สามารถช่วยคุณได้

คำสั่งประวัติเซสชันปัจจุบัน

หากคุณใช้ PowerShell 5 คุณสามารถรับประวัติคำสั่งสำหรับเซสชันปัจจุบันได้โดยเรียกใช้คำสั่งต่อไปนี้

Get-History

ตามค่าเริ่มต้น PowerShell สามารถบันทึกคำสั่งได้มากถึง 50 คำสั่งแต่คุณสามารถเปลี่ยนมันเพื่อประหยัดมากขึ้น เปิด PowerShell และคลิกขวาที่แถบชื่อ จากเมนูบริบทให้ไปที่คุณสมบัติ ในหน้าต่างคุณสมบัติไปที่แท็บตัวเลือก คุณจะเห็นส่วนประวัติคำสั่งที่ค่าเริ่มต้นถูกตั้งไว้ที่ 50 เปลี่ยนเป็นค่าที่สูงขึ้น

บันทึกประวัติ PowerShell

ในการดูบันทึกประวัติคุณจะต้องติดตั้งโมดูล PSReadLine ก่อนด้วยคำสั่งต่อไปนี้

Install-Module PSReadLine

ถัดไปเรียกใช้คำสั่งต่อไปนี้และมันจะส่งคืนตำแหน่งไฟล์ ไฟล์ที่ตำแหน่งนี้จะให้ประวัติที่สมบูรณ์ของทุกคำสั่งที่คุณเรียกใช้ใน PowerShell

(Get-PSReadlineOption).HistorySavePath

ประวัติคำสั่ง PowerShell ข้ามเซสชัน

นี่เป็นกระบวนการที่ค่อนข้างยาว แต่ก็คุ้มค่า โซลูชันนี้มาจาก Intel ก่อนเปิดที่ตั้งต่อไปนี้และตรวจสอบว่ามีไฟล์ชื่อ Microsoft.PowerShell_profile.ps1 ที่ตำแหน่งนี้

C:Users<username>DocumentsWindowsPowerShell

หากไม่มีไฟล์ให้เปิด PowerShell แล้วเรียกใช้คำสั่งดังต่อไปนี้ มันจะเปิดไฟล์โปรไฟล์ของคุณใน Notepad แต่ไม่มีไฟล์นั้นอยู่และ 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 เสมอ

คุณสามารถใช้ปุ่มลูกศรขึ้นและลงเพื่อสลับไปมาตามคำสั่งก่อนหน้า

ความคิดเห็น