From fc854800878e9259d2c86ac52bdb3c30b886da77 Mon Sep 17 00:00:00 2001 From: sawft99 <81699231+sawft99@users.noreply.github.com> Date: Wed, 26 Jun 2024 11:39:51 -0500 Subject: [PATCH] Update CheckTeamviewerVersion.ps1 - Updated to be more compatible --- CheckTeamviewerVersion.ps1 | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/CheckTeamviewerVersion.ps1 b/CheckTeamviewerVersion.ps1 index b676af1..be230e5 100644 --- a/CheckTeamviewerVersion.ps1 +++ b/CheckTeamviewerVersion.ps1 @@ -1,7 +1,7 @@ #Check if latest Teamviewer version is installed [System.UriBuilder]$LatestVersionURL = 'https://www.teamviewer.com/en-us/download/windows/' -[System.IO.FileInfo]$TVExe = ${env:ProgramFiles} + '\' + 'TeamViewer' + '\' + 'TeamViewer.exe' + #If more than X minor versions behind, report as critical #Example if $MaxMinorDif = 4: Latest = 15.5.0, Installed = 15.2.0, reports as warning. If Latest = 15.5.0, Installed = 15.0.0, then it will report as critical #Being behind by 1 or more major versions is automatically critical @@ -10,14 +10,30 @@ #--------- +#Detect x64 or x86 TV +[System.IO.FileInfo]$TVExe = ${env:ProgramFiles} + '\' + 'TeamViewer' + '\' + 'TeamViewer.exe' + +if ($TVExe.Exists -eq $false) { + [System.IO.FileInfo]$TVExe = ${env:ProgramFiles(x86)} + '\' + 'TeamViewer' + '\' + 'TeamViewer.exe' +} +if ($TVExe.Exists -eq $false) { + Write-Output 'UNKNOWN: Teamviewer not found or not installed' + exit 3 +} + #Forces TLS 1.2 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 #Find latest version from TV site -$WebPage = New-Object -ComObject "HTMLFile" -$Content = (Invoke-WebRequest -Uri $LatestVersionURL.Uri -UseBasicParsing).Content.ToString() -$WebPage.write([ref]$Content) -[string]$LatestVersion = ((($WebPage.body.innerText -split '\n') | Where-Object {$_ -cmatch 'Current version: '} | Select-Object -First 1).TrimStart('Current version: ')).TrimEnd('') +#$WebPage = New-Object -ComObject "HTMLFile" +#$Content = (Invoke-WebRequest -Uri $LatestVersionURL.Uri -UseBasicParsing).Content.ToString() +#$WebPage.write([ref]$Content) + +#More compatible version +$Content = (Invoke-WebRequest -Uri $LatestVersionURL.Uri -UseBasicParsing).Content + +[string]$LatestVersion = ((($Content -split '\n') | Where-Object {$_ -cmatch 'Current version: '} | Select-Object -First 1).TrimStart('Current version: ')).TrimEnd('') +$LatestVersion = $LatestVersion.Trim('').trim('