{"id":1658,"date":"2010-12-09T09:36:00","date_gmt":"2010-12-09T17:36:00","guid":{"rendered":"http:\/\/www.bhargavs.com\/index.php\/2010\/12\/09\/powershell-script-to-report-uptime\/"},"modified":"2010-12-09T09:36:00","modified_gmt":"2010-12-09T17:36:00","slug":"powershell-script-to-report-uptime","status":"publish","type":"post","link":"https:\/\/bhargavs.com\/index.php\/2010\/12\/09\/powershell-script-to-report-uptime\/","title":{"rendered":"PowerShell script to report uptime"},"content":{"rendered":"<p>UPDATED &#8211; Fixed issues reporting boottime. 3\/20\/2012<\/p>\n<p>I was reading Hey, Scripting Guy! article &ldquo;<a href=\"http:\/\/technet.microsoft.com\/en-us\/magazine\/2008.12.heyscriptingguy.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">Calculating Server Uptime<\/a>&rdquo; and decided to write a script that can do the same. While the article has very nice script that calculates uptime from event log, my script isn&rsquo;t fancy and simply calculates uptime since last reboot.<\/p>\n<p>The script can run on any computer with PowerShell 2.0 and will run against local computer or computers specified by list. If you chose to use list, create a text file with one computer name per line. The script header is self explanatory and provides details on how to run the script.<\/p>\n<p>You can download it here &ndash; <a href=\"http:\/\/cid-14adc5cf1e0cbccf.office-df.live.com\/self.aspx\/.Public\/PowerShell\/Get-UpTime.ps1\" target=\"_blank\" rel=\"noopener noreferrer\">Get-Uptime.ps1<\/a><\/p>\n<p>Here&rsquo;s the script:<\/p>\n<pre class=\"brush: ps\">#############################################################################\n# Get-Uptime.ps1\n# This script will report uptime of given computer since last reboot.\n# \n# Pre-Requisites: Requires PowerShell 2.0 and WMI access to target computers (admin access).\n#\n# Usage syntax:\n# For local computer where script is being run: .\\Get-Uptime.ps1.\n# For list of remote computers: .\\Get-Uptime.ps1 -ComputerList \"c:\\temp\\computerlist.txt\"\n#\n# Usage Examples:\n#\n# .\\Get-Uptime.ps1 -Computer ComputerName\n# .\\Get-Uptime.ps1 -ComputerList \"c:\\temp\\computerlist.txt\" | Export-Csv uptime-report.csv -NoTypeInformation\n#\n# Last Modified: 3\/20\/2012\n#\n# Created by \n# Bhargav Shukla\n# http:\/\/blogs.technet.com\/bshukla\n# http:\/\/www.bhargavs.com\n# \n# DISCLAIMER\n# ==========\n# THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE \n# RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.\n#############################################################################\n#Requires -Version 2.0\n\nparam \n(\n\t[Parameter(Position=0,ValuefromPipeline=$true)][string][alias(\"cn\")]$computer,\n\t[Parameter(Position=1,ValuefromPipeline=$false)][string]$computerlist\n)\n\nIf (-not ($computer -or $computerlist))\n{\n\t$computers = $Env:COMPUTERNAME\n}\n\nIf ($computer)\n{\n\t$computers = $computer\n}\n\nIf ($computerlist)\n{\n\t$computers = Get-Content $computerlist\n}\n\nforeach ($computer in $computers) \n{\n\t$Computerobj = \"\" | select ComputerName, Uptime, LastReboot\n\t$wmi = Get-WmiObject -ComputerName $computer -Query \"SELECT LastBootUpTime FROM Win32_OperatingSystem\"\n\t$now = Get-Date\n\t$boottime = $wmi.ConvertToDateTime($wmi.LastBootUpTime)\n\t$uptime = $now - $boottime\n\t$d =$uptime.days\n\t$h =$uptime.hours\n\t$m =$uptime.Minutes\n\t$s = $uptime.Seconds\n\t$Computerobj.ComputerName = $computer\n\t$Computerobj.Uptime = \"$d Days $h Hours $m Min $s Sec\"\n\t$Computerobj.LastReboot = $boottime\n\t$Computerobj\t\n}<\/pre>\n<p>Originally posted at http:\/\/blogs.technet.com\/bshukla<\/p>\n","protected":false},"excerpt":{"rendered":"<p>UPDATED &#8211; Fixed issues reporting boottime. 3\/20\/2012 I was reading Hey, Scripting Guy! article &ldquo;Calculating Server Uptime&rdquo; and decided to write a script that can do the same. While the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"pgc_sgb_lightbox_settings":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[19],"tags":[],"class_list":["post-1658","post","type-post","status-publish","format-standard","hentry","category-powershell"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PowerShell script to report uptime - Bhargav&#039;s IT Playground<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bhargavs.com\/index.php\/2010\/12\/09\/powershell-script-to-report-uptime\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PowerShell script to report uptime - Bhargav&#039;s IT Playground\" \/>\n<meta property=\"og:description\" content=\"UPDATED &#8211; Fixed issues reporting boottime. 3\/20\/2012 I was reading Hey, Scripting Guy! article &ldquo;Calculating Server Uptime&rdquo; and decided to write a script that can do the same. While the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bhargavs.com\/index.php\/2010\/12\/09\/powershell-script-to-report-uptime\/\" \/>\n<meta property=\"og:site_name\" content=\"Bhargav&#039;s IT Playground\" \/>\n<meta property=\"article:published_time\" content=\"2010-12-09T17:36:00+00:00\" \/>\n<meta name=\"author\" content=\"Bhargav\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bhargav\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bhargavs.com\\\/index.php\\\/2010\\\/12\\\/09\\\/powershell-script-to-report-uptime\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bhargavs.com\\\/index.php\\\/2010\\\/12\\\/09\\\/powershell-script-to-report-uptime\\\/\"},\"author\":{\"name\":\"Bhargav\",\"@id\":\"https:\\\/\\\/bhargavs.com\\\/#\\\/schema\\\/person\\\/28f6d8c9b29f3a879483d65fc2ab5e26\"},\"headline\":\"PowerShell script to report uptime\",\"datePublished\":\"2010-12-09T17:36:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bhargavs.com\\\/index.php\\\/2010\\\/12\\\/09\\\/powershell-script-to-report-uptime\\\/\"},\"wordCount\":132,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\\\/\\\/bhargavs.com\\\/#\\\/schema\\\/person\\\/28f6d8c9b29f3a879483d65fc2ab5e26\"},\"articleSection\":[\"PowerShell\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bhargavs.com\\\/index.php\\\/2010\\\/12\\\/09\\\/powershell-script-to-report-uptime\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bhargavs.com\\\/index.php\\\/2010\\\/12\\\/09\\\/powershell-script-to-report-uptime\\\/\",\"url\":\"https:\\\/\\\/bhargavs.com\\\/index.php\\\/2010\\\/12\\\/09\\\/powershell-script-to-report-uptime\\\/\",\"name\":\"PowerShell script to report uptime - Bhargav&#039;s IT Playground\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bhargavs.com\\\/#website\"},\"datePublished\":\"2010-12-09T17:36:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bhargavs.com\\\/index.php\\\/2010\\\/12\\\/09\\\/powershell-script-to-report-uptime\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bhargavs.com\\\/index.php\\\/2010\\\/12\\\/09\\\/powershell-script-to-report-uptime\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bhargavs.com\\\/index.php\\\/2010\\\/12\\\/09\\\/powershell-script-to-report-uptime\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bhargavs.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PowerShell script to report uptime\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bhargavs.com\\\/#website\",\"url\":\"https:\\\/\\\/bhargavs.com\\\/\",\"name\":\"Bhargav's IT Playground\",\"description\":\"Passion for Technology. Power of Collaboration.\",\"publisher\":{\"@id\":\"https:\\\/\\\/bhargavs.com\\\/#\\\/schema\\\/person\\\/28f6d8c9b29f3a879483d65fc2ab5e26\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bhargavs.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/bhargavs.com\\\/#\\\/schema\\\/person\\\/28f6d8c9b29f3a879483d65fc2ab5e26\",\"name\":\"Bhargav\",\"logo\":{\"@id\":\"https:\\\/\\\/bhargavs.com\\\/#\\\/schema\\\/person\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/bhargavs.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PowerShell script to report uptime - Bhargav&#039;s IT Playground","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bhargavs.com\/index.php\/2010\/12\/09\/powershell-script-to-report-uptime\/","og_locale":"en_US","og_type":"article","og_title":"PowerShell script to report uptime - Bhargav&#039;s IT Playground","og_description":"UPDATED &#8211; Fixed issues reporting boottime. 3\/20\/2012 I was reading Hey, Scripting Guy! article &ldquo;Calculating Server Uptime&rdquo; and decided to write a script that can do the same. While the [&hellip;]","og_url":"https:\/\/bhargavs.com\/index.php\/2010\/12\/09\/powershell-script-to-report-uptime\/","og_site_name":"Bhargav&#039;s IT Playground","article_published_time":"2010-12-09T17:36:00+00:00","author":"Bhargav","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Bhargav","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bhargavs.com\/index.php\/2010\/12\/09\/powershell-script-to-report-uptime\/#article","isPartOf":{"@id":"https:\/\/bhargavs.com\/index.php\/2010\/12\/09\/powershell-script-to-report-uptime\/"},"author":{"name":"Bhargav","@id":"https:\/\/bhargavs.com\/#\/schema\/person\/28f6d8c9b29f3a879483d65fc2ab5e26"},"headline":"PowerShell script to report uptime","datePublished":"2010-12-09T17:36:00+00:00","mainEntityOfPage":{"@id":"https:\/\/bhargavs.com\/index.php\/2010\/12\/09\/powershell-script-to-report-uptime\/"},"wordCount":132,"commentCount":4,"publisher":{"@id":"https:\/\/bhargavs.com\/#\/schema\/person\/28f6d8c9b29f3a879483d65fc2ab5e26"},"articleSection":["PowerShell"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bhargavs.com\/index.php\/2010\/12\/09\/powershell-script-to-report-uptime\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/bhargavs.com\/index.php\/2010\/12\/09\/powershell-script-to-report-uptime\/","url":"https:\/\/bhargavs.com\/index.php\/2010\/12\/09\/powershell-script-to-report-uptime\/","name":"PowerShell script to report uptime - Bhargav&#039;s IT Playground","isPartOf":{"@id":"https:\/\/bhargavs.com\/#website"},"datePublished":"2010-12-09T17:36:00+00:00","breadcrumb":{"@id":"https:\/\/bhargavs.com\/index.php\/2010\/12\/09\/powershell-script-to-report-uptime\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bhargavs.com\/index.php\/2010\/12\/09\/powershell-script-to-report-uptime\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/bhargavs.com\/index.php\/2010\/12\/09\/powershell-script-to-report-uptime\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bhargavs.com\/"},{"@type":"ListItem","position":2,"name":"PowerShell script to report uptime"}]},{"@type":"WebSite","@id":"https:\/\/bhargavs.com\/#website","url":"https:\/\/bhargavs.com\/","name":"Bhargav's IT Playground","description":"Passion for Technology. Power of Collaboration.","publisher":{"@id":"https:\/\/bhargavs.com\/#\/schema\/person\/28f6d8c9b29f3a879483d65fc2ab5e26"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bhargavs.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/bhargavs.com\/#\/schema\/person\/28f6d8c9b29f3a879483d65fc2ab5e26","name":"Bhargav","logo":{"@id":"https:\/\/bhargavs.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/bhargavs.com"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1673,"url":"https:\/\/bhargavs.com\/index.php\/2011\/10\/21\/powershell-script-to-edit-remote-registry\/","url_meta":{"origin":1658,"position":0},"title":"PowerShell script to edit remote registry","author":"Bhargav","date":"October 21, 2011","format":false,"excerpt":"Did you ever wanted to modify your registry or add a key\/value pair to registry? Wished there was a script to help you do that? Even better, wished it can run remotely without PowerShell WinRM listener configured on target server? I had custom script that would modify certain registry entry\u2026","rel":"","context":"In &quot;PowerShell&quot;","block_context":{"text":"PowerShell","link":"https:\/\/bhargavs.com\/index.php\/category\/microsoft\/powershell\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1650,"url":"https:\/\/bhargavs.com\/index.php\/2010\/03\/29\/script-to-enable-preview-pane-for-powershell-scripts\/","url_meta":{"origin":1658,"position":1},"title":"Script to enable preview pane for PowerShell scripts","author":"Bhargav","date":"March 29, 2010","format":false,"excerpt":"If you are running Windows 7, you probably know what preview pane is. And if you use PowerShell and create ps1 scripts, you may also wonder how can you enable preview for PowerShell scripts in Windows Explorer. Well, Nate Bruneau shared how to edit registry to enable preview for ps1\u2026","rel":"","context":"In &quot;PowerShell&quot;","block_context":{"text":"PowerShell","link":"https:\/\/bhargavs.com\/index.php\/category\/microsoft\/powershell\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1203,"url":"https:\/\/bhargavs.com\/index.php\/2015\/12\/23\/how-to-find-net-framework-version-using-powershell\/","url_meta":{"origin":1658,"position":2},"title":"How to find .NET Framework version using PowerShell","author":"Bhargav","date":"December 23, 2015","format":false,"excerpt":"Often times when I am getting ready to install Exchange 2016 or Exchange 2013, I look at pre-requisites and wonder if correct version of .NET Framework is already installed on the server or not. It certainly saves me time if it is already installed and depending on status of latest\u2026","rel":"","context":"In &quot;PowerShell&quot;","block_context":{"text":"PowerShell","link":"https:\/\/bhargavs.com\/index.php\/category\/microsoft\/powershell\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1661,"url":"https:\/\/bhargavs.com\/index.php\/2011\/04\/05\/using-powershell-to-look-up-uscf-member-info\/","url_meta":{"origin":1658,"position":3},"title":"Using PowerShell to look up USCF member info","author":"Bhargav","date":"April 5, 2011","format":false,"excerpt":"If you are one of the chess players who play rated USCF (United States Chess Federation) games, you may have used their look up tool to find someone\u2019s rating and other details, or may be your own after you completed a tournament. Being a PowerShell geek, I had to figure\u2026","rel":"","context":"In &quot;PowerShell&quot;","block_context":{"text":"PowerShell","link":"https:\/\/bhargavs.com\/index.php\/category\/microsoft\/powershell\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1632,"url":"https:\/\/bhargavs.com\/index.php\/2009\/08\/17\/exchange-2007-powershell-scripts\/","url_meta":{"origin":1658,"position":4},"title":"Exchange 2007 PowerShell Scripts \u2013 What would you like to script?","author":"Bhargav","date":"August 17, 2009","format":false,"excerpt":"I am always thinking about how can I script\/automate tasks I have to do repeatedly or I see others ask for. I would like to go a step beyond. I would like to ask you \u2013 the readers: If you would want to script something for your Exchange 2007 environment,\u2026","rel":"","context":"In &quot;Announcements&quot;","block_context":{"text":"Announcements","link":"https:\/\/bhargavs.com\/index.php\/category\/announcements\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":34526,"url":"https:\/\/bhargavs.com\/index.php\/2024\/01\/30\/clearing-microsoft-teams-cache-with-powershell\/","url_meta":{"origin":1658,"position":5},"title":"Clearing Microsoft Teams Cache with PowerShell","author":"Bhargav","date":"January 30, 2024","format":false,"excerpt":"Introduction I recently came across a need to clear Teams cache. While the task might be simple, I ended up spending a little more time to address the scenarios I can foresee so the PowerShell script is more useful that a single use case. In this blog post, we'll be\u2026","rel":"","context":"In &quot;General&quot;","block_context":{"text":"General","link":"https:\/\/bhargavs.com\/index.php\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_shortlink":"https:\/\/wp.me\/pkROc-qK","_links":{"self":[{"href":"https:\/\/bhargavs.com\/index.php\/wp-json\/wp\/v2\/posts\/1658","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bhargavs.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bhargavs.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bhargavs.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bhargavs.com\/index.php\/wp-json\/wp\/v2\/comments?post=1658"}],"version-history":[{"count":0,"href":"https:\/\/bhargavs.com\/index.php\/wp-json\/wp\/v2\/posts\/1658\/revisions"}],"wp:attachment":[{"href":"https:\/\/bhargavs.com\/index.php\/wp-json\/wp\/v2\/media?parent=1658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bhargavs.com\/index.php\/wp-json\/wp\/v2\/categories?post=1658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bhargavs.com\/index.php\/wp-json\/wp\/v2\/tags?post=1658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}