每天进步一点点:获取Windows系统的Up time
hive-105017·@oflyhigh·
0.000 HBD每天进步一点点:获取Windows系统的Up time
最近这些天总感觉电脑不太正常,要说哪里不正常吧,就是偶尔卡顿一下,Word文档图标时不时地丢失,excel表格文件时不时地丢了打开方式,于是我想该应用我的重启大法了。  (图源 :[pixabay](https://pixabay.com/)) 尽管玩电脑N多年,学了不计其数的各种技巧,不过我觉得最能解决问题的两大方法就是重启和重装,当然了重装太过于麻烦(尽管现在有重置),所以最常用的就是重启大法了。 不过在应用重启大法之前,我突然好奇这次我的电脑有多久没有关机了? 朋友们可能好奇我为啥不关机,我举个栗子:查找资料时我经常开及时上百个浏览器窗口,putty啥的我也经常开着十多个,总有那么三五个记事本开着记着一些乱七八糟的东西,微信电脑版、电报乱七八糟的聊天窗口也开着好几个...... 如果关机,那么这些东西都要关掉,下次再开机,好多东西都要重新来弄,严重影响效率。 所以我电脑经常不关机,最严重的也就是让它处于待机模式,随便一个按键或者动一下鼠标,它就会在一秒钟之内苏醒过来,陪我一起打拼。除了系统强制升级,我几乎很少关机或者重启电脑。 不过这样有个问题是,因为时间太长,我都忘记了距离距离上次开机过了多久,当然了,其实过多久并没有什么意义,不过一旦好奇心起来,那是如何也压不住的。 说到开机过了多久,Linux下一个常用命令就是`uptime`,执行这个命令后,就会显示Linux系统开机多久了。 那么Windows下有没有类似的命令或者方法呢?我试了一下`uptime`,直接提示我: >'uptime' is not recognized as an internal or external command, operable program or batch file. 擦,果然是想多了,不过去了解一下,其实知道Windows系统的uptime,方式还是挺多的,有好几种呢,下面我来和大家一一分享: # 任务管理器 使用任务管理器查看系统uptime,大概是最简单的方式了,在Windows任务栏空白处点击鼠标右键,选择“Task Manager”就可以调出任务管理器啦。 然后选择“Performance”标签,再选择“CPU”条目:  这时,CPU对应信息的左下角就会显示Up time啦,哇,我的电脑竟然已经24天没有关机啦。 # systeminfo 指令 除了在任务管理器中查看,我们还可以使用`systeminfo` 指令来查看系统的uptime。 使用Win+R,调出运行框,输入`cmd`并回车: > 然后在弹出的命令行窗口中输入:`systeminfo` 就会返回一系列和系统相关的信息,比如OS版本啦,CPU信息啦,内存信息啦,等等等等,以下是部分内容截图: > 注意这个:`System Boot Time: 12/15/2021, 10:37:56 PM` 这就是系统上次启动(包括重启操作)时间,当前时间减去这个时间,就是系统的在线时间/uptime啦。是不是很方便? # PowerShell 命令 网上找到一个PowerShell获取uptime的例子,在PowerShell中执行以下指令: >`(get-date) - (gcim Win32_OperatingSystem).LastBootUpTime` 让我来操作一下,使用Win+R,调出运行框,输入`powershell`并回车,调出powershell(或者直接搜索🔍中输入powershell找到程序并进入)。 然后输入上述指令,可见正确地返回了uptime: > 可是这有些知其然不知其所以然,所以进一步调查一下,首先`gcim`就是`Get-CimInstance`的简写或者说是别名: > 而它的作用就是通过提供类名返回类实例,文档中这样解释这个指令: >Gets the CIM instances of a class from a CIM server. 而`gcim Win32_OperatingSystem`就是获取`Win32_OperatingSystem`这个类实例,而这个实例有好多方法和属性,`LastBootUpTime`就是属性之一,表示: >Date and time the operating system was last restarted. 至于get-date一眼望去就是明面上的意思,获取当前系统时间日期喽,两者之差就是uptime喽。 不过通过查看`Win32_OperatingSystem`这个类,我发现另外一个属性`LocalDateTime`: > 所以我们应该也可以用下述指令来实现同样的功能: >`(gcim Win32_OperatingSystem).LocalDateTime - (gcim Win32_OperatingSystem).LastBootUpTime` 测试一下,和我想的完全一样: > 看来PowerShell也非常强大呀,以后有机会好好学习一下。 # Event Viewer (事件查看器) 现在我们已经知晓了好几种查看系统uptime的方法,不过还有一种方法是使用Event Viewer 。 在搜索🔍栏中输入`Event Viewer`前几个字符,就会调出Event Viewer程序:  然后选择,`WIndows Log`下`System`条目,再到右侧Action中选择`Filter Current Log`: > 再弹出的过滤对话框中的Event IDs中输入:6005(The event log service was started)  显示我最近几次开机时间,哈哈,果然都是大半个月才重启一次呢。  不过用6005总感觉怪怪的,我发觉12号ID更好一些呢: > # 总结 通过以上学习和测试,我们发现Windows下也有N多获取系统Uptime的方法呢。哎,不对,我不就是要重启一下电脑嘛?怎么弄这么多乱七八糟的东西呢。 不过学点东西总比虚度光阴的好,哎,也只能如此安慰自己啦。 # 相关链接 * [Get-CimInstance](https://docs.microsoft.com/en-us/powershell/module/cimcmdlets/get-ciminstance?view=powershell-7.2) * [Collecting Information About Computers](https://docs.microsoft.com/en-us/powershell/scripting/samples/collecting-information-about-computers?view=powershell-7.2) * [Win32_OperatingSystem class](https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-operatingsystem)
👍 justinashby, ethanlee, blues-wclouds, warmstill, nityabusiness100, joeyarnoldvn, hungryharish, icon123456, bpcvoter, liangfengyouren, tomiscurious, fatman, julesquirin, cnfund, steemindian, bilpcoinbot, btshuang, mygod, atma-yoga, hungryanu, lnakuma, oldman28, gerber, ezzy, exyle, steem.leo, mice-k, polish.hive, dcityrewards, hivecur, daan, dune69, iansart, shitsignals, jeanlucsr, felander, caladan, unconditionalove, pkocjan, reazuliqbal, bestboom, steem.services, nateaguila, swisswitness, dlike, engrave, bobby.madagascar, followjohngalt, determine, mfblack, milu-the-dog, triplea.bot, tiffin, maxuvd, ribary, curamax, dpend.active, sketching, jelly13, hivechat, dcrops, joele, ebargains, nicniezgrublem, firefuture, curly-q, dine77, janaveda, lestrange, dineroconopcion, cheer-up, planosdeunacasa, zonabitcoin, ubikalo, fsegredo1, kermosura, helengutier2, soufianechakrouf, jamzmie, yogacoach, julian2013, nextgen622, catwomanteresa, mamaloves, mermaidvampire, archisteem, dallas27, kimzwarch, travelgirl, davidke20, japanguide, ioioioioi, pet.society, good-karma, esteemapp, esteem.app, ecency, ecency.stats, steemegg, mia-cc, drwom, cnstm, rj-photo, voxmortis, vickyli, jywahaha, likuang007, lianjingmedia, bilpcoin.pay, rasalom, alexis555, joythewanderer, otom, steemaction, etherpunk, minloulou, dailyke20, abcallen, moleah, maiyude, hmayak, minminlou, nanosesame, roberto58, magicmonk, htliao, aafeng, jimhawkins, steemfriends, meanbees, patronpass, pladozero, bert0, memeteca, tresor, bnk, zerofive, chenlocus, dses, mangou007, gtpjfoodbank, dbfoodbank, cconn, gustavoadolfodca, kymio, yestermorrow, hyborian-strain, tvb, bboyady, starrouge, ahlawat, kabasakal, mrspointm, blockchaincat, bxt, dapeng, suhunter, steemcleaners, voter000, seikatsumkt, logic, hivewatchers, teachblogger, fredo77200, sasaadrian, sweetsssj, bilpcoinrecords, kggymlife, tagalong, alpha-omega, killerteesuk, penguinpablo, cryptonized, funnyman, alphacore, merlion, hungrybear, guysellars, bilpcoinbpc, onepercentbetter, winniex, lazy001, mao317, dengyanping888, fasiulung, lovelemon, blind-spot, allen.goout, annepink, yanhan, yubaibai6, azazqwe, uruiamme, itchyfeetdonica, photographercr, lovequeen, idx, deanliu, laoyao, midnightoil, xiaohui, oflyhigh, helene, ethansteem, lingfei, exec, abit, graceli, wanderwithtwo, jychbetter, philipmak, trafalgar, itinerantph, kattycrochet, rollsman1, sunflor, js3, tina1219, victory622, devosdevosi, logiczombie, passion-fruit, fortune-master, floatinglin, susanli3769, ace108, blogstats, rivalhw, cn-reader, bai123, noble-noah, steemik, nazomimatute1998, emma-emma, adm, kgsupport, lovefallen,