Exemplos de scripts ao instalar em vários computadores
Abaixo, você encontrará uma coleção de scripts que os administradores de TI podem considerar úteis no gerenciamento do aplicativo GoTo. Esses exemplos de scripts facilitam tarefas que não são executadas automaticamente por instaladores, políticas de grupo etc. Os administradores de TI podem integrá-los manualmente em seus scripts se precisarem realizar essas tarefas.
Desinstalar GoTo app instalação por usuário (Windows)
Este script pode ser usado para desinstalar o GoTo app para o usuário atual. Ele funciona somente em instalações por usuário. Ele deve ser executado pelo contexto de usuário para cada perfil de usuário, para o qual o aplicativo precisa ser desinstalado.
<# .SYNOPSIS Isso script verifica se o aplicativo GoTo está instalado para o usuário atual e, se estiver, desinstala-o silenciosamente. DESCRIÇÃO O aplicativo script verifica se o aplicativo está em execução e o interrompe em caso afirmativo. Em seguida, você lê a linha de comando de desinstalação da entrada "QuietUninstallString" na chave "Uninstall" do aplicativo. GoTo aplicativos e a executa. #> $ErrorActionPreference = "Stop" Function Stop-App { Param ( [Parameter(Obrigatório)][String]$AppName ) # Fecha o aplicativo, se estiver em execução. $AppProcesses = Get-Process -Name $AppName -ErrorAction SilentlyContinue if ($AppProcesses) { Write-Host "Stopping $AppName app..." Stop-Process -Name $AppName -Forçado # Espere um pouco Start-Sleep -Seconds 5 } else { Write-Host "O aplicativo $AppName não está em execução" } } # Verifique se o aplicativo não está em execução $AppProcesses = Get-Process -Name $AppName -ErrorAction SilentlyContinue if ($AppProcesses) { Write-Host "O aplicativo $AppName ainda está em execução, abortando" Exit 1 } } } # Certifique-se de que o aplicativo GoTo aplicativos não estão em execução Stop-App -AppName GoTo # Leia o QuietUninstallString try { $UninstStr = Get-ItemPropertyValue -LiteralPath "HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\b5746384-3503-4fbf-824a-0a42d1bd0639" -Name "QuietUninstallString" } catch { $UninstStr = $null } if ($UninstStr) { # Opcionalmente, preserve o perfil do usuário # $UninstStr = "$UninstStr --KeepProfile" Write-Host "Encontrado GoTo aplicativos instalados, desinstalando usando o comando: $UninstStr" # Desinstalar o aplicativo $Process = Start-Process -FilePath "$Env:ComSpec" -ArgumentList "/c $UninstStr" -PassThru $Process.WaitForExit() Write-Host "Done" } else { Write-Host "GoTo aplicativos não estão instalados" }
Limpar perfis de usuário (Windows e Mac)
Este script pode ser usado para limpar o perfil de usuário usado pelo GoTo app após desinstalar o aplicativo. Os itens do perfil de usuário para limpar são os mesmos, independentemente de se GoTo app foi instalado por máquina ou por usuário, mas normalmente este script é útil para limpar após desinstalação por máquina. Isso ocorre porque a desinstalação do MSI para instalação por máquina não limpa os perfis de usuário, enquanto a desinstalação por usuário limpa o perfil do usuário como parte da desinstalação.
O script deve ser executado pelo contexto de usuário para cada usuário, para o qual o perfil precisa ser limpo.
Windows
REM Delete the app registry key 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
# Delete the plist rm -f ~/Library/Preferences/com.logmein.goto.plist # Delete the app data folder rm -rf ~/Library/Application\ Support/GoTo
Definir ou remover a configuração do registro de início automático (Windows )
Esses scripts podem ser usados para definir ou remover a configuração do registro de início automático usada para iniciar o GoTo app quando o usuário efetua login. O script funciona tanto para instalações de aplicativos por máquina quanto por usuário, mas a configuração do registro de início automático está no registro do usuário (HKCU).
O script deve ser executado pelo contexto de usuário para cada perfil de usuário, para o qual a configuração de início automático precisa ser configurada ou removida.
Para definir a configuração do registro de inicialização:
<# .SYNOPSIS Isso script define a configuração de registro de início automático usada para iniciar automaticamente o aplicativo quando você faz login. GoTo aplicativos quando o usuário faz login. DESCRIÇÃO O script verifica a pasta de instalação do aplicativo, tanto em HKLM quanto em HKCU (funciona tanto para instalações de aplicativos por máquina quanto por usuário). Em seguida, ele define uma entrada "GoTo" na tecla "Executar" para o usuário atual. #> $ErrorActionPreference = "Stop" # Leia o arquivo 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" }
Para remover a configuração do registro de inicialização:
REM Excluir a configuração de início automático REG DELETE HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v GoTo /f
Desinstalar GoTo MSI versões 3.17 e abaixo (Windows)
This script can be used to uninstall the GoTo MSI versions 3.17 and below, which are deprecated.
Ele encontra e desinstala os MSIs da máquina e do usuário, mas há requisitos diferentes para o contexto de execução deste script para os dois tipos de MSI. Leia a descrição do script para obter mais detalhes.
<# .SYNOPSIS Isso script desinstala todas as versões do MSI versões do diretório GoTo/GoToAplicativos de conexão versões 3.17 e inferiores. DESCRIÇÃO O aplicativo script verifica se o aplicativo está em execução e o interrompe em caso afirmativo. Em seguida, ele verifica se há pacotes MSI pacotes com o UpgradeCode usado por você nas versões MSI versões 3.17 e anteriores e os desinstala. A máquina MSI requer privilégios de administrador para ser desinstalado, portanto, execute isto script em uma conta de administrador para que você possa desinstalar o Machine MSI. Como o User MSI está instalado no nível do usuário, este script deve ser executado no contexto do usuário que tem o User MSI instalado. #> $ErrorActionPreference = "Stop" # Este é o UpgradeCode para você: # - MSI versões 3.17 e anteriores, tanto para o instalador do usuário quanto para o da máquina MSI instaladores # - MSI versões 3.18 e posteriores, somente o instalador do usuário MSI para instalação por máquina $UpgradeCode = "{147165DC-20D5-5870-9653-1A02A52D396F}" # MSI As versões abaixo desta serão desinstaladas $UninstallVersionsBelow = [System.Version]::Parse("3.18") Function Stop-App { Param ( [Parameter(Obrigatório)][String]$AppName ) # Fecha o aplicativo, se estiver em execução. $AppProcesses = Get-Process -Name $AppName -ErrorAction SilentlyContinue if ($AppProcesses) { Write-Host "Stopping $AppName app..." Stop-Process -Name $AppName -Forçado # Espere um pouco Start-Sleep -Seconds 5 } else { Write-Host "O aplicativo $AppName não está em execução" } } # Verifique se o aplicativo não está em execução $AppProcesses = Get-Process -Name $AppName -ErrorAction SilentlyContinue if ($AppProcesses) { Write-Host "O aplicativo $AppName ainda está em execução, abortando" Exit 1 } } } # O aplicativo foi chamado de GoToConexão em versões anteriores. Certifique-se de que tanto o GoTo e GoToConexão não estejam em execução 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 instalados com o UpgradeCode $UpgradeCode" } else { Write-Host "Found $($ProductCodes.Length) MSI(s) instalados com o UpgradeCode especificado $UpgradeCode`n" foreach ($ProductCode in $ProductCodes) { # Obtenha os valores de ProductName e ProductVersion do ProductCode atual $ProductName = ($AllProps | Where-Object {$_.Property -eq "ProductName" -e $_.ProductCode -eq $ProductCode}).Value $ProductVersion = ($AllProps | Where-Object {$_.Property -eq "ProductVersion" -e $_.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 abaixo do limite, desinstalando..." # Iniciar o msiexec.exe para desinstalar o ProductCode atual $MSIArguments = @( "/x" $ProductCode "/qn" "/norestart" ) $Process = Start-Process "msiexec.exe" -ArgumentList $MSIArguments -Wait -NoNewWindow -PassThru # Verifique o código de saída do msiexec.exe if ($Process.ExitCode -eq 0) { Write-Host "`tCompleted." } else { Write-Host "`tFalha ao desinstalar - código de saída do msiexec.exe $($Process.ExitCode)." } } else { Write-Host "`tProductVersion muito alto, não está desinstalando" } } } catch { Write-Host "`tNão foi possível analisar ProductVersion '$ProductVersion'" } } }