Importante avvertenza prima di cominciare, il registro di configurazione di Windows è molto importante, e delicato, fare modifiche inadatte, o scelte a caso su Internet, potrebbe causare gravi problemi al sistema operativo come instabilità o mancato avvio. Quindi eseguite un backup del sistema, oppure create almeno un punto di ripristino, prima di procedere alla modifica del registro di configurazione.
Volete sapere quanto tempo impiegate a scaricare un file e quale è a velocità media del download? PowerShell li calcola al vostro posto. Lo script non è applicabile a tutti i tipi di download, dovete avere il link diretto del file da scaricare.
Tra le tante possibilità di PowerShell vi è anche quella del System.Speech, cioè possiamo far parlare il computer e leggere il contenuto di un file di testo TXT. Facciamo un paio di esempi pratici di applicazione di questa funzione. E' arrivata quella lunghissima relazione del vostro capo, che non avete nessuna voglia di leggere, ma con poche righe di codice possiamo utilizzare PowerShell che la legga al nostro posto e noi l'ascoltiamo facendo altro. Il far parlare il computer, tramite PowerShell, lo possiamo usare per fare uno scherzo a qualcuno, oppure per dare un messaggio di benvenuto all'accensione del computer o in determinati orari.
Una volta, con il prompt dei comandi, erano Date e Time i comandi da utilizzare, vediamo come visualizzare e cambiare la data e ora con PowerShell. Prima che possiate commentare che ci sono metodi più semplici per fare questa operazione, vi rispondo che bisogna imparare a fare anche le cose più difficili e PowerShell ormai mi ha "conquistato".
Il modulo di PowerShell, che si chiama Microsoft.PowerShell.LocalAccounts, permette attraverso i suoi cmdlet di gestire tutti gli account, e i gruppi, presenti nel sistema operativo, creandone dei nuovi, cancellandoli o rinominandoli.
PowerShell, per sua natura, mostra sempre lo script, e tutti i comandi eseguiti, nella schermata della console, questo può andare bene nella maggior parte dei casi, ma ci sono script che potremmo voler eseguire in modo che non vengano visualizzati dall'utilizzatore del computer o da chi avvia lo script. PowerShell però non permette di eseguire uno script in maniera completamente invisibile, ma per farlo dobbiamo ricorrere a uno script VBS che ho trovato su Stackoverflow.com ed è allegato all'articolo se ne avete bisogno.
Proseguendo gli "studi" su PowerShell in questo articolo volevo soffermarmi sui vari cmdlet che permettono di gestire file e cartelle, quindi creazione, cancellazione, rinomina e spostamento. Vediamo come utilizzarli.
Prima che possiate commentare che esiste Windows Update per la loro distribuzione, vi dico che a livello aziendale può succedere di tutto, anche che il server WSUS non funzioni per niente, o quasi, così le patch non vengono installate e lo dobbiamo fare noi da remoto, e manualmente, perché altrimenti non si può aggiornare l'antivirus aziendale che non trova le ultime patch di Windows.
Abbiamo creato il nostro script personalizzato per eseguire il backup dei nostri documenti, dobbiamo però ripetere questa operazione più volte al giorno, oppure di eseguirla in determinati momenti, il modo migliore per farlo è di utilizzare le operazioni pianificate di Windows.
Se volete creare un backup dei vostri file più importanti, almeno di quasi tutti (spiegherò dopo il perché), senza utilizzare programmi di terze parti è possibile farlo con PowerShell e il suo cmdlet Compress-Archive.
PowerShell è una shell a riga di comando, disponibile per Windows, Linux e macOS, che ricorda molto il prompt dei comandi di una volta (e di cui può utilizzare tutti i comandi), e si serve di un linguaggio di scripting sviluppato da Microsoft. Si basa sul .NET Framework e fornisce varie funzionalità di base, o ampliabili tramite gli script condivisi dagli utenti della gallery, attraverso i suoi comandi, chiamati cmdlet, pronunciato command-let. PowerShell si rivolge principalmente agli amministratori di rete o di computer, perché permette di raccogliere e automatizzare molte operazioni, avviabili anche da remoto, per gestire gruppi di computer e di utenze in un domino aziendale.
PowerShell dispone di una serie di moduli aggiuntivi, raggruppati in una gallery, che permettono di fare molte operazioni in più, potremmo paragonarle alle estensioni dei browser. Per installare questi moduli basta un collegamento Internet e utilizzare i comandi presenti nelle varie pagine. Ma se il collegamento Internet non è disponibile, o il sito non è raggiungibile perché bloccato a livello aziendale? Vediamo come fare lo stesso l'installazione del modulo.
Se siete stanchi delle notifiche piuttosto anonime di Windows, potete creare delle notifiche personalizzate con suoni e immagini a vostra scelta. Per realizzare queste notifiche è necessario che sia installato PowerShell aggiornato almeno alla versione 7.3 che potete scaricare da questo indirizzo.
In un articolo precedente avevamo spiegato come chiudere forzatamente i processi attivi dalla riga di comando con taskkill, adesso vediamo come farlo da PowerShell con Stop-Process.
Da qualche tempo al lavoro utilizziamo NinjaOne per dare assistenza ai computer di un nostro cliente. Tra le tante cose che si possono fare tramite NinjaOne è utilizzare degli script in PowerShell per automatizzare, e facilitare, determinate operazioni che prima era necessario fare in presenza in sede e, nei casi peggiori, dover girare computer per computer. In questo caso dovevo creare dei nuovi link, da posizionare sul desktop dei vari computer, per raggiungere un indirizzo Web che era cambiato. Così ho fatto qualche ricerca e trovato come si creano i collegamenti a file, cartelle, programmi e indirizzi Web.
Chi di noi ha una certa età, ed era abituato all'utilizzo dei comandi DOS, si ricorderà di del *.*, per eliminare tutti i file presenti in una cartella, o rd seguito dal nome di una cartella per cancellarla. Le stesse operazioni, e non solo, si possono fare con PowerShell e il cmdlet Remove-Item.
I server DNS sono i vostri "controllori" del traffico Web, voi digitate l'indirizzo di un sito e loro vi ci portano, solo che, ogni tanto, hanno dei problemi, in particolar modo quelli che vengono forniti dal proprio provider, e qualche sito smette di essere raggiungibile o qualche servizio smette di funzionare come dovrebbe. Negli ultimi tempi, al lavoro, stiamo riscontrando parecchi problemi con un famoso provider nazionale che impedisce l'apertura della VPN dato che i loro DNS non risolvono l'indirizzo del server della VPN.
Finalmente un package manager semplice, sicuro ed efficace per installare utility e programmi anche per Windows!
Quando mi collego a un computer remoto e chiedo all'utente la marca, il modello e il sistema operativo presente, le risposte che ottengo, in moltissimi casi, riguarderanno il monitor (è più in evidenza e attira lo sguardo), mentre cercare il modello preciso del computer non è sempre così comodo perché spesso scritto in piccole e scomode etichette, riguardo al sistema operativo installato non tutti lo conoscono. Così ho voluto raccogliere una serie di comandi utilizzabili nel Terminale di Windows 11 o in PowerShell per ottenere molte risposte alle mie domande.
Abbiamo parlato di rimozione delle app di Windows 11 in questo articolo, utilizzando il comando Dism e qualche metodo alternativo, ora lo faremo direttamente da PowerShell.
La necessità di liberare spazio sul disco fisso può raggiungere livelli molto elevati in hard disk di dimensioni piccole, tra i 32 Gb e i 128 Gb, se tutti i migliori pulitori di sistema non vi hanno creato abbastanza spazio si può provare il Compact OS, ossia la compressione di alcuni file di sistema per recuperare qualche altro giga (dalle informazioni raccolte tra i 2 e i 4 GB).
Con PowerShell possiamo vedere e gestire molti aspetti della scheda di rete del nostro computer, per vedere l'elenco completo dei moduli a nostra disposizione possiamo usare il comando: get-command -module NetTCPIP. Vediamo ora il funzionamento di alcuni di questi moduli utilizzando appunto PowerShell
PowerShell ci mette a disposizione una serie di comandi, o cmdlet per usare il termine più corretto, in genere molto ricchi di opzioni che ricordarsele tutte è sicuramente difficile. PowerShell ci viene in aiuto con il suo help, seguito dal comando, di cui vogliamo conoscere tutto.
Ogni periferica del sistema necessità di un suo driver per poter funzionare, molte sono gestite e aggiornate direttamente dal sistema operativo, altre potrebbero richiedere un nostro intervento in caso presentassero dei problemi di funzionamento a causa di un driver danneggiato o instabile. Diventa così importante conoscere la versione attuale del driver per vedere se esistono degli aggiornamenti o realizzare un downgrade di versione se quelle più recenti ci creano dei problemi di compatibilità.
Mi è capitato più volte di dover convertire dei piccoli file di comando, come .bat o .cmd, in file eseguibili, perché avevo la necessità di eseguire dei comandi, all'avvio del sistema operativo, in modo del tutto invisibile all'utilizzatore del computer, oggi proveremo a convertire degli script VBS o i PS1 di PowerShell in eseguibili.