Files
Mapo-IOB-WIN/CONF-IOB-WIN/Jetco/DisabilitaWindowsUpdateService.ps1
T
2019-10-05 12:07:49 +02:00

108 lines
3.0 KiB
PowerShell

<#
STEAMWARE - Rottoli GCarlo
Mod. 2019-02
.DESCRIPTION
Stoppa e disabilita Windows Update
#>
# Remove-Variable * -ErrorAction SilentlyContinue # pulisco variabili x ISE
# Set-ExecutionPolicy Unrestricted # per attivare l'esecuzione degli script
cls
# ----------------------------
# parametri per log errori
# ----------------------------
# path dello script ps1 mi serve a causa di problemi con lo schedulatore
if ( $MyInvocation.MyCommand.Path -ne $null ) {
# $scriptPath = split-path -parent $MyInvocation.MyCommand.Path
# file di Log
$scriptPath = split-path -parent $MyInvocation.MyCommand.Definition # path dello script ps1 mi serve a causa di problemi con lo schedulatore
$LogFile = (split-path -Leaf $MyInvocation.MyCommand.Definition).Replace('.ps1','_Log.txt')
$ErrlogFile = (split-path -Leaf $MyInvocation.MyCommand.Definition).Replace('.ps1','_ErrorLog.txt')
}
else {
CD
$scriptPath = "C:\Steamware"
$ErrlogFile = "DisableWU_ErrorLog.txt" # "$scriptPath\ErrLog_Log.txt" # se non lo voglio mettere = $null quindi posso usare una variabile
$LogFile = "DisableWU_log.txt"
}
$Date = (Get-Date).ToString("dd/MM/yyyy HH:mm:ss")
$FileCheck = $LogFile.Replace('_Log.txt','_Check_Log.txt')
# attivo il Transcript
Start-Transcript -path "$scriptPath\$LogFile" | Out-Null
$Date
# $scriptPath
$ErrlogFile
$LogFile
"-->> Eseguo Check Window Update"
$ServiceStatus = get-service -DisplayName 'Windows update' | SELECT DisplayName, Status, StartType
$ServiceStatus | Format-Table -HideTableHeaders
$Date >> "$scriptPath\$FileCheck"
$ServiceStatus | Format-Table -HideTableHeaders >> "$scriptPath\$FileCheck"
# ----------------------------
# ---- MAIN ------
# ----------------------------
TRY
{
if ($ServiceStatus.Status -ine "Stopped" -or $ServiceStatus.StartType -ine "Disabled") # riavvio il servizio
{
"-->> Eseguo Stop e Disabled Window Update"
get-service -DisplayName 'Windows update' | Stop-Service -ErrorAction Continue
get-service -DisplayName 'Windows update' | Set-Service -startuptype "disabled"
get-service -DisplayName 'Windows update' | SELECT DisplayName, Status, StartType | Out-Host
}
else
{
"-->> Servizio Window Update già disabilitato"
}
} # end TRY
# ==== GESTIONE ERRORI =====
CATCH [Exception]
{
# salvo errore
"CATCH Error at $((Get-Date).ToString("dd/MM/yyyy HH:mm:ss"))" >> "$scriptPath\$ErrlogFile"
$error[0]
Write-Output $Error[0] >> "$scriptPath\$ErrlogFile"
Write-Output '>> List Exception'
$err = $_.Exception
while ( $err.InnerException )
{
$err = $err.InnerException
Write-Output $err.Message # anche a video
Write-Output $err.Message >> "$scriptPath\$ErrlogFile"
}
}
# ==== STEP FINALE - sempre eseguito =====
FINALLY
{
"END execute at : $((Get-Date).ToString("dd/MM/yyyy HH:mm:ss"))" | Out-Host
# Stop capturing output
Stop-Transcript
}