Come regolare le impostazioni della data utilizzando PowerShell



PowerShell è piuttosto utile quando si ha bisogno di modificare la data di sistema senza doverla modificare manualmente ogni volta. Non so perché funzioni, ma a volte si desidera impostarla su una data specifica o spostarla avanti/indietro di ore o giorni, magari per testare un’app sensibile alle date o semplicemente per sperimentare in un ambiente virtuale. Il tutto è piuttosto semplice una volta presa la mano, ma è facile dimenticare i comandi o confonderli se si ha fretta.

Naturalmente, Windows non lo rende particolarmente ovvio, a meno che non si vada a scavare nel pannello di controllo, ma PowerShell può fare tutto questo in un lampo. Tieni presente che modificare l’ora di sistema può causare ogni sorta di stranezza, quindi non dimenticare di reimpostarla in seguito. Inoltre, a seconda delle tue autorizzazioni, potresti dover eseguire PowerShell come amministratore, altrimenti questi comandi potrebbero bloccarsi e l’autorizzazione potrebbe essere negata. Nel peggiore dei casi, riceverai un errore con il messaggio “Accesso negato”, che è un buon suggerimento per eseguirlo come amministratore.

Come modificare la data di Windows utilizzando PowerShell

Cambia data velocemente con un valore fisso

Questo è il metodo più semplice: imposta una data specifica. Utile se stai facendo dei test o vuoi semplicemente simulare una data. Apri PowerShell come amministratore (clicca Win + Xe seleziona “Windows PowerShell (Amministratore)”), quindi digita:

Set-Date -date "14.11.2017 18:00"

Sostituisci la stringa data-ora con quella che ti serve. Facile, vero? In alcune configurazioni, questa operazione potrebbe non funzionare subito, per poi funzionare dopo un riavvio, perché Windows a volte fa i capricci se non si hanno le autorizzazioni o se sono in atto alcune policy di sicurezza.

Aggiungi o sottrai giorni, ore e minuti

Questo è interessante perché puoi modificare la data corrente rispetto a quella odierna. Se vuoi riportare la data indietro di una settimana (cosa che ho usato spesso nei test precedenti), procedi in questo modo:

Set-Date (Get-Date).AddDays(-7)

Questo comando legge la data corrente, sottrae 7 giorni e la imposta.È anche possibile aggiungere minuti, secondi o persino ore concatenando i metodi:

Set-Date (Get-Date).AddDays(-7).AddMinutes(10).AddSeconds(20)

Ciò sposterebbe la data indietro di 7 giorni e aggiungerebbe 10 minuti e 20 secondi: consideratelo estremamente flessibile.

Regola l’ora direttamente con -adjust

È un po’ strano, ma se vuoi spostare l’ora di un intervallo preciso, puoi usare il parametro -adjust. Ad esempio, per spostare l’ora di un’ora e mezza:

Set-Date -adjust -1:30:0

È più semplice che calcolare i secondi o i giorni totali, soprattutto per modifiche una tantum. Ma non dimenticare che modificare l’ora di sistema può causare sbalzi di orario, quindi usalo solo temporaneamente, a meno che tu non sappia cosa stai facendo.

Vale la pena ricordare che questi comandi possono dare problemi se non si esegue PowerShell con privilegi di amministratore o se alcune policy impediscono di modificare l’ora di sistema. Inoltre, la formattazione della stringa della data è importante: molti utenti ricevono errori perché non corrispondono al formato previsto. In alcuni casi, potrebbe essere necessario modificare le impostazioni locali o utilizzare formati di data diversi a seconda delle impostazioni della lingua di sistema.

Un altro aspetto da tenere presente è che su alcuni computer, Windows potrebbe avere l’opzione “Imposta ora automaticamente” attivata nelle impostazioni, che può ignorare le modifiche manuali. Quindi, se le modifiche manuali non funzionano, controlla Impostazioni > Ora e lingua e assicurati che l’aggiornamento automatico non sia abilitato.

Tutto sommato, PowerShell è un piccolo e potente strumento per modificare rapidamente le date: bisogna solo fare attenzione, soprattutto con i cambi di orario, dove un piccolo errore può far sì che il sistema si comporti in modo anomalo.

  • I comandi di PowerShell possono impostare date specifiche o spostare l’ora corrente.
  • Da utilizzare Set-Date -date "DD. MM. YYYY HH:MM"per date fisse.
  • Utilizzare metodi come (Get-Date).AddDays(-n)lo spostamento delle date rispetto a oggi.
  • Ricordarsi di eseguire PowerShell come amministratore per ottenere i permessi.
  • Controllare le impostazioni di Windows se le modifiche manuali non vengono mantenute.

Incartare

Modificare la data del PC non è una cosa da fare alla leggera, ma PowerShell lo rende sorprendentemente semplice se necessario, se necessario solo temporaneamente. Fai attenzione ai problemi di autorizzazione e non dimenticare di reimpostare l’orologio al termine dei test. Sembra funzionare in modo abbastanza affidabile sulla maggior parte delle configurazioni, ma sì, Windows a volte può essere strano con queste cose. Incrociamo le dita sperando che questo aiuti qualcuno a risparmiare un po’ di tempo o a sistemare un ambiente di test bizzarro. Buona fortuna!



Questo articolo è stato utile?