Windows Vista Forums
Vista Forums Home Join Vista Forums Donate Windows 7 Forum Vista Tutorials Tags

Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Microsoft Technical Newsgroups > PowerShell

Latest restart time and latest installed windows update time to HT

Reply
 
LinkBack Thread Tools Display Modes
Old 12-29-2008   #1 (permalink)
Eero J
Guest


 
 

Latest restart time and latest installed windows update time to HT

How could i get server names from txt file and put the latest restart time
and latest installed windows update time to HTML file?

I have a script that gets server names from txt file, pings servers and puts
the result (pinging server name with green and not pinging server name with
red) to HTML file. Could it be done similarly?

Here is my current script:

clear
$pingResults =("E:\PingResults.htm")
$RunDate = (get-date).tostring("dd.MM.yyyy")
$PingTime = (Get-Date -format 'hh:mm')

#Write the preamble of the report
Clear-Content “E:\PingResults.htm”
Add-Content -Path $pingResults ("<!DOCTYPE HTML PUBLIC -//W3C//DTD
HTML 4.0//EN http://www.w3.org/TR/REC-html40/strict.dtd>")
Add-Content -Path $pingResults ("<html> <p>")
Add-Content -Path $pingResults ("<head> <p>")
Add-Content -Path $pingResults ("<title> Ping Results </title>")
Add-Content -Path $pingResults ("</head>")
Add-Content -Path $pingResults ("<b><FONT size=2 face=arial>Pingi
Monitooring - " + $RunDate + " , kell " + $PingTime + "</b></font><p>")


$PingMachines = Gc "E:\MachineList.txt"
ForEach($MachineName In $PingMachines)
{$PingStatus = Gwmi Win32_PingStatus -Filter "Address = '$MachineName'" |
Select-Object StatusCode
If ($PingStatus.StatusCode -eq 0)
{Add-Content -Path $pingResults ("<FONT size=2 face=arial>Server:
</font><b><FONT face=arial size=2 color = #00FF00>" + $MachineName +

"</FONT></b><br>")}
Else
{Add-Content -Path $pingResults ("<FONT size=2 face=arial>Server:
</font><b><FONT face=arial size=2 color = #FF0000>" + $MachineName +
"</FONT></b>")
Add-Content -Path $pingResults ("<br>")}
}

My System SpecsSystem Spec
Old 12-30-2008   #2 (permalink)
RichS [MVP]
Guest


 
 

RE: Latest restart time and latest installed windows update time to HT

To get the date of the latest installed update

Get-WmiObject -Class Win32_QuickFixEngineering | Sort InstalledOn
-Descending | Select InstalledOn -First 1

you can add a -computername to direct get-wmiobject to the correct machine
--
Richard Siddaway
All scripts are supplied "as is" and with no warranty
PowerShell MVP
Blog: http://richardsiddaway.spaces.live.com/
PowerShell User Group: http://www.get-psuguk.org.uk


"Eero J" wrote:
Quote:

> How could i get server names from txt file and put the latest restart time
> and latest installed windows update time to HTML file?
>
> I have a script that gets server names from txt file, pings servers and puts
> the result (pinging server name with green and not pinging server name with
> red) to HTML file. Could it be done similarly?
>
> Here is my current script:
>
> clear
> $pingResults =("E:\PingResults.htm")
> $RunDate = (get-date).tostring("dd.MM.yyyy")
> $PingTime = (Get-Date -format 'hh:mm')
>
> #Write the preamble of the report
> Clear-Content “E:\PingResults.htm”
> Add-Content -Path $pingResults ("<!DOCTYPE HTML PUBLIC -//W3C//DTD
> HTML 4.0//EN http://www.w3.org/TR/REC-html40/strict.dtd>")
> Add-Content -Path $pingResults ("<html> <p>")
> Add-Content -Path $pingResults ("<head> <p>")
> Add-Content -Path $pingResults ("<title> Ping Results </title>")
> Add-Content -Path $pingResults ("</head>")
> Add-Content -Path $pingResults ("<b><FONT size=2 face=arial>Pingi
> Monitooring - " + $RunDate + " , kell " + $PingTime + "</b></font><p>")
>
>
> $PingMachines = Gc "E:\MachineList.txt"
> ForEach($MachineName In $PingMachines)
> {$PingStatus = Gwmi Win32_PingStatus -Filter "Address = '$MachineName'" |
> Select-Object StatusCode
> If ($PingStatus.StatusCode -eq 0)
> {Add-Content -Path $pingResults ("<FONT size=2 face=arial>Server:
> </font><b><FONT face=arial size=2 color = #00FF00>" + $MachineName +
>
> "</FONT></b><br>")}
> Else
> {Add-Content -Path $pingResults ("<FONT size=2 face=arial>Server:
> </font><b><FONT face=arial size=2 color = #FF0000>" + $MachineName +
> "</FONT></b>")
> Add-Content -Path $pingResults ("<br>")}
> }
My System SpecsSystem Spec
Old 12-30-2008   #3 (permalink)
RichS [MVP]
Guest


 
 

RE: Latest restart time and latest installed windows update time to HT

Missed the last restart time

$t1 = Get-WmiObject -Class Win32_OperatingSystem
$t1.ConvertToDateTime($t1.LastBootUpTime)

again use -computrname for remote machines
--
Richard Siddaway
All scripts are supplied "as is" and with no warranty
PowerShell MVP
Blog: http://richardsiddaway.spaces.live.com/
PowerShell User Group: http://www.get-psuguk.org.uk


"Eero J" wrote:
Quote:

> How could i get server names from txt file and put the latest restart time
> and latest installed windows update time to HTML file?
>
> I have a script that gets server names from txt file, pings servers and puts
> the result (pinging server name with green and not pinging server name with
> red) to HTML file. Could it be done similarly?
>
> Here is my current script:
>
> clear
> $pingResults =("E:\PingResults.htm")
> $RunDate = (get-date).tostring("dd.MM.yyyy")
> $PingTime = (Get-Date -format 'hh:mm')
>
> #Write the preamble of the report
> Clear-Content “E:\PingResults.htm”
> Add-Content -Path $pingResults ("<!DOCTYPE HTML PUBLIC -//W3C//DTD
> HTML 4.0//EN http://www.w3.org/TR/REC-html40/strict.dtd>")
> Add-Content -Path $pingResults ("<html> <p>")
> Add-Content -Path $pingResults ("<head> <p>")
> Add-Content -Path $pingResults ("<title> Ping Results </title>")
> Add-Content -Path $pingResults ("</head>")
> Add-Content -Path $pingResults ("<b><FONT size=2 face=arial>Pingi
> Monitooring - " + $RunDate + " , kell " + $PingTime + "</b></font><p>")
>
>
> $PingMachines = Gc "E:\MachineList.txt"
> ForEach($MachineName In $PingMachines)
> {$PingStatus = Gwmi Win32_PingStatus -Filter "Address = '$MachineName'" |
> Select-Object StatusCode
> If ($PingStatus.StatusCode -eq 0)
> {Add-Content -Path $pingResults ("<FONT size=2 face=arial>Server:
> </font><b><FONT face=arial size=2 color = #00FF00>" + $MachineName +
>
> "</FONT></b><br>")}
> Else
> {Add-Content -Path $pingResults ("<FONT size=2 face=arial>Server:
> </font><b><FONT face=arial size=2 color = #FF0000>" + $MachineName +
> "</FONT></b>")
> Add-Content -Path $pingResults ("<br>")}
> }
My System SpecsSystem Spec
Old 12-30-2008   #4 (permalink)
OldDog
Guest


 
 

Re: Latest restart time and latest installed windows update time toHT

On Dec 30, 1:39*pm, RichS [MVP] <RichS...@xxxxxx>
wrote:
Quote:

> Missed the last restart time
>
> $t1 = Get-WmiObject -Class Win32_OperatingSystem
> $t1.ConvertToDateTime($t1.LastBootUpTime)
>
> again use -computrname for remote machines
> --
> Richard Siddaway
> All scripts are supplied "as is" and with no warranty
> PowerShell MVP
> Blog:http://richardsiddaway.spaces.live.com/
> PowerShell User Group:http://www.get-psuguk.org.uk
>
>
>
> "Eero J" wrote:
Quote:

> > How could i get server names from txt file and put the latest restart time
> > and latest installed windows update time to HTML file?
>
Quote:

> > I have a script that gets server names from txt file, pings servers andputs
> > the result (pinging server name with green and not pinging server name with
> > red) to HTML file. Could it be done similarly?
>
Quote:

> > Here is my current script:
>
Quote:

> > clear
> > $pingResults =("E:\PingResults.htm")
> > $RunDate *= (get-date).tostring("dd.MM.yyyy")
> > $PingTime = (Get-Date -format 'hh:mm')
>
Quote:

> > #Write the preamble of the report
> > Clear-Content E:\PingResults.htm
> > Add-Content -Path $pingResults ("<!DOCTYPE HTML PUBLIC -//W3C//DTD
> > HTML 4.0//ENhttp://www.w3.org/TR/REC-html40/strict.dtd>")
> > Add-Content -Path $pingResults ("<html> <p>")
> > Add-Content -Path $pingResults ("<head> <p>")
> > Add-Content -Path $pingResults ("<title> Ping Results </title>")
> > Add-Content -Path $pingResults ("</head>")
> > Add-Content -Path $pingResults ("<b><FONT size=2 face=arial>Pingi
> > Monitooring - " + $RunDate + " , kell " + $PingTime + "</b></font><p>")
>
Quote:

> > $PingMachines = Gc "E:\MachineList.txt"
> > ForEach($MachineName In $PingMachines)
> > {$PingStatus = Gwmi Win32_PingStatus -Filter "Address = '$MachineName'" |
> > Select-Object StatusCode
> > If ($PingStatus.StatusCode -eq 0)
> > {Add-Content -Path $pingResults ("<FONT size=2 face=arial>Server:
> > </font><b><FONT face=arial size=2 color = #00FF00>" + $MachineName +
>
Quote:

> > "</FONT></b><br>")}
> > Else
> > {Add-Content -Path $pingResults ("<FONT size=2 face=arial>Server:
> > </font><b><FONT face=arial size=2 color = #FF0000>" + $MachineName +
> > "</FONT></b>")
> > Add-Content -Path $pingResults ("<br>")}
> > }- Hide quoted text -
>
> - Show quoted text -
So with all that being said:

# Red = #FF0000
# Green = #00FF00
# Blue = #0000FF
# Cyan (blue and green) = #00FFFF
# Magenta (red and blue) = #FF00FF
# Yellow (red and green) = #FFFF00

clear
$pingResults =("C:\Scripts\PingResults\pingResults.HTM")
$RunDate = (get-date).tostring("MM_dd_yyyy")
$PingTime = (Get-Date -format 'hh:mm')


#Write the preamble of the report
Set-Content -Path $pingResults ("<!DOCTYPE HTML PUBLIC -//W3C//DTD
HTML 4.0//EN http://www.w3.org/TR/REC-html40/strict.dtd>")
Add-Content -Path $pingResults ("<html> <p>")
Add-Content -Path $pingResults ("<head> <p>")
Add-Content -Path $pingResults ("<title> Ping Results </title>")
Add-Content -Path $pingResults ("</head>")
Add-Content -Path $pingResults ("<h3>Report Generated " + $RunDate + "
@ " + $PingTime + "</h3> <p>")

$PingMachines = Gc "C:\MachineList.txt"
ForEach($MachineName In $PingMachines)
{$PingStatus = Gwmi Win32_PingStatus -Filter "Address =
'$MachineName'" |
Select-Object StatusCode
If ($PingStatus.StatusCode -eq 0) {
$wmi = gwmi -Class Win32_OperatingSystem -ErrorAction
silentlycontinue -ComputerName $MachineName
$lastBootTime = $wmi.ConvertToDateTime($wmi.LastBootUpTime)
$t1 = Get-WmiObject -Class Win32_QuickFixEngineering -ErrorAction
silentlycontinue -ComputerName $MachineName | Sort InstalledOn -
Descending | Select InstalledOn -First 1

Add-Content -Path $pingResults ("<pre><h3>Server Name: <FONT color =
#00FF00>" + $MachineName + "</FONT></h3> Last Boot Time: " +
$lastBootTime + " Latest installed update: " + $t1 + "</pre>")
$lastBootTime = " " }

Else {
Add-Content -Path $pingResults ("<pre><h3>Server Name: <FONT color =
#FF0000>" + $MachineName + "</FONT></h3></pre>")}
}

< ---------- End Script ---------------->

Watch the wrap!
My System SpecsSystem Spec
Reply

Thread Tools
Display Modes



Similar Threads
Thread Thread Starter Forum Replies Last Post
Latest automatic update installed 9 fixes... dare978devil Windows Updates 0 12-12-2008 10:51 AM
Latest Windows Update/Vista Update Speeds up Boot/Startup Ross M. Greenberg Vista General 3 05-28-2008 07:22 PM
Computer asks for an update restart every time paflsu Vista General 0 05-16-2008 02:35 PM
Windows Update-latest batch Brendan Vista General 10 10-10-2007 12:40 PM
Latest Creative Beta driver & the latest version of Skype broccolibeef Vista General 9 02-15-2007 09:44 PM


Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
Designer Media Ltd

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53