Snellire le operazioni IT: Script PowerShell per verificare la data di installazione di Windows

Punti chiave

  • Automatizza il recupero della data di installazione di Windows: Lo script recupera in modo efficiente la data di installazione di Windows, automatizzando quella che altrimenti sarebbe un’attività manuale che richiederebbe molto tempo.
  • Utilizza più fonti di dati: Lo script per verificare la data di installazione di Windows recupera le date di installazione dal registro, dalle informazioni di sistema, da WMI e da Get-ComputerInfo di PowerShell, garantendo una raccolta completa dei dati.
  • Offre un output in forma di campo personalizzato: Il parametro opzionale CustomField consente l’integrazione con i sistemi di dati esistenti, salvando la data di installazione in un campo specificato.
  • Supporta le principali versioni di Windows: Lo script per verificare la data di installazione di Windows , progettato per Windows 10 e Windows Server 2016, è adatto alla maggior parte degli ambienti Windows moderni.
  • Meccanismi di gestione degli errori: Lo script per verificare la data di installazione di Windows include blocchi try-catch per ogni metodo di recupero dei dati, assicurando che lo script venga eseguito senza interruzioni.
  • Facilita la gestione e la sicurezza informatica: Lo script per verificare la data di installazione di Windows aiuta i professionisti IT a identificare i sistemi obsoleti, il che è fondamentale per la manutenzione e la conformità alla sicurezza.
  • Integrazione con le piattaforme di gestione: La funzionalità dello script per verificare la data di installazione di Windows evidenzia i vantaggi dell’integrazione di questi strumenti in piattaforme come NinjaOne per una gestione completa del sistema.

Nel dinamico settore dell’IT, la gestione efficiente delle informazioni di sistema è fondamentale. Gli script PowerShell sono diventati fondamentali per semplificare attività complesse, grazie alla loro capacità di automatizzare e recuperare accuratamente i dati. Un esempio degno di nota è questo script progettato per recuperare la data di installazione di Windows. Questa capacità non è solo una questione relativa al mantenere le informazioni sui sistemi aggiornate, ma rappresenta un aspetto essenziale della gestione e della sicurezza del sistema.

Background

Lo script per verificare la data di installazione di Windows svolge una funzione importante per i professionisti IT e i fornitori di servizi gestiti (MSP). È stato progettato per recuperare la data di installazione del sistema operativo Windows su un computer. Queste informazioni sono fondamentali per vari motivi, tra cui la conformità, la pianificazione della manutenzione e la verifica della sicurezza. Considerando che gli ambienti IT sono sempre più complessi, disporre di uno script per automatizzare questa attività è estremamente prezioso.

Lo script per verificare la data di installazione di Windows:

#Requires -Version 5.1

<#
.SYNOPSIS
    Fetches the install date. Outputs to the activity feed and can store it in a custom field.
.DESCRIPTION
    Fetches the install date. Outputs to the activity feed and can store it in a custom field.

.EXAMPLE
    (No Parameters)
    ## EXAMPLE OUTPUT WITHOUT PARAMS ##
    Install Date: 08/18/2021 13:50:15

PARAMETER: -CustomField "InstallDate"
    A custom field to save the install date to.
.EXAMPLE
    -CustomField "InstallDate"
    ## EXAMPLE OUTPUT WITH CustomField ##
    Install Date: 08/18/2021 13:50:15
.OUTPUTS
    None
.NOTES
    Minimum OS Architecture Supported: Windows 10, Windows Server 2016
    Release Notes: Renamed script and added Script Variable support
By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https://www.ninjaone.com/it/condizioni-utilizzo/
    Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. 
    Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. 
    Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. 
    Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. 
    Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. 
    Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. 
    EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).
#>

[CmdletBinding()]
param (
    [string]$CustomField
)

begin {
    $Epoch = [DateTime]'1/1/1970'
    if ($env:customFieldName -and $env:customFieldName -notlike "null") { $CustomField = $env:customFieldName }
    Write-Host ""
}
process {
    $InstallDate = $(
        try {
            # Get Install Date from registry
            Get-ChildItem -Path "HKLM:\System\Setup\Source*" -ErrorAction SilentlyContinue | ForEach-Object {
                $InstallDate = Get-ItemPropertyValue -Path Registry::$_ -Name "InstallDate" -ErrorAction SilentlyContinue
                [System.TimeZone]::CurrentTimeZone.ToLocalTime(($Epoch).AddSeconds($InstallDate))
            }
            $InstallDateCu = Get-ItemPropertyValue -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name "InstallDate" -ErrorAction SilentlyContinue
            [System.TimeZone]::CurrentTimeZone.ToLocalTime(($Epoch).AddSeconds($InstallDateCu))
        }
        catch {
            # Skip if errors
        }

        try {
            # Get Install date from system info
            $SystemInfo = systeminfo.exe
            # --- Output of system info ---
            # Original Install Date:     9/3/2020, 8:54:48 AM
            $($SystemInfo | Select-String "install date") -split 'Date:\s+' | Select-Object -Last 1 | Get-Date
        }
        catch {
            # Skip if errors
        }

        try {
            # Get Install date from WMI
            $(Get-CimInstance -ClassName Win32_OperatingSystem -ErrorAction SilentlyContinue).InstallDate
        }
        catch {
            # Skip if errors
        }

        try {
            if ($PSVersionTable.PSVersion.Major -ge 5 -and $PSVersionTable.PSVersion.Minor -ge 1) {
                $ComputerInfo = Get-ComputerInfo -Property WindowsInstallDateFromRegistry, OsInstallDate -ErrorAction SilentlyContinue
                $ComputerInfo.WindowsInstallDateFromRegistry
                $ComputerInfo.OsInstallDate
            }
        }
        catch {
            # Skip if errors
        }
    ) | Sort-Object | Select-Object -First 1

    if ($InstallDate) {
        if ($CustomField) {
            Ninja-Property-Set -Name $CustomField -Value $InstallDate
        }
        Write-Host "Install Date: $InstallDate"
    }
    else {
        if ($CustomField) {
            Ninja-Property-Set -Name $CustomField -Value "Unknown"
        }
        Write-Host "Install Date: Unknown"
    }
}
end {
    
    
    
}

 

Accedi a oltre 700 script nel Dojo NinjaOne

Ottieni l’accesso

Analisi dettagliata dello script per verificare la data di installazione di Windows

Lo script opera in diverse fasi:

  • Definizione dei parametri: Lo script per verificare la data di installazione di Windows inizia definendo un parametro opzionale CustomField. Consente all’utente di specificare un campo personalizzato in cui salvare la data di installazione.
  • Inizializzazione: Lo script per verificare la data di installazione di Windows inizializza una variabile che rappresenta la Unix epoch (1 gennaio 1970) come base per il calcolo della data.
  • Processo di recupero dei dati: Lo script utilizza quindi diversi metodi per ottenere la data di installazione di Windows:
    • Voci di registro: Controlla diverse path di registro per la data di installazione, convertendo il timestamp Unix in un formato di orario locale.
    • Utilità informazioni di sistema: Estrae la data di installazione dall’output del comando systeminfo.exe.
    • Strumentazione di gestione di Windows (WMI): Recupera la data di installazione dalla classe Win32_OperatingSystem.
    • Informazioni sul computer (per PowerShell 5.1 e versioni successive): Utilizza il cmdlet Get-ComputerInfo per recuperare le date di installazione.
  • Selezione dei dati e output: Tra le date raccolte, sceglie quella più indietro nel tempo come data di installazione originale più probabile e la visualizza o la imposta in un campo personalizzato specificato.

Casi d’uso potenziali

Immagina un amministratore IT che gestisce una serie di computer in una grande organizzazione. Eseguendo questo script per verificare la data di installazione di Windows, può accertarsi rapidamente di quali macchine stiano ancora utilizzando vecchie installazioni, segnalandole potenzialmente per aggiornamenti o controlli di sicurezza più approfonditi.

Confronti

I metodi tradizionali, come il controllo manuale delle proprietà del sistema o quello dei registri di sistema, richiedono molto tempo e sono soggetti a errori umani. Questo script automatizza e centralizza il processo per verificare la data di installazione di Windows, rendendolo più veloce e affidabile.

Domande frequenti

  • Come viene eseguito lo script per verificare la data di installazione di Windows?
    Puoi eseguirlo in un ambiente PowerShell, specificando facoltativamente un campo personalizzato per l’output.
  • Funziona su tutte le versioni di Windows?
    Lo script per verificare la data di installazione di Windows è progettato per Windows 10 e Windows Server 2016 e versioni successive.
  • È a prova di errore?
    Lo script per verificare la data di installazione di Windows contiene più blocchi try-catch per gestire in modo ordinato eventuali errori durante l’esecuzione.

Implicazioni

La conoscenza accurata delle date di installazione del sistema operativo è fondamentale per la conformità alla sicurezza e la manutenzione del sistema. I sistemi obsoleti possono costituire un rischio per la sicurezza e questo script aiuta a identificare questi sistemi per i necessari aggiornamenti.

Raccomandazioni

  • Testa sempre lo script per verificare la data di installazione di Windows in un ambiente controllato prima di distribuirlo in un ambiente di produzione.
  • Personalizza il parametro CustomField in base alla struttura dei dati della tua organizzazione per un’integrazione perfetta.

Considerazioni finali

Questo script per verificare la data di installazione di Windows rende evidente come strumenti come NinjaOne possano migliorare le operazioni IT. La piattaforma di NinjaOne può integrare script come questo per una gestione più ampia del sistema, offrendo una soluzione completa che semplifica le operazioni IT, garantendo sistemi aggiornati e sicuri. L’utilizzo di script PowerShell in queste piattaforme porta maggiore efficienza e precisione nella gestione IT.

Passi successivi

La creazione di un team IT efficiente ed efficace richiede una soluzione centralizzata che funga da principale strumento per la fornitura di servizi. NinjaOne consente ai team IT di monitorare, gestire, proteggere e supportare tutti i dispositivi, ovunque essi si trovino, senza la necessità di una complessa infrastruttura locale.

Per saperne di più sulla distribuzione remota di script con NinjaOne, fai un tour dal vivo, o inizia la tua prova gratuita della piattaforma NinjaOne.

Categorie:

Ti potrebbe interessare anche

×

Guarda NinjaOne in azione!

Inviando questo modulo, accetto La politica sulla privacy di NinjaOne.

Termini e condizioni NinjaOne

Cliccando sul pulsante “Accetto” qui sotto, dichiari di accettare i seguenti termini legali e le nostre condizioni d’uso:

  • Diritti di proprietà: NinjaOne possiede e continuerà a possedere tutti i diritti, i titoli e gli interessi relativi allo script (compreso il copyright). NinjaOne ti concede una licenza limitata per l’utilizzo dello script in conformità con i presenti termini legali.
  • Limitazione d’uso: Puoi utilizzare lo script solo per legittimi scopi personali o aziendali interni e non puoi condividere lo script con altri soggetti.
  • Divieto di ripubblicazione: In nessun caso ti è consentito ripubblicare lo script in una libreria di script appartenente o sotto il controllo di un altro fornitore di software.
  • Esclusione di garanzia: Lo script viene fornito “così com’è” e “come disponibile”, senza garanzie di alcun tipo. NinjaOne non promette né garantisce che lo script sia privo di difetti o che soddisfi le tue esigenze o aspettative specifiche.
  • Assunzione del rischio: L’uso che farai dello script è da intendersi a tuo rischio. Riconosci che l’utilizzo dello script comporta alcuni rischi intrinseci, che comprendi e sei pronto ad assumerti.
  • Rinuncia e liberatoria: Non riterrai NinjaOne responsabile di eventuali conseguenze negative o indesiderate derivanti dall’uso dello script e rinuncerai a qualsiasi diritto legale o di equità e a qualsiasi rivalsa nei confronti di NinjaOne in relazione all’uso dello script.
  • EULA: Se sei un cliente NinjaOne, l’uso dello script è soggetto al Contratto di licenza con l’utente finale (EULA) applicabile.