Exemples de scripts lors du déploiement sur plusieurs ordinateurs
Vous trouverez ci-dessous une série de scripts que les administrateurs informatiques qui peuvent être utiles aux administrateurs informatiques pour gérer l’application GoTo. Ces exemples de scripts facilitent les tâches qui ne sont pas exécutées automatiquement par les installateurs, les stratégies de groupe ou autres. Les administrateurs informatiques peuvent les intégrer manuellement dans leurs scripts s’ils ont besoin d’effectuer ces tâches.
Désinstaller GoTo app installation par utilisateur (Windows)
Ce script peut être utilisé pour désinstaller GoTo app pour l'utilisateur actuel. Elle fonctionne uniquement sur les installations par utilisateur. Elle doit être exécutée à partir du contexte utilisateur pour chaque profil utilisateur, pour laquelle l'application doit être désinstallée.
<# .SYNOPSIS Cette script vérifie si l'application GoTo est installée pour l'utilisateur actuel et, si c'est le cas, la désinstalle silencieusement. .DESCRIPTION La fonction script vérifie si l'application est en cours d'exécution et l'arrête si c'est le cas. Il lit ensuite la ligne de commande de désinstallation dans l'entrée "QuietUninstallString" sous la clé "Uninstall" de l'application GoTo et l'exécute. #> $ErrorActionPreference = "Stop" Function Stop-App { Param ([Paramètre(Obligatoire)][Chaîne]$AppName ) # Ferme l'application, si elle est en cours d'exécution. $AppProcesses = Get-Process -Name $AppName -ErrorAction SilentlyContinue if ($AppProcesses) { Write-Host "Stopping $AppName app..." Stop-Process -Name $AppName -Force # Wait a bit Start-Sleep -Seconds 5 } else { Write-Host "$AppName app is not running" } # Check that the app is not still running $AppProcesses = Get-Process -Name $AppName -ErrorAction SilentlyContinue if ($AppProcesses) { Write-Host "$AppName app is still running, aborting" Exit 1 } } # Make sure the GoTo app is not running Stop-App -AppName GoTo # Read the QuietUninstallString try { $UninstStr = Get-ItemPropertyValue -LiteralPath "HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\b5746384-3503-4fbf-824a-0a42d1bd0639" -Name "QuietUninstallString" } catch { $UninstStr = $null } if ($UninstStr) { # Optionally, preserve the user profile # $UninstStr = "$UninstStr --KeepProfile" Write-Host "Found GoTo app installed, uninstalling using command: $UninstStr" # Uninstall app $Process = Start-Process -FilePath "$Env:ComSpec" -ArgumentList "/c $UninstStr" -PassThru $Process.WaitForExit() Write-Host "Done" } else { Write-Host "GoTo app is not installed" }
Nettoyer les profils d'utilisateur (Windows et Mac)
Ce script peut être utilisé pour nettoyer le profil utilisateur utilisé par GoTo app après l'installation de l'application. Les éléments de profil utilisateur à nettoyer sont les mêmes que GoTo app a été installé par machine ou par utilisateur, mais normalement ce script est utile après la désinstallation par machine. En effet, la désinstallation du MSI pour l'installation par machine n'efface pas les profils d'utilisateur, tandis que la désinstallation par utilisateur efface le profil utilisateur dans le cadre de la désinstallation.
Le script doit être exécuté à partir du contexte utilisateur pour chaque utilisateur, pour lequel le profil doit être nettoyé.
Windows
REM Supprimez la clé de registre de l'application REG DELETE HKEY_CURRENT_USER\Software\LogMeInInc\GoTo /f REM Delete the auto-start setting REG DELETE HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v GoTo /f REM Delete the app data folder RMDIR /S /Q "%APPDATA%\GoTo"
Mac
# Supprimer la plist rm -f ~/Library/Preferences/com.logmein.goto.plist # Supprimer le dossier de données de l'application rm -rf ~/Library/Application\ Support/GoTo
Définir ou supprimer le paramètre de registre lancé automatiquement (Windows)
Ces scripts peuvent être utilisés pour définir ou supprimer le paramètre de registre lancé automatiquement utilisé pour démarrer automatiquement GoTo app quand l'utilisateur se connecte. Le script fonctionne pour les installations par poste et par application, mais le paramètre de registre automatique de démarrage est lui-même dans le registre des utilisateurs (HKCU).
Le script doit être exécuté à partir du contexte utilisateur pour chaque profil utilisateur, pour lequel le paramètre de démarrage automatique doit être défini ou retiré.
Pour définir le paramètre de démarrage automatique, procédez comme suit:
<# SYNOPSIS Cette fonction script définit le paramètre de registre de démarrage automatique utilisé pour démarrer automatiquement l'application GoTo lorsque l'utilisateur se connecte. .DESCRIPTION La fonction script vérifie le dossier d'installation de l'application, à la fois dans HKLM et HKCU (elle fonctionne pour les installations d'applications par machine et par utilisateur). Il définit ensuite une entrée "GoTo"sous la touche "Exécuter" pour l'utilisateur actuel. #> $ErrorActionPreference = "Stop" # Lisez le fichier InstallLocation. Try both HKLM and HKCU try { $instLoc = Get-ItemPropertyValue -LiteralPath "HKLM:\Software\LogMeInInc\GoTo\ElectronInstallDetails" -Name "InstallLocation" } catch { try { $instLoc = Get-ItemPropertyValue -LiteralPath "HKCU:\Software\LogMeInInc\GoTo\ElectronInstallDetails" -Name "InstallLocation" } catch { $instLoc = $null } } if ($instLoc -ne $null) { Write-Host "Found GoTo app installed at: $instLoc" # Set the auto-start registry setting $regValue = Join-Path -Path $instLoc -ChildPath "GoTo.exe" -Resolve Write-Host "Setting auto-start registry setting to value: $regValue" Set-ItemProperty -LiteralPath "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "GoTo" -Value $regValue -Type String Write-Host "Done" } else { Write-Host "GoTo app is not installed" }
Pour supprimer le paramètre de registre de démarrage automatique:
REM Supprimer le paramètre de démarrage automatique REG DELETE HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v GoTo /f
Désinstaller GoTo MSI versions 3.17 et inférieures (Windows)
This script can be used to uninstall the GoTo MSI versions 3.17 and below, which are deprecated.
Elle détecte et désinstalle les deux MSI Machine et User, mais requiert des exigences différentes pour le contexte d'exécution de ce script pour les deux types MSI. Veuillez lire la description du script pour plus de détails.
<# SYNOPSIS Ceci script désinstalle toutes les versions de MSI versions du répertoire GoTo/GoToConnect app versions 3.17 et inférieures. .DESCRIPTION La fonction script vérifie si l'application est en cours d'exécution et l'arrête si c'est le cas. Il vérifie ensuite la présence de MSI paquets avec le UpgradeCode utilisé par les versions MSI versions 3.17 et inférieures et les désinstalle. La machine MSI nécessite des privilèges d'administrateur pour être désinstallé, exécutez donc cette commande script à partir d'un compte administrateur afin de désinstaller l'appareil. MSI. Étant donné que le logiciel User MSI est installé au niveau de l'utilisateur, cette commande script doit être exécutée dans le contexte de l'utilisateur qui a installé l'utilisateur MSI est installé. #> $ErrorActionPreference = "Stop" # This is the UpgradeCode for: # - MSI versions 3.17 and below, both the User and Machine MSI installers # - MSI versions 3.18 and above, only the MSI for per-machine installation $UpgradeCode = "{147165DC-20D5-5870-9653-1A02A52D396F}" # MSI versions below this one will be uninstalled $UninstallVersionsBelow = [System.Version]::Parse("3.18") Function Stop-App { Param ( [Parameter(Mandatory)][String]$AppName ) # Close the app, if running. $AppProcesses = Get-Process -Name $AppName -ErrorAction SilentlyContinue if ($AppProcesses) { Write-Host "Stopping $AppName app..." Stop-Process -Name $AppName -Force # Wait a bit Start-Sleep -Seconds 5 } else { Write-Host "$AppName app is not running" } # Vérifier que l'application n'est pas encore en cours d'exécution $AppProcesses = Get-Process -Name $AppName -ErrorAction SilentlyContinue if ($AppProcesses) { Write-Host "$AppName app is still running, aborting" Exit 1 } } # L'application a été appelée GoToConnexion dans les versions antérieures. Make sure both the GoTo and GoToConnect apps are not running Stop-App -AppName GoTo Stop-App -AppName GoToConnect $AllProps = Get-CimInstance -Class Win32_Property # Get an array of product codes with the matching upgrade code $ProductCodes = @(($AllProps | Where-Object {$_.Property -eq "UpgradeCode" -and $_.Value -eq $UpgradeCode}).ProductCode) if (!$ProductCodes) { Write-Host "No installed MSIs found with the specified UpgradeCode $UpgradeCode" } else { Write-Host "Found $($ProductCodes.Length) MSI(s) installed with the specified UpgradeCode $UpgradeCode`n" foreach ($ProductCode in $ProductCodes) { # Obtain the ProductName and ProductVersion of the current ProductCode $ProductName = ($AllProps | Where-Object {$_.Property -eq "ProductName" -and $_.ProductCode -eq $ProductCode}).Value $ProductVersion = ($AllProps | Where-Object {$_.Property -eq "ProductVersion" -and $_.ProductCode -eq $ProductCode}).Value Write-Host "ProductName: $ProductName ProductVersion: $ProductVersion ProductCode: $ProductCode" try { $ProductVersionParsed = [System.Version]::Parse($ProductVersion) if ($ProductVersionParsed -lt $UninstallVersionsBelow) { Write-Host "`tProductVersion below threshold, uninstalling..." # Lancez msiexec.exe pour désinstaller le code produit actuel $MSIArguments = @("/x" $ProductCode "/qn" "/norestart" ) $Process = Start-Process "msiexec.exe" -ArgumentList $MSIArguments -Wait -NoNewWindow -PassThru # Vérifier le code de sortie de msiexec.exe if ($Process.ExitCode -eq 0) { Write-Host "`tCompleted." } else { Write-Host "`tFailed to disinstall - msiexec.exe exit code $($Process.ExitCode)." } } else { Write-Host "`tProductVersion trop élevé, ne pas désinstaller" } } } } catch { Write-Host "`tUnable to parse ProductVersion '$ProductVersion'" } } }