Version 2 now with AT&T website checking as well.
[CODE]#Requires -Version 3.0
[String] $NokiaURI = "http://www.nokia.com/global/support/software-update/wp8-software-update/availability-in-north-america/"
[String] $NokiaStatus = '<tr><td rowspan="1" colspan="1" data-title="Product">Lumia 920</td><td rowspan="1" colspan="1" data-title="Description">AT&T</td><td rowspan="1" colspan="1" data-title="Latest version">1232.5962.1314.0001</td><td rowspan="1" colspan="1" data-title="Lumia Amber update">Waiting for approval</td></tr>'
[String] $ATTURI = "http://www.att.com/esupport/softwareUpdateArticle.jsp?sid=KB419633&cv=820&_requestid=90953#fbid=1RD0MIz5VW1"
[String] $ATTStatus = "<STRONG>1232.5962.1314.0001</STRONG>"
Function Get-GDR2OutMessage
{
[Int] $Int = 0
While($Int -le 5)
{gs
[System.Media.SystemSounds]::Beep.Play()
Start-Sleep -Seconds 1
[System.Media.SystemSounds]::Hand.Play()
Start-Sleep -Seconds 1
$Int++
}
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
[System.Windows.Forms.MessageBox]::Show("GDR2 (Amber) may be out!" , "GDR2")
Exit
}
Function Get-GDR2Request ([String] $URI, [String] $Status)
{
$HTML = Invoke-WebRequest -URI $URI
Return [Bool] (Select-String -InputObject $HTML.RawContent -Pattern $Status)
}
While ($True -eq $True)
{
$Nokia = Get-GDR2Request -URI $NokiaURI -Status $NokiaStatus
$ATT = Get-GDR2Request -URI $ATTURI -Status $ATTStatus
If (($Nokia -eq $False) -or ($ATT -eq $False))
{
Get-GDR2OutMessage
}
Else
{
Start-Sleep -Seconds 900 #15 Minutes
}
}[/CODE]
09-09-2013 10:35 AM