You are not logged in.
Pages: 1
Prezados,
Espero que esteja bem!
Recentemente a Teclib lançou a versão 1.5 do Glpi Agent com algumas correções críticas de segurança. Surge a necessidade de atualização do Agente nos computadores que possuo na empresa.
A versão 1.4, eu instalei via GPO pois tenho um número expressivo de computadores em minha rede. Gostaria de saber, como posso atualizar o Agent de todas as máquinas. Pensei em remover tudo e fazer um novo script para a versão 1.5, mas isso tomaria muito tempo.
Alguma alternativa?
Offline
Olá,
Tenho um script em powershell para o efeito, posso partilhar e altera conforme a tua necessidade.
Basicamente força a abrir em modo administrador, e copia os ficheiros dependente do sistema operativo ser 32bit ou 64bit, depois começa a instalação.
Tenho uma task sheduler no servidor Windows a correr de 3 em 3 horas, assim se encontrar computadores novos, também instala / atualiza para a nova versão.
Espero ter ajudado
Aqui o script, podes colar no Pwershell ISE como administrador, altera para a tua OU e local dos teus ficheiros e boa sorte.
param([switch]$Elevated)
function Test-Admin {
$currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent())
$currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
if ((Test-Admin) -eq $false) {
if ($elevated) {
# tried to elevate, did not work, aborting
} else {
Start-Process powershell.exe -Verb RunAs -ArgumentList ('-noprofile -noexit -file "{0}" -elevated' -f ($myinvocation.MyCommand.Definition))
}
exit
}
#$ServerList = "10.254.64.132" # para testar num pc especifico
$ServerList = (Get-AdComputer -Filter {enabled -eq "true"} -SearchBase 'OU=WORKSTATIONS,OU=xxxx,OU=xxx,DC=pt,DC=xxx,DC=xxx').Name #para todos os computadore de determinado OU
#Criar Progess Bar
$totalComputers = $ServerList.Count
$completedComputers = 0
$file1 = '\\servidor\f$\GLPI\*1.5-x64.msi'
$file2 = '\\servidor\f$\GLPI\*1.5-x86.msi'
foreach ($ComputerName in $ServerList){
$pingstatus = ""
IF (Test-Connection -BufferSize 32 -Count 1 -ComputerName $ComputerName -Quiet) {
$pingstatus = "Online"
Write-Host $ComputerName "Online" -ForegroundColor Blue -ErrorAction SilentlyContinue
$Check=@(Invoke-Command -ComputerName $ComputerName -ErrorAction SilentlyContinue {Get-ItemProperty -Path 'HKLM:\SOFTWARE\GLPI-Agent\Installer' -Name Version | select Version})
#$Check=@(gp "HKLM:\SOFTWARE\GLPI-Agent\Installer").Version
if ($Check.Version -contains "1.5")
{
#Log("'" + $ComputerName + "'Servers are not pinging")
Write-Host $ComputerName "Já contém o GLPI instalado" -ForegroundColor Green -ErrorAction SilentlyContinue
}
Elseif ($Check.Version -notcontains "1.5" )
{
$session = New-PSSession -ComputerName $computerName
$osArchitecture = (Get-WmiObject Win32_OperatingSystem | Select-Object -ExpandProperty osarchitecture)
if ($osArchitecture -like "64*") {
# 64-bit code here
Write-Host "$computerName 64-bit OS"
Copy-Item -Path $file1 -ToSession $session -Destination 'c:\windows\temp'
$msiPath = 'C:\Windows\Temp\GLPI-Agent-1.5-x64.msi'
} else {
# 32-bit code here
Write-Host "$computerName 32-bit OS"
Copy-Item -Path $file2 -ToSession $session -Destination 'c:\windows\temp'
$msiPath = 'C:\Windows\Temp\GLPI-Agent-1.5-x86.msi'
}
Invoke-Command -Session $session -ScriptBlock {
Start-Process -FilePath 'msiexec.exe' -ArgumentList "/i $using:msiPath RUNNOW=1 SERVER='http://xxx-glpi.pt.xxx.com:8090/front/inventory.php' /passive /q /log C:\GLPIInstall.log" -Wait
}
Write-Host "A instalar no" $ComputerName -ForegroundColor Green
Timeout /T 30
#Log("'" + $ComputerName + "' Successfully started operation")
Remove-PSSession $session
}}
Else
{
Write-Host $ComputerName "Offline" -ForegroundColor red
}
$completedComputers++
$progressPercentage = [Math]::Round(($completedComputers / $totalComputers) * 100)
Write-Progress -Activity "Instalando GLPI em $totalComputers Computadores" -Status "Progresso: $progressPercentage%" -PercentComplete $progressPercentage
}
# Limpa a barra de progresso
Clear-Progress
Last edited by Jow-Indio (2023-07-06 17:19:21)
Offline
Pages: 1