AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1717635
Accepted
Albin
Albin
Asked: 2022-04-23 18:52:01 +0800 CST2022-04-23 18:52:01 +0800 CST 2022-04-23 18:52:01 +0800 CST

O histórico do Powershell não é mais persistente

  • 772

O Powershell parou de usar seu histórico persistente (Windows 11). Quando inicio uma nova instância do Powershell, os comandos de sessões anteriores não aparecem. Uma vez que eu uso comandos na nova sessão pela primeira vez, eles podem ser recuperados via F8/setas etc.

O que eu verifiquei/descobri até agora:

  • Verificando o arquivo de histórico C:\Users\[username]\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt, notei que os comandos não são salvos lá (mais).

  • Depois de inserir o comando (Get-PSReadLineOption).HistorySavePath(que retorna o caminho que mencionei no meu marcador anterior), tudo funciona bem novamente. Os comandos já salvos podem ser acessados ​​novamente via F8 etc. e novos comandos também são salvos no arquivo de histórico novamente.

  • Usar powershell -noexit Set-PSReadlineOption -HistorySavePath "C:\Users\admin\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt"para iniciar o powershell por meio de um script também funciona.

Não descobri exatamente por que o Powershell não está mais usando o arquivo de histórico por padrão. Pelo que me lembro, costumava funcionar antes e não sei por que parou de funcionar. Mas já faz algum tempo a julgar pelo conteúdo do arquivo de histórico.

Alguma idéia de como posso fazê-lo funcionar novamente sem uma solução alternativa que deve ser aplicada em cada inicialização (como digitar o "comando de salvamento de histórico" manualmente ou usar um "parâmetro para iniciá-lo")?

Adição 1:

Esses comandos fornecem a seguinte saída (nota: depois de usar qualquer um deles, o histórico funciona bem novamente, os comandos são salvos no histórico e o completo pode ser recuperado, exceto o primeiro comando que foi usado e "reativou" o histórico)

PS C:\> (Get-PSReadlineOption).HistorySaveStyle
SaveIncrementally
PS C:\> (Get-PSReadlineOption).HistoryNoDuplicates
True
PS C:\> (Get-PSReadlineOption).MaximumHistoryCount
4096

Adição 2:

$PROFILEme dá a seguinte saída (o comando não afeta o comportamento do histórico). Nota: os arquivos listados não existem nos diretórios indicados:

PS C:\> $PROFILE | Get-Member -Type NoteProperty


   TypeName: System.String

Name                   MemberType   Definition
----                   ----------   ----------
AllUsersAllHosts       NoteProperty string AllUsersAllHosts=C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1
AllUsersCurrentHost    NoteProperty string AllUsersCurrentHost=C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1
CurrentUserAllHosts    NoteProperty string CurrentUserAllHosts=C:\Users\username\Documents\WindowsPowerShell\profile.ps1
CurrentUserCurrentHost NoteProperty string CurrentUserCurrentHost=C:\Users\username\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Adição 3 - incluindo uma solução alternativa:

Parece que o módulo PSReadLine não está carregando. O uso Import-Module PSReadLinefaz com que o histórico funcione corretamente. Como solução alternativa, coloquei o comando no arquivo de perfil PS, para que ele seja executado automaticamente, o que corrige o problema, mas não a causa . Esta é provavelmente também a razão pela qual o histórico começa a funcionar quando um comando relacionado ao módulo é usado, suponho que o PowerShell carregue o módulo sozinho.

Adição 4:

O problema é específico do perfil do usuário. Em um novo perfil de usuário, o histórico funciona bem. Verificações padrão usando sfce dismnão chkdskproduziu nenhum resultado.

powershell windows-11
  • 1 1 respostas
  • 563 Views

1 respostas

  • Voted
  1. Best Answer
    Albin
    2022-05-03T02:37:42+08:002022-05-03T02:37:42+08:00

    Conforme observado na minha pergunta, como solução alternativa, uso atualmente Import-Module PSReadLineno meu arquivo de perfil, que acesso via notepad $PROFILE. Como o problema existe apenas para o meu perfil, isso funciona para o meu usuário sem afetar nenhum outro usuário.

    Embora isso não resolva o problema - por enquanto corrige todos os meus problemas atuais.

    • 0

relate perguntas

  • Como colocar string variável em array no powershell?

  • Powershell e regex: lista de arquivos "backup ao salvar" do Notepad ++. Editar nome, classificar por lastwritetime

  • Adicionando cor de primeiro plano ao perfil do Powershell?

  • Não é possível ativar o Microsoft Print to PDF depois de desativado

  • Posso fazer com que este script do PowerShell aceite vírgulas?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve