Pagina 1 di 1

Automazione delle attività di sistema

Inviato: 07/07/2024, 16:04
da FrancyDotNet
PowerShell è uno strumento potente che può essere utilizzato per automatizzare molte attività di sistema. In questo articolo, vedremo alcuni esempi pratici di script PowerShell per automatizzare il backup dei file, la pulizia dei file temporanei e l'aggiornamento del sistema.


:arrowright: 1. Backup di File

Questo script esegue il backup di una directory specifica su un'unità di backup.

Codice: Seleziona tutto

# Definire le directory di origine e di destinazione
$sourceDir = "C:\Users\<Nome_Utente>\Documents"
$backupDir = "D:\Backups\Documents"

# Crea la directory di backup se non esiste
if (-not (Test-Path -Path $backupDir)) {
    New-Item -ItemType Directory -Path $backupDir
}

# Copia i file dall'origine alla directory di backup
Copy-Item -Path $sourceDir\* -Destination $backupDir -Recurse -Force

Write-Output "Backup completato con successo!"

Re: Automazione delle attività di sistema

Inviato: 07/07/2024, 19:00
da FrancyDotNet
:arrowright: 2. Pulizia dei file temporanei

Questo script rimuove i file temporanei dalla directory Temp dell'utente e dalla directory di sistema.

Codice: Seleziona tutto

# Definisce le directory da pulire
$tempDirs = @(
    "$env:Temp",
    "$env:SystemRoot\Temp"
)

# Funzione per pulire i file temporanei
function Clean-TempFiles {
    param (
        [string]$path
    )

    # Controlla se la directory esiste
    if (Test-Path -Path $path) {
        # Ottieni tutti i file e le directory nella cartella temporanea
        $items = Get-ChildItem -Path $path -Force -Recurse

        # Rimuovi tutti gli elementi
        foreach ($item in $items) {
            try {
                Remove-Item -Path $item.FullName -Force -Recurse
            } catch {
                Write-Error "Impossibile rimuovere $($item.FullName): $_"
            }
        }

        Write-Output "$path pulito."
    } else {
        Write-Output "$path non esiste."
    }
}

# Pulisci ogni directory temporanea
foreach ($tempDir in $tempDirs) {
    Clean-TempFiles -path $tempDir
}

Write-Output "File temporanei puliti correttamente."
:arrowright: 3. Aggiornamenti di sistema

Questo script controlla e installa gli aggiornamenti di sistema disponibili.

Codice: Seleziona tutto

# Importa il modulo di aggiornamento
Import-Module PSWindowsUpdate

# Controlla gli aggiornamenti
$updates = Get-WindowsUpdate

# Installa gli aggiornamenti disponibili
if ($updates) {
    Install-WindowsUpdate -AcceptAll -AutoReboot
    Write-Output "Aggiornamenti installati e sistema riavviato."
} else {
    Write-Output "Nessun aggiornamento disponibile."
}
Assicurati di eseguire questi script con i permessi appropriati, specialmente per le attività che richiedono privilegi amministrativi come l'installazione degli aggiornamenti di sistema. Puoi anche programmare l'esecuzione automatica di questi script utilizzando Task Scheduler su Windows.