#CHROME SETUP OK CON GDRIVE API
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
# Imposto i parametri Google Auth: RefreshToken, ClientID, and ClientSecret
$params = @{
Uri = 'https://accounts.google.com/o/oauth2/token'
Body = @(
"refresh_token=INSERIRE REFRESH TOKEN",
"client_id=INSERIRE CLIENTID",
"client_secret=INSERIRE CLIENT SECRET",
"grant_type=refresh_token"
) -join '&'
Method = 'Post'
ContentType = 'application/x-www-form-urlencoded'
}
$accessToken = (Invoke-RestMethod @params).access_token
# Setta gli headers di autenticazione
$headers = @{
"Authorization" = "Bearer $accessToken"
"Content-type" = "application/json"
}
$Path = "$env:TEMP"
$OSVersion=(Get-WmiObject Win32_OperatingSystem).OSArchitecture
$OS1= "32*"
$OS2= "64*"
$software = "chrome.exe";
$installed = (Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App*Paths\* | Where { $_.PSChildName -eq $software }) -ne $null
If(-Not $installed) {
if ( $OSVersion -like $OS2 ){ #Microsoft Windows 7-10-11 for 64 bit
write "Chrome non è installato, procedo con il download"
write "Architettura del sistema Operativo rilevato $OS2"
#$Installer = "googlechromestandaloneenterprise64.msi"
#Download file 64 bit
write "Download in corso del file di installazione..."
# Settare l'ID del file da scaricare. Per ottenere il fileID cliccare con il tasto destro sul file da scaricare e selezionare 'Ottieni Link condivisibile' e selezionare la stringa alfanumerica all'interno dell'url.
$fileId = "INSERIRE ID FILE"
# Ottieni i metadata
$fileMetadata = Invoke-RestMethod -Uri "https://www.googleapis.com/drive/v3/files/$fileId" -Headers $headers
# Imposto il path dove verrà scaricato il file (solo il path)
$destinationPath = "$Path"
$exportFileName = "$destinationPath\$($fileMetadata.name)"
#Scarica il file
Invoke-RestMethod -Uri "https://www.googleapis.com/drive/v3/files/${fileId}?alt=media" -Method Get -OutFile $exportFileName -Headers $headers
#Imposto un tempo di attesa per consentire il download
Start-Sleep -Seconds 60
#Controllo se il file scaricato esiste
$TestPath=Test-Path -Path $exportFileName -PathType Leaf
if ($TestPath -eq $true){
#Avvio l'installazione con i parametri ricevuti
write "Avvio l'installazione..."
MsiExec.exe /i $exportFileName /qn
Start-Sleep -Seconds 60
#Elimino i file scaricati
Remove-Item $exportFileName
#Controllo la versione appena installata
$Check_Chrome=(Get-Item (Get-ItemProperty -ErrorAction Ignore -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App*Paths\chrome.exe").'(Default)').VersionInfo
$ChromeVersion = $Check_Chrome.ProductVersion
write "Chrome è stato aggiornato all'ultima versione $ChromeVersion"
} else {
#se l file non è presente termina lo script
write "Errore di download, provare a rilanciare lo script"
}
} else { #Microsoft Windows 7-10-11 for 32 bit
write "Chrome non è installato, procedo con il download"
write "Architettura del sistema Operativo rilevato $OS1"
#$Installer = "googlechromestandaloneenterprise.msi"
#Download file 32 bit
write "Download in corso del file di installazione..."
# Settare l'ID del file da scaricare. Per ottenere il fileID cliccare con il tasto destro sul file da scaricare e selezionare 'Ottieni Link condivisibile' e selezionare la stringa alfanumerica all'interno dell'url.
$fileId = "INSERIRE ID FILE"
# Ottieni i metadata
$fileMetadata = Invoke-RestMethod -Uri "https://www.googleapis.com/drive/v3/files/$fileId" -Headers $headers
# Imposto il path dove verrà scaricato il file (solo il path)
$destinationPath = "$Path"
$exportFileName = "$destinationPath\$($fileMetadata.name)"
#Scarica il file
Invoke-RestMethod -Uri "https://www.googleapis.com/drive/v3/files/${fileId}?alt=media" -Method Get -OutFile $exportFileName -Headers $headers
#Imposto un tempo di attesa per consentire il download
Start-Sleep -Seconds 60
#Controllo se il file scaricato esiste
$TestPath=Test-Path -Path $exportFileName -PathType Leaf
if ($TestPath -eq $true) {
#Se il file è presente avvio l'installazione con i parametri ricevuti
write "Avvio l'installazione..."
MsiExec.exe /i $exportFileName /qn
Start-Sleep -Seconds 60
#Elimino i file scaricati :::
Remove-Item $exportFileName
#Controllo la versione appena installata
$Check_Chrome=(Get-Item (Get-ItemProperty -ErrorAction Ignore -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App*Paths\chrome.exe").'(Default)').VersionInfo
$ChromeVersion = $Check_Chrome.ProductVersion
write "Chrome è stato aggiornato all'ultima versione $ChromeVersion"
} else {
#se l file non è presente termina lo script
write "Errore di download, provare a rilanciare lo script"
}
}
} else {
$Check_Chrome=(Get-Item (Get-ItemProperty -ErrorAction Ignore -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App*Paths\chrome.exe").'(Default)').VersionInfo
$ChromeVersion = $Check_Chrome.ProductVersion
write "'$software' è già aggiornato all'ultima versione $ChromeVersion"
}
Fatemi sapere che ne pensate nei commenti. Bye!
Nessun commento:
Posta un commento