O Windows 8 relata tempo de atividade ERRADO (possivelmente tempo total de atividade de inicialização híbrida)

10

Uptime errado

O tempo de atividade mostrado na imagem é de 6 dias, 1 hora, 34 minutos e 22 segundos. Liguei este laptop há apenas 7 minutos.

Na verdade, acho que sim, o Windows 8 relata o tempo total de ativação no modo de inicialização híbrida. Como faço para obter o tempo real? Além disso, por que o Windows informa dessa maneira?

Existe alguma maneira de obter o tempo real de maneira GUI (para o meu amigo n00b)?


UPDATE: Desativei o Hybrid-Boot e reiniciei. Agora resulta o tempo de atividade correto. Além disso, fazer um desligamento completo com shutdown /s /t 0também funciona.

Um pouco mais de explicação , minha pergunta é: como obter o tempo de atividade real (tempo a partir do momento em que ligamos o sistema), mesmo que a inicialização híbrida esteja ativada? Possivelmente em estoque Windows sem qualquer programa externo, embora não seja necessário.


Alguma explicação para isso?

Akshat Mittal
fonte
1
Você pode esclarecer o que você quer dizer com "tempo real"? O que você fez exatamente 7 minutos atrás?
David Schwartz
Tempo real significa o tempo real de quando eu liguei o sistema. (Isso é o que eu fiz 7 min atrás, ligar o laptop!)
Akshat Mittal
8
A definição herdada de tempo de atividade é o tempo que o computador está executando desde que o kernel se inicializou. Como a inicialização híbrida é apenas um tipo especial de suspensão (anteriormente havia suspensão na RAM e no Hibernate), ela não conta como "desligada", porque a mesma instância do kernel do Windows é usada.
allquixotic
@ allquixotic True, é por isso que pensei que seria o tempo de inicialização do híbrido.
Akshat Mittal
Acho que você realmente não entendeu a pergunta. Quero perguntar como obter o tempo de atividade real, mesmo quando a inicialização híbrida estiver ativada. Estou atualizando a pergunta.
Akshat Mittal

Respostas:

5

Você deseja obter uma solução pronta para uso para descobrir o tempo de atividade da sua máquina desde o último desligamento híbrido / inicialização rápida, certo?

Você pode obter essas informações (conforme fornecido por @allquixotic) no EventLog usando o PowerShell assim:

PS c:\> Write-Host $("{0:c}" -f ((Get-Date)- (Get-EventLog -LogName system -Source "Microsoft-Windows-Power-Troubleshooter" -Newest 1).TimeGenerated))

Para incorporar o comando powershell em um script de shell do Windows, faça o seguinte:

c:\> powershell.exe -nologo -command Write-Host $('Time since last ''Fast Startup'': {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -Source \"Microsoft-Windows-Power-Troubleshooter\" -Newest 1).TimeGenerated))

Portanto, para que isso funcione imediatamente, você pode configurá-lo em uma variável de ambiente permanente como esta:

c:\> setx HardwareUptime "powershell.exe -nologo -command Write-Host $('Uptime since last ''Fast Startup'': {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -Source 'Microsoft-Windows-Power-Troubleshooter' -Newest 1).TimeGenerated))"

então, você pode fazê-lo funcionar, abrindo uma cmdjanela e fazendo:

c:\> %HardwareUpTime%

ATUALIZAR:

Acabei de descobrir hoje que o uso da entrada acima no log de eventos também levará em consideração o modo "Suspensão" ou suspensão, portanto, a execução %HardwareUpTime%informará o tempo decorrido desde que o PC retomou o modo de suspensão, se você permitir.

Portanto, aqui está:

setx HardwareUptime "powershell.exe -nologo -command Write-Host $('Uptime since hardware boot: {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -InstanceId 27 -Newest 1).TimeGenerated)); Write-Host $('Uptime since system resumed: {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -Source 'Microsoft-Windows-Power-Troubleshooter' -Newest 1).TimeGenerated));"

Modifiquei o comando um pouco para ser mais explícito e fornecer as duas informações:

  • Tempo decorrido desde a inicialização do Windows (após um desligamento híbrido, desligamento total ou reinicialização simples ou hibernação).

  • Tempo decorrido desde que o Windows retomou a execução (após retornar do modo de suspensão).

OBSERVAÇÃO: Se o sistema não tiver sido interrompido, os dois horários serão os mesmos.

asm00
fonte
Isso me parece uma boa solução.
Akshat Mittal
4

Retirado daqui :

Verifique o log de eventos do Windows.

  1. Pressione Windows Key+r

  2. Digite na caixa, %windir%\system32\eventvwr.msc /s

  3. Clique em "Criar exibição personalizada ..." no lado direito.

  4. Defina as configurações assim: solucionador de problemas de energia

  5. Clique OK

  6. Quando solicitado, atribua um nome à exibição personalizada (pode ser o que você quiser)

  7. Ele exibirá a lista de tempos de retomada

allquixotic
fonte
Ok, é legal. É um pouco o que eu quero. E se eu for um n00b ?? Não é apenas adequado. Além disso, resulta no último tempo de retomada , pelo tempo de atividade necessário menos o tempo atual. Existe algum método direto para o tempo de atividade, talvez na linha de comando? Estou votando, mas não estou aceitando.
Akshat Mittal
Não existe uma solução compactada para este AFAIK. Você teria que escrever um programa. Talvez eu vou ....
allquixotic
Ok, vou tentar mais tarde, talvez.
Akshat Mittal
1

Você deve desativar o Hybrid-Boot e reiniciar. Ele deve exibir o tempo de atividade correto. Além disso, fazer um desligamento completo com shutdown /s /t 0também funciona.

Kruug
fonte
Este é exatamente o que eu escrevi em Atualização
Akshat Mittal
@AkshatMittal Sim, é, mas achei que você gostaria de aceitar uma resposta :)
Kruug
Não. -_- A pergunta é: "Como obter o tempo de atividade real no formulário da GUI?"
Akshat Mittal
Bem, primeiro você teria que desativar o seu funcionamento, Hybrid-Bootpois o tempo de atividade começa a contar a partir do momento em que o kernel foi inicializado. Essa é a única maneira.
Kruug
A única maneira, certo?
Akshat Mittal
0

isso também acontece na versão mais antiga (XP, Vista, 7) quando você usa hibernation. O tempo é redefinido apenas quando você faz um full boot, mas a inicialização rápida do Win8 não é mais uma inicialização completa. É uma combinação de desconectar o usuário + Hibernação.

magicandre1981
fonte