venerdì 18 novembre 2016

Windows 10: Resettare Cortana tramite PowerShell

Per resettare e ripristinare Cortana a seguito di un malfunzionamento è possibile agire tramite PowerShell.

Avviare PowerShell come amministratore: Dal menu Start ricercare PowerShell quindi cliccare sul collegamento con il tasto destro del mouse, selezionare Esegui come amministratore e accettare al messaggio del UAC (Controllo dell'account utente). 


Windows 10: Avviare PowerShell come amministratore
FIG 1 - Windows 10: Avviare PowerShell come amministratore

Registrare Cortana eseguendo il comando
Get-AppXPackage -Name Microsoft.Windows.Cortana | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

La registrazione provvede a resettare e ripristinare l'APP Cortana.


Windows 10: Reset Cortana tramite PowerShell
FIG 2 - Windows 10: Reset Cortana tramite PowerShell


martedì 15 novembre 2016

Windows 10: Abilitare la shell Bash su Windows 10 Anniversary Update

Una delle novità introdotte (in maniera definitiva) in Windows 10 Anniversary Update è la shell Bash caposaldo di molte distribuzioni Linux. Questa nuova funzione sarà prevalentemente apprezzata dagli utenti più evoluti che utilizzano anche l'ambienta Unix/Linux.

La shell Bash è stata inserita in Windows 10 come componente opzionale e non è attiva di default; per abilitarla:
  • Accedere alla finestra Programmi e funzionalità (WIN+R e digitare Appwiz.cpl seguito da invio);
    Esegui, Appwiz.cpl
    FIG 1 - Esegui, Appwiz.cpl
  • Nella finestra Programmi e funzionalità cliccare sul link Attivazione o disattivazione delle funzionalità di Windows presente sul lato sinistro;
    Windows 10, Attivazione o disattivazione delle funzionalità Windows
    FIG 2 - Windows 10, Attivazione o disattivazione delle funzionalità Windows
  • Nella finestra Funzionalità Windows, spuntare la voce Sottosistema Windows per Linux e confermare cliccando su OK;
    Windows 10, Sottosistema Windows per Linux
    FIG 3 - Windows 10, Sottosistema Windows per Linux
  • Verrà richiesto di riavviare il sistema. Cliccare su Riavvia ora per procedere con il riavvio.

Prima di poter completare l'installazione della shell Bash è necessario abilitare la Modalità sviluppatore:
  • Dal menu Start selezionare Impostazioni e cliccare su Aggiornamento e sicurezza;
    Windows 10, Impostazioni - Aggiornamento e sicurezza
    FIG 4 - Windows 10, Impostazioni - Aggiornamento e sicurezza
  • Cliccare sul link Per sviluppatori presente sul lato sinistro della finestra, quindi, sul lato destro, abilitare la voce Modalità sviluppatore;
    Windows 10, Modalità sviluppatore
    FIG 5 - Windows 10, Modalità sviluppatore
  • Alla richiesta di conferma relativa all'attivazione cliccare su Si.
    Windows 10, Conferma attivazione modalità sviluppatore
    FIG 6 - Windows 10, Conferma attivazione modalità sviluppatore

Una volta abilitata la modalità sviluppatore si procede all'installazione di Ubuntu on Windows:
  • Avviare il prompt dei comandi (WIN+R e digitare cmd seguito da invio);
  • Digitare ed eseguire il comando Bash;
  • Al primo avvio verrà chiesto di installare Ubuntu on Windows. Confermare digitando S seguito da invio. Verrà avviato il download dei componenti dal Windows store.
    Windows 10, installazione Ubuntu on Windows
    FIG 7 - Windows 10, installazione Ubuntu on Windows
  • Al termine del download verrà richiesto di inserire un nuovo nome utente UNIX (ad es. possiamo inserire root).
    Windows 10, Nuovo nome utente Unix
    FIG 8 - Windows 10, Nuovo nome utente Unix

A questo punto possiamo utilizzare i classici comandi della shell Unix/Linux come ls, cp, rm e anche utilizzare una versione specifica del package manager Apt.

Dalla shell Bash possiamo lanciare i seguenti 2 comandi per aggiornare tutti i pacchetti installati alle versioni più recenti
sudo apt-get update
sudo apt-get upgrade

Aggiornare i pacchetti con apt-get update e apt-get upgrade
FIG 9 - Aggiornare i pacchetti con apt-get update e apt-get upgrade

La shell Bash consente di creare script che possono essere avviati anche dal Prompt dei comandi utilizzando il comando
bash -c "/path/to/script.sh"





lunedì 14 novembre 2016

Windows Quick Tip: Visualizzare informazioni su un file WIM (Windows Imaging)

Il formato Windows Imaging (WIMè un formato dell'immagine disco basata su file sviluppato dalla Microsoft per distribuire i suoi sistemi operativi. Il primo sistema operativo ad essere distribuito in tale formato è stato Windows Vista.

Sui supporti di installazione dei sistemi operativi Microsoft il file WIM è generalmente nominato in install.wim e si trova all'interno della cartella Sources. É facilmente riconoscibile sia dall'estensione .WIM sia dalla sua dimensione (si tratta del file più grande presente all'interno del supporto).

Per recuperare o modificare le informazioni contenute nei file WIM viene utilizzato il Deployment Image Service and Management Tool (DISM). 

Tra le informazioni visualizzabili tramite DISM troviamo il nome del sistema operativo, versione, architettura, dimensione e data di creazione del file WIM.

Per visualizzare tali informazioni basta eseguire pochi e semplici passaggi:
  • Avviare il Prompt dei comandi (come amministratore);
  • Eseguire il comando
    Dism /Get-WimInfo /WimFile:X:\sources\install.wim /index:1
    ovviamente sostituendo a 
    X:\sources\install.wim il percorso e il nome del file .wim che si intende analizzare.
FIG 1 - DISM, visualizzare informazioni su file WIM


giovedì 10 novembre 2016

PowerShell: Mandare in stampa determinati file presenti in una cartella

Per mandare in stampa un determinato file utilizzando PowerShell è possibile utilizzare il comando
Start-Process -FilePath <path_e_nome_file> –Verb Print

Ad es. per stampare il file c:\temp\list.pdf il comando da eseguire è
Start-Process -FilePath c:\temp\list.pdf –Verb Print

Il file verrà aperto, mandato in stampa sulla stampante predefinita e quindi verrà chiuso.

Per stampare tutti i file PDF contenuti nella cartella c:\temp\ 
Dir c:\temp\*.pdf | Foreach-Object { Start-Process -FilePath $_.FullName –Verb Print }
PowerShell, stampare tutti i file PDF presenti in una cartella
FIG 1 - PowerShell, stampare tutti i file PDF presenti in una cartella

In caso di file di solo testo si può scegliere di utilizzare i cmdlet Get-Content e Out-Printer
Get-Content c:\temp\list.txt | Out-Printer

PowerShell: Visualizzare il tipo di avvio e lo stato dei servizi di sistema utilizzando Get-WMIObject

Per visualizzare lo stato dei servizi di Windows e il relativo tipo di avvio impostato è possibile utilizzare il cmdlet di PowerShell Get-WMIObject.
Da PowerShell eseguire il comando
Get-WMIObject Win32_Service | Select-Object Name, StartMode, State

Se si intende visualizzare le informazioni relative ad un solo servizio possiamo filtrare il risultato con Where {$_.name -eq "Nome_Servizio"}
Ad es. volendo visualizzare il tipo di avvio e lo stato del servizio Spooler eseguiamo il comando
Get-WMIObject Win32_Service | Where {$_.name -eq "Spooler"} | Select-Object Name, StartMode, State


PowerShell, visualizzare il tipo di avvio e lo stato di un servizio
FIG 1 - PowerShell, visualizzare il tipo di avvio e lo stato di un servizio

In modo analogo è possibile visualizzare solo i servizi in esecuzione utilizzando il filtro Where {$_.state -eq "Running"}
Get-WMIObject Win32_Service | Where {$_.state -eq "Running"} | Select-Object Name, StartMode, State

oppure quelli che hanno impostato come tipo di avvio Automatico con Where {$_.StartMode -eq "Auto"}
Get-WMIObject Win32_Service | Where {$_.StartMode -eq "Auto"} | Select-Object Name, StartMode, State

Per utilizzare più condizioni nello stesso comando basta utilizzare -and. Ad es., lanciando il seguente comando uniamo le 2 condizioni viste precedentemente e verranno mostrati tutti i servizi in esecuzione che hanno impostato come tipo di avvio Automatico
Get-WMIObject Win32_Service | Where {$_.state -eq "Running" -and $_.StartMode -eq "Auto"} | Select-Object Name, StartMode, State

Per visualizzare le informazioni relative ai servizi di una macchina remota, basta utilizzare il parametro -Computer specificando il nome o l'indirizzo IP della postazione. Ad es. volendo verificare il servizio Spooler sulla postazione Server1 il comando da utilizzare è il seguente:
Get-WMIObject Win32_Service -Computer Server1 | Where {$_.name -eq "Spooler"} | Select-Object Name, StartMode, State


mercoledì 9 novembre 2016

Windows Quick Tip: Visualizzare informazioni sulla scheda madre utilizzando WMIC

Tramite WMIC (Windows Management Instrumentation Command-line) è possibile visualizzare informazioni sulla scheda madre del sistema. Per farlo basta lanciare il seguente comando dal Prompt dei comandi
WMIC baseboard get Manufacturer, Model, Name, PartNumber, serialnumber

Per visualizzare le informazioni della scheda madre di workstation/server remoti, basta aggiungere a WMIC il parametro /Node: indicando il nome della worstation/server remoto:
WMIC /node:<nome_wks> baseboard get Manufacturer, Model, Name, PartNumber, serialnumber
ad es., supponiamo di volere visualizzare le informazioni della scheda madre del server Server1, il comando da eseguire sarà
WMIC /node:Server1 baseboard get Manufacturer, Model, Name, PartNumber, serialnumber

WMIC baseboard
FIG 1 - WMIC baseboard

Le informazioni visualizzate non saranno dettagliate come quelle visualizzate da appositi programmi di terze parti (come AIDA64 o HWiNFO) ma consentono comunque di avere un'idea sull'hardware installato.


martedì 8 novembre 2016

Windows Quick Tip: Disabilitare il riavvio automatico in caso di errori di sistema (BSOD)

Per impostazione di default, Windows si riavvia automaticamente quando si verifica un errore di sistema con schermata blu (BSODblue screen of death). Prima di riavviarsi, il sistema provvede a generare file di dump contenenti dettagli sull'errore consentendo in questo modo ai sistemisti l'analisi del problema. Può capitare che l'operazione sia talmente veloce da non permettere di leggere il messaggio a video oppure, in alcuni casi, il file di dump non viene creato rendendo difficile la ricerca della causa scatenante dell'errore. In questi casi può essere utile disabilitare il riavvio automatico a seguito  di errori di sistema procedendo nel seguente modo:
  • Accedere alla finestra Proprietà del sistema (WIN+R e digitare SystemPropertiesAdvanced seguito da invio);

    SystemPropertiesAdvanced
    FIG 1 - SystemPropertiesAdvanced
  • Nella scheda Avanzate cliccare sul pulsante Impostazioni presente nella sezione Avvio e ripristino;

    Proprietà del sistema
    FIG 2 - Proprietà del sistema
  • Rimuovere la spunta alla voce Riavvia automaticamente presente nella sezione Errori di sistema e cliccare su OK per confermare l'impostazione.
    Riavvia automaticamente
    FIG 3 - Riavvia automaticamente
  • Riavviare il sistema per rendere effettiva la modifica.

Da questo momento in poi al verificarsi di un errore di sistema con conseguente schermata blu, il sistema non verrà riavviato automaticamente.