Windows Vista Forums
Vista Forums Home Join Vista Forums 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 Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Misc Newsgroups > PowerShell

Vista - Latest restart time and latest installed windows update time to HT

Reply
 
Old 12-29-2008   #1 (permalink)
Eero J


 
 

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]


 
 

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]


 
 

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


 
 

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


Similar Threads
Thread Forum
windows update wants to restart all the time Vista performance & maintenance
Latest automatic update installed 9 fixes... Windows Updates
Latest Windows Update/Vista Update Speeds up Boot/Startup Vista General
Computer asks for an update restart every time Vista General
Latest Creative Beta driver & the latest version of Skype Vista General


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