PS Script to prompt for a computer name to obtain up time information


good morning , please excuse interruption.

i found particular script online when executed can tell me uptime of computer (from looks of it, works on computer run on)

is there way modify script can following:

  1. prompt me enter computer name
  2. display uptime of said computer entered

this script says need insert line computer names want for, me, info.

#############################################################################  # get-uptime.ps1  # script report uptime of given computer since last reboot.  #   # pre-requisites: requires powershell 2.0 , wmi access target computers (admin access).  #  # usage syntax:  # local computer script being run: .\get-uptime.ps1.  # list of remote computers: .\get-uptime.ps1 -computerlist "c:\temp\computerlist.txt"  #  # usage examples:  #  # .\get-uptime.ps1 -computer computername  # .\get-uptime.ps1 -computerlist "c:\temp\computerlist.txt" | export-csv uptime-report.csv -notypeinformation  #  # last modified: 3/20/2012  #  # created   # bhargav shukla  # http://blogs.technet.com/bshukla  # http://www.bhargavs.com  #   # disclaimer  # ==========  # code made available is, without warranty of kind. entire   # risk of use or results use of code remains user.  #############################################################################  #requires -version 2.0    param   (  	[parameter(position=0,valuefrompipeline=$true)][string][alias("cn")]$computer,  	[parameter(position=1,valuefrompipeline=$false)][string]$computerlist  )    if (-not ($computer -or $computerlist))  {  	$computers = $env:computername  }    if ($computer)  {  	$computers = $computer  }    if ($computerlist)  {  	$computers = get-content $computerlist  }    foreach ($computer in $computers)   {  	$computerobj = "" | select computername, uptime, lastreboot  	$wmi = get-wmiobject -computername $computer -query "select lastbootuptime win32_operatingsystem"  	$now = get-date  	$boottime = $wmi.converttodatetime($wmi.lastbootuptime)  	$uptime = $now - $boottime  	$d =$uptime.days  	$h =$uptime.hours  	$m =$uptime.minutes  	$s = $uptime.seconds  	$computerobj.computername = $computer  	$computerobj.uptime = "$d days $h hours $m min $s sec"  	$computerobj.lastreboot = $boottime  	$computerobj	  }

i think understand instead of parameter reading computer list should remove , use calculated properties param?

no, calculated property output. here's quick example:

$computerlist = read-host 'enter computer name'  foreach ($computer in $computerlist) {      get-wmiobject win32_operatingsystem -computername $computer |         select @{n='computername';e={$computer}},                @{n='lastbootuptime';e={[system.management.managementdatetimeconverter]::todatetime($_.lastbootuptime)}},                @{n='uptime';e={(get-date) - ([system.management.managementdatetimeconverter]::todatetime($_.lastbootuptime))}} }


don't retire technet! - (don't give yet - 13,225+ strong , growing)



Windows Server  >  Windows PowerShell



Comments

Popular posts from this blog

Group Policy Event ID 1058 Error Code 1326 (The user name or password is incorrect)

Suspicious event log Event ID: 4905

DCOM received error "2147746132" from...