powershell PowerShell的终了时にコマンド履歴を保存して开始时に复元

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell PowerShell的终了时にコマンド履歴を保存して开始时に复元相关的知识,希望对你有一定的参考价值。

# PowerShell終了時の処理を登録
Register-EngineEvent ([System.Management.Automation.PsEngineEvent]::Exiting) -Action {
    # historyが保存してあったら読み込む
    $savedHistories = @()
    if (Test-Path $historyFilePath) {
        $savedHistories = Import-Clixml $historyFilePath
    }
    $currentHistories = history
    # 現在のシェルのhistoryと保存してあるhistoryの差分を抽出
    $additions = Compare-Object $savedHistories $currentHistories -Property CommandLine | ? {
        $_.SideIndicator -eq "=>"
    } | % {$_.CommandLine}
    $newHistories = $currentHistories | ? {$additions -contains $_.CommandLine}
    # いい感じにソートしつつマージを行う
    $historiesToSave = ($savedHistories + $newHistories) | sort -Unique -Descending CommandLine | sort StartExecutionTime
    # historyを保存
    $historiesToSave | Export-Clixml $historyFilePath
    Write-Host "see ya!"
} | Out-Null

# historyの復元
if (Test-Path $YourHistoryXmlFilePath) {
    Import-Clixml $YourHistoryXmlFilePath | Add-History
}

以上是关于powershell PowerShell的终了时にコマンド履歴を保存して开始时に复元的主要内容,如果未能解决你的问题,请参考以下文章

在python脚本中运行powershell脚本,如何让python在运行时打印powershell输出

powershell PowerShell脚本,用于创建在计算机启动时运行choco升级的计划任务

powershell是啥

尝试使用 Powershell 对 LDAP 进行搜索时出错

在捆绑链执行结束时运行 PowerShell 脚本

当 PowerShell 脚本失败时,我都有哪些选择?