mercoledì 19 ottobre 2016

Windows 10: Disabilitare Cortana in Windows 10 Anniversary Update agendo tramite registro o Group Policy

In Windows 10 Anniversary Update, Microsoft non consente di disabilitare Cortana. Chi volesse disabilitare Cortana nella nuova versione di Windows 10 dovrà procedere tramite group policy (possibile solo nel caso di Windows 10 Pro o Enterprise) o agendo tramite registro di sistema.

Disabilitare Cortana tramite registro di sistema
  • Avviare l'editor del registro di sistema (WIN+R e digitare regedit seguito da invio);
  • Posizionarsi su
    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search
    nel caso in cui la chiave Windows Search non fosse presente, crearla manualmente;
  • Creare, nel caso in cui non fosse già presente, un nuovo Valore DWORD (32 bit), assegnargli il nome AllowCortana e settarlo a 0.
Affinché le modifiche diventino effettive è necessario riavviare il sistema o disconnettersi e riconnettersi.
Per ripristinare Cortana basta eliminare il valore AllowCortana o settarlo ad 1.


Disabilitare Cortana tramite registro di sistema
FIG 1 - Disabilitare Cortana tramite registro di sistema

Chi vuole, può scaricare i file .reg che permettono di abilitare/disabilitare Cortana tramite il seguente link
Download



Disabilitare Cortana via Group Policy
Per chi utilizza Windows 10 Professional o Enterprise può utilizzare anche l'Editor di criteri di gruppo locali per disabilitare/abilitare Cortana tramite Policy.
  • Avviare l'Editor di Criteri di gruppo locali (WIN+R e digitare gpedit.msc seguito da invio);
  • Spostarsi su Configurazione computer -> Modelli amministrativi -> Componenti di Windows -> Cerca;
  • Individuare la voce Consenti Cortana nel pannello laterale destro e cliccarci 2 volte su con il tasto sinistro del mouse;

    Editor di Criteri di gruppo locali, Consenti Cortana
    FIG 2 - Editor di Criteri di gruppo locali, Consenti Cortana
  • Selezionare l'opzione Disattivata e cliccare su Applica.

    Disattivare Cortana tramite l'Editor di Criteri di gruppo locali
    FIG 3 - Disattivare Cortana tramite l'Editor di Criteri di gruppo locali
Anche in questo caso è necessario riavviare il sistema o disconnettersi e riconnettersi per rendere effettive le modifiche.

lunedì 17 ottobre 2016

Kali Linux: Impostare e configurare un'interfaccia ethernet in Kali Linux 2016.2 tramite CLI

In quest'articolo vedremo come impostare e configurare manualmente, tramite CLI, un'interfaccia ethernet in Kali Linux 2016.2.

La prima operazione da effettuare è- quella di individuare il nome della scheda di rete che si intende configurare.
Avviare il terminale ed eseguire il comando

ls /sys/class/net/


Visualizzare le interfacce di rete
FIG 1 - Visualizzare le interfacce di rete

Verranno visualizzate tutte le interfacce di rete presenti nel sistema (da notare che il nomi di interfacce cablate iniziano con la lettera 'e' mentre quelle Wi-Fi iniziano con la lettera 'w').

Supponiamo di voler configurare l'interfaccia con nome eth0, per farlo è possibile andare a modificare il file /etc/network/interfaces contenente gran parte delle configurazioni ethernet. Da terminale lanciare il comando

nano /etc/network/interfaces


Ora bisogna decidere se impostare un IP dinamico o statico.

Configurazione IP dinamico tramite server DHCP
Se si intende impostare l'interfaccia eth0 in modo che riceva la configurazione da un server DHCP basta aggiungere le seguenti righe al file

auto eth0
iface eth0 inet dhcp

La prima riga fa in modo che il dispositivo eth0 venga attivato all'avvio, la seconda, invece, stabilisce che l'interfaccia eth0 deve avere uno spazio di indirizzi IPv4 (se si intende utilizzare l'IPv6 è necessario sostituire "inet" con "inet6") e che la sua configurazione viene ottenuta da un server DHCP

Configurazione IP statico

Per configurare l'interfaccia con un IP statico e una configurazione personalizzata è possibile aggiungere le righe di seguito indicate al file /etc/network/interfaces (ovviamente andando a sostituire i valori con quelli desiderati)

auto eth0
iface eth0 inet static
address 192.168.0.14
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 8.8.8.8

La prima riga specifica che il dispositivo eth0 deve essere attivato all'avvio.
La seconda riga indica che all'interfaccia eth0 viene assegnato un IP statico IPv4. Le restanti 4 righe assegnano all'interfaccia l'indirizzo IP, la subnet mask,  il gateway e impostano il server DNS.
Configurazione dell'interfaccia, /etc/network/interfaces
FIG 2 - Configurazione dell'interfaccia, /etc/network/interfaces

Una volta terminate le modifiche al file /etc/network/interfaces, salvare le impostazioni tramite la combinazione di tasti CTRL+O seguito da Invio, quindi chiudere l'editor premendo CTRL+X.


A questo punto non resta che avviare e abilitare il Network Manager.
Avviare il servizio networking utilizzando il comando /etc/init.d/networking start da terminale.  Per gestire le connessioni tramite Network Manager è necessario modificare il file /etc/NetworkManager/NetworkManager.conf.
Dalla finestra terminale eseguire
nano /etc/NetworkManager/NetworkManager.conf


NetworkManager.conf
FIG 3 - NetworkManager.conf

quindi, nella finestra dell'editor, sostituire la scritta false, relativa all'opzione managed nella sezione ifupdown, con true. Sovrascrivere il file premendo la combinazione di tasti CTRL+O e confermare con Invio. Per uscire dall'editor premere CTRL+X.

Riavviare Network Manager tramite il seguente comando:

/etc/init.d/network-manager restart  

Adesso la nostra interfaccia di rete è configurata e funzionante.

mercoledì 12 ottobre 2016

Windows 10: Abilitare Potential Unwanted Application (PUA) di Windows Defender tramite registro

Windows Defender ha una funzione nascosta che consente di attivare la protezione contro potenziali applicazioni indesiderate o PUA (Potential Unwanted Application). Per abilitare tale funzione è necessario agire sul registro di sistema.
  • Avviare l'editor del registro di sistema (WIN+R e digitare regedit seguito da invio);
  • Posizionarsi su HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\MpEngine
    (se non presente, creare la chiave MpEngine manualmente);
  • Creare un valore DWORD, rinominarlo in MpEnablePus e assegnargli valore 1 per abilitare la verifica su PUA.
Per disabilitare la protezione basta eliminare MpEnablePus o assegnargli valore 0. Chi non vuole mettere le mani all'interno del registro di sistema può scaricare i file .reg per abilitare/disabilitare la protezione PUA utilizzando il seguente link
Download Windows Defender Enable-Disable PUA


Windows Defender, abilita protezione PUA
FIG 1 - Windows Defender, abilita protezione PUA

In alternativa, dal prompt dei comandi eseguito come amministratore, è possibile lanciare il seguente comando per abilitare la protezione PUA:
REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\MpEngine" /v MpEnablePus /t REG_DWORD /d 1 /f

Per disabilitarla, invece, basta eseguire:
REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows Defender\MpEngine" /v MpEnablePus /t REG_DWORD /d 0 /f

In entrambi i casi, affinché le modifiche diventino effettive, è necessario riavviare il sistema.

martedì 11 ottobre 2016

Windows Quick Tip: Aggiornare l'antivirus Microsoft in modalità off-line

Per essere efficiente un antivirus deve essere sempre aggiornato. L'antivirus incluso nelle ultime versioni dei sistemi operativi Microsoft, come tutti gli antivirus free o a pagamento, si aggiorna automaticamente tramite la connessione ad Internet. Nel caso in cui non si disponga della connessione ad Internet su tutte le macchine o nel caso in cui l'aggiornamento online sia inibito da qualche malware è possibile aggiornare l'antivirus Microsoft in modalità off-line.
  • Con un computer dotato di connessione ad Internet, aprire il browser e accedere al sito https://www.microsoft.com/security/portal/definitions/adl.aspx. Verrà aperta la pagina Microsoft relativa agli aggiornamenti dell'antimalware.
    Microsoft Malware Protection Center
    FIG 1 - Microsoft Malware Protection Center
  • Scorrendo la pagina degli aggiornamenti troviamo la sezione Antimalware and antispyware updates dove, cliccando sui relativi link, è possibile scaricare gli aggiornamenti del proprio antivirus.
    Microsoft Malware Protection Center, Antimalware and antispyware updates
    FIG 2 - Microsoft Malware Protection Center, Antimalware and antispyware updates
  • Il download consiste in un file nominato mpam-fe.exe che, eseguito sulle postazioni non connesse ad Internet, consente l'aggiornamento dell'antivirus Microsoft.


lunedì 10 ottobre 2016

Windows 10: Il sistema operativo non rileva più l'unità ottica

Molti utenti che hanno deciso di eseguire l'update a Windows 10 si sono ritrovati con il problema del mancato riconoscimento dell'unità ottica (lettore/masterizzatore CD/DVD/Blu-Ray). Per risolvere il problema è possibile procedere utilizzare i seguenti metodi.


Metodo 1

  • Avviare il Prompt dei comandi come amministratore (WIN+X e dal menu selezionare la voce Prompt dei comandi (amministratore) );
  • Digitare ed eseguire il seguente comando
    reg.exe add "HKLM\System\CurrentControlSet\Services\atapi\Controller0" /f /v EnumDevice1 /t REG_DWORD /d 0x00000001
  • Riavviare il sistema;
Ripristino unità ottica
FIG 1 - Ripristino unità ottica



Metodo 2

  • Avviare l'editor del registro di sistema (WIN+R e digitare regedit seguito da invio);
  • Posizionarsi su
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\ {4D36E965-E325-11CE-BFC1-08002BE10318}
  • Eliminare i valori UpperFilters e LowerFilters e riavviare il sistema.
Regedit, LowerFilters e UpperFilters
FIG 2 - Regedit, LowerFilters e UpperFilters








mercoledì 5 ottobre 2016

Windows 10: Ritardare gli aggiornamenti

A differenza dei sistemi operativi precedenti di casa Microsoft, Windows 10 non permette agli utenti di decidere autonomamente se e quando installare gli aggiornamenti. Se da un lato questo sembra essere una impostazione restrittiva dall'altro permette agli utenti di avere sempre la versione aggiornata del sistema operativo a tutto vantaggio della sicurezza.
Con il primo update dopo il rilascio della versione definitiva di Windows 10, Microsoft ha introdotto alcuni strumenti che consentono agli utenti di avere un maggiore controllo sugli aggiornamenti da installare. Gli aggiornamenti continuano a non poter essere accettati singolarmente ma è possibile ritardare la loro applicazione al fine di limitare al minimo i rischi causati dall'installazione di patch che possono minare la stabilità del sistema.
Per ritardare l'installazione degli update è necessario agire tramite l'editor delle policy di gruppo, pertanto è possibile solo su sistemi Windows 10 Pro ed Enterprise.

Vediamo come procedere.
  • Accedere alla finestra Impostazioni e selezionare Aggiornamento e sicurezza;

    Windows 10 - Impostazioni, Aggiornamento e sicurezza
    FIG 1 - Windows 10 - Impostazioni, Aggiornamento e sicurezza
  • Sul lato sinistro della finestra assicurarsi che sia selezionata l'opzione Windows Update quindi cliccare su Opzioni avanzate;

    Windows 10 - Impostazioni, Windows Update
    FIG 2 - Windows 10 - Impostazioni, Windows Update
  • Nella finestra successiva, selezionare l'opzione Ritarda aggiornamenti delle funzionalità;

    Windows 10 - Opzioni avanzate, Ritarda aggiornamenti delle funzionalità
    FIG 3 - Windows 10 - Opzioni avanzate, Ritarda aggiornamenti delle funzionalità


La prima parte è conclusa. Adesso bisogna agire tramite l'editor delle policy di gruppo. 
  • Dalla finestra Esegui (WIN+R) digitare gpedit.msc e cliccare su OK;

    Windows 10 - gpedit.msc
    FIG 4 - Windows 10 - gpedit.msc
  • Nella finestra dell'Editor Criteri di gruppo locali, sul lato sinistro, raggiungere il percorso Criteri Computer locale -> Configurazione computer -> Modelli amministrativi -> Componenti di Windows ->Windows Update -> Rinvia gli aggiornamenti di Windows;

    Windows 10 - Editor Criteri di gruppo locali
    FIG 5 - Windows 10 - Editor Criteri di gruppo locali
    Sul lato destro troviamo 2 criteri da attivare e impostare: Seleziona il momento per la ricezione degli aggiornamenti delle funzionalità e Seleziona il momento per la ricezione degli aggiornamenti qualitativi.

    Gli aggiornamenti delle funzionalità sono gli aggiornamenti più corposi che vengono rilasciati più raramente e contengono novità significative relative alle funzionalità offerte.
    Gli aggiornamenti qualitativi, invece, riguardano aggiornamenti più piccoli e frequenti come nuove versioni di driver, patch di sicurezza e di correzione bug.

  • Cliccare 2 volte su Seleziona il momento per la ricezione degli aggiornamenti delle funzionalità e, nella finestra che viene aperta, cliccare su Attivata per attivarla. Nel menu a tendina Seleziona il livello di disponibilità del ramo per gli aggiornamenti delle funzionalità che vuoi ricevere, possiamo selezionare Current Branch for Business che ritarda ulteriormente l'installazione degli aggiornamenti rispetto a Current Branch. Nella casella sottostante possiamo impostare anche per quanti giorni rimandare l'aggiornamento dopo che è stato rilasciato. La casella Sospendi gli aggiornamenti delle funzionalità consente di interrompere la ricezione degli aggiornamenti tuttavia tale blocco è temporaneo, dopo 35 giorni il funzionamento di Windows Update viene ripristinato automaticamente.

    Windows 10 - Seleziona il momento per la ricezione degli aggiornamenti delle funzionalità
    FIG 6 - Windows 10 - Seleziona il momento per la ricezione degli aggiornamenti delle funzionalità
  • É possibile procedere analogamente per Seleziona il momento per la ricezione degli aggiornamenti qualitativi. Ovviamente si consiglia di non ritardare troppo gli aggiornamenti relativi alla sicurezza.

lunedì 19 settembre 2016

PowerShell: Implementare la funzione Mostra Desktop tramite PowerShell

Chi lavora con molte finestre aperte in ambiente Windows conoscerà sicuramente il tasto Mostra Desktop presente nella barra delle applicazioni (o la relativa scorciatoia da tastiera WIN+D) che permette di ridurre ad icona tutte le finestre in modo da mostrare il desktop sottostante. Per implementare tale funzione in PowerShell bastano 2 semplici istruzioni:

$showDesk = New-Object -ComObject Shell.Application
$showDesk.ToggleDesktop()


PowerShell: Mostra Desktop
FIG 1 - PowerShell: Mostra Desktop


giovedì 15 settembre 2016

PowerShell: Visualizzare data e ora dell'ultimo boot del sistema utilizzando Get-CimInstance

Il cmdlet Get-CimInstance cattura le istanze Common Information Model (CIM) di una classe da un server CIM. Il cmdlet può essere usato, insieme alla classe Win32_OperatingSystem , per visualizzare la data e l'ora dell'ultimo boot effettuato dal sistema tramite il seguente comando in PowerShell:

Get-CimInstance -ClassName Win32_OperatingSystem | select  lastbootuptime


PowerShell: Last Boot time
FIG 1 - PowerShell: Last Boot time
Per visualizzare la data e l'ora dell'ultimo boot di una postazione remota, basta utilizzare il parametro -ComputerName

Get-CimInstance -ClassName Win32_OperatingSystem -ComputerName <nome_computer> | select  lastbootuptime

indicando al posto di <nome_computer> il nome del computer remoto.

mercoledì 14 settembre 2016

PowerShell: Visualizzare i task schedulati utilizzando Get-ScheduledTask

Il cmdlet Get-ScheduledTask di PowerShell 3.0 (e successivi) consente di visualizzare i task schedulati sulla macchina.


Parametri principali


-AsJob
Il parametro esegue il comando in background. Per poter utilizzare tale parametro è necessario eseguire PowerShell come amministratore

-CimSession
Esegue il comando su una sessione o un computer remoto.

-TaskName
Consente di specificare il nome di un task schedulato da verificare.

-TaskPath
Specifica il path dei task schedulati da verificare.



Di seguito alcuni esempi

Esempio 1
Get-ScheduledTask 
Visualizza tutti i task schedulati presenti sulla macchina.

Esempio 2
Get-Scheduledtask  | where state -eq "Running"
Visualizza tutti i task schedulati che sono al momento in esecuzione sulla macchina.

Esempio 3
Get-ScheduledTask -CimSession "Nome_Computer"
Visualizza tutti i task schedulati del computer remoto indicato da Nome_Computer.

Esempio 4
Get-ScheduledTask -TaskName "Nome_Task"
Visualizza lo stato del task schedulato indicato da Nome_Task (se il task esiste).

Esempio 5
Get-ScheduledTask -TaskPath "\Microsoft\"
Visualizza tutti i task schedulati presenti nel path \Microsoft\.

martedì 13 settembre 2016

Windows 10: Eliminare le cartelle $Windows~BT e $Windows~WS

Chi ha eseguito l'aggiornamento a Windows 10 si ritroverà sul disco due cartelle nascoste: $Windows~BT e $Windows~WS. Si tratta di cartella create dalla procedura di installazione del nuovo sistema operativo di Microsoft. Le cartelle sono nascoste, pertanto per visualizzarle è necessario attivare l'apposita opzione di visualizzazione all'interno di Esplora File, e contengono circa 6GB di file temporanei. La rimozione può essere eseguita, senza particolari controindicazioni, seguendo una particolare procedura:
  • Avviare il Prompt dei comandi come amministratore (WIN+X e dal menu selezionare la voce Prompt dei comandi (amministratore) );
  • Digitare i seguenti comandi per prendere i permessi ed eliminare la cartella C:\$Windows.~BT 
    Takeown /F C:\$Windows.~BT\* /R /A
    Icacls C:\$Windows.~BT\*.* /T /grant administrators:F
    Rmdir /S /Q C:\$Windows.~BT\
  • Eseguire le stesse operazioni per la cartella C:\$Windows.~WS\
    Takeown /F C:\$Windows.~WS\* /R /A
    Icacls C:\$Windows.~WS\*.* /T /grant administrators:F
    Rmdir /S /Q C:\$Windows.~WS\

Nel caso in cui si riceva in risposta il messaggio "Accesso Negato", riavviare il sistema e riprovare. L'avvenuta cancellazione delle cartelle viene confermata da un messaggio di successo.

lunedì 12 settembre 2016

Windows Quick Tip: Scrivere formule matematiche con il Pannello input penna espressioni matematiche

Le tastiere dei PC e i software di scrittura tradizionali non consentono di inserire facilmente formule matematiche all'interno di documenti. Microsoft, già a partire da Windows 7, ha introdotto un potente strumento all'interno del sistema operativo che fornisce un notevole aiuto nella scrittura di espressioni matematiche. Il nome di tale strumento è Pannello input penna espressioni matematiche (Math Input Panel). Per eseguirlo basta ricercalo nella casella di ricerca di Windows oppure tramite la combinazione di tasti WIN+R e digitando MIP.exe seguito da invio.


Pannello input penna espressioni matematiche
FIG 1 - Pannello input penna espressioni matematiche
L'utilizzo del tool è abbastanza intuitivo e interpreta le scritte a mano libera (inserite tramite tavoletta grafica, touch screen o semplicemente con il mouse) trasformandole istantaneamente nella formula corrispondente. L'algoritmo di riconoscimento è molto efficiente. Sul lato destro della finestra, inoltre, sono presenti diversi pulsanti che consentono di passare dalla modalità di scrittura a quella di cancellazione oppure permettono di selezionare un'elemento e correggerlo manualmente o selezionandolo da un elenco di segni simili suggeriti (un po' come avviene in un elaboratore di testi come Word).

Terminata la scrittura della formula è possibile inserirla in un documento cliccando sul tasto Inserisci presente nella parte bassa della finestra.


Formula creata tramite Pannello input penna espressioni matematiche e inserita in MS Word
FIG 2 - Formula creata tramite Pannello input penna espressioni matematiche e inserita in MS Word

venerdì 9 settembre 2016

Windows Quick Tip: Modificare la priorità delle connessioni Wi-Fi da riga di comando

In Windows 7 era possibile visualizzare e gestire l'elenco delle reti Wi-Fi preferite tramite l'apposita interfaccia grafica messa a disposizione del sistema operativo. Da Windows 8 in poi tale possibilità è stata rimossa e non viene più offerta un'interfaccia grafica che consenta di impostare l'ordine di preferenza della varie connessioni disponibili. La priorità delle connessioni Wi-Fi viene impostata seguendo l'ordine di registrazione iniziale e per modificarla è necessario agire tramite riga di comando. 

La prima operazione da effettuare è quella di visualizzare l'elenco delle connessioni Wi-Fi:
  • Avviare il prompt dei comandi come amministratore ( WIN+X e dal menu selezionare la voce Prompt dei comandi (amministratore) )
  • Digitare ed eseguire il seguente comando
    netsh wlan show profiles
Connessioni Wi-Fi
FIG 1 - Connessioni Wi-Fi

Le connessioni Wi-Fi vengono elencate in ordine di priorità. Per variare la priorità di una connessione Wi-Fi la riga di comando da utilizzare è:

netsh wlan set profileorder name="Nome_Connessione" interface="Wi-Fi" priority=1

Nel comando precedente è necessario sostituire Nome_Connessione con il nome della connessione Wi-Fi a cui si intende dare la priorità.


martedì 30 agosto 2016

Windows 7: Integrare i driver USB 3.0 all'interno del DVD di installazione

Il DVD di Windows 7 non include i driver dell'interfaccia USB 3.0 e questo, su alcune configurazioni hardware, può impedire di portare a termine l'installazione del sistema operativo dato che anche mouse a tastiera USB potrebbero non essere utilizzabili in tale fase. Il progresso tecnologico può portare anche a questo, così configurazioni hardware recenti (come ad es. il SoC Intel Braswell che integra un nuovo controller USB 3.0 non riconosciuto da Windows 7 in fase di installazione) possono presentare problemi con Sistemi Operativi realizzati qualche anno prima.
Se non si intende rinunciare all'installazione di Windows 7 passando ad un sistema più recente è possibile rimboccarsi le maniche e integrare i file necessari all'interno del DVD (o della pendrive usb) di installazione.

Quello di cui abbiamo bisogno è di un PC funzionante con Sistema Operativo Windows su cui operare.
  • In C:\ creare una cartella e rinominarla in WIM
  • All'interno della cartella WIM creiamo 2 nuove cartelle rinominandole rispettivamente Mount e USB3
  • Scarichiamo il driver USB dal sito Intel (https://downloadcenter.intel.com/download/24896/USB-3-0-Intel-USB-3-0-Driver-for-Intel-NUC)
  • Scompattiamo il file contenente il driver. Cerchiamo e copiamo le cartelle Win7 e HCSwitch all'interno di C:\WIM\USB3. All'interno di tali cartelle sono presenti le versioni x64 e x32 dei driver. Utilizziamo quelli specifici per la versione di Windows 7 che intendiamo installare.
  • Dal DVD di installazione di Windows 7 cerchiamo i file Install.wim e Boot.wim e copiamoli in C:\WIM
  • Apriamo un Prompt dei comandi come amministratore e posizioniamoci in C:\WIM
  • Ora subentra la fase più delicata. Andremo a modificare l'immagine di Windows tramite DISM. Digitare il comando
    Dism /Mount-Wim /wimfile:"Install.wim" /index:X /MountDir:"mount"
    Il valore di X del parametro index dipende dalla versione di Windows 7 che si sta modificando: 1 per Home Basic, 2 per Home Premium, 3 per Professional, 4 per Ultimate
  • Il prossimo passo consiste nell'aggiungere i driver all'immagine con il seguente comando 
    Dism /image:"mount" /add-driver /driver:"USB3" /recurse
  • Salviamo l'immagine modificata con il comando 
    Dism /Unmount-Wim /mountdir:"mount" /commit

Ora dobbiamo effettuare un'operazione analoga con il file Boot.wim
  • Lanciamo il comando 
    Dism /Mount-Wim /wimfile:"Boot.wim" /index:1 /MountDir:"mount" 
    A differenza di quanto visto per il file Install.wim, in questo caso il parametro index deve essere 1
  • Aggiungiamo il driver con il comando 
    Dism /image:"mount" /add-driver /driver:"USB3" /recurse
  • Salviamo il file con il comando
    Dism /Unmount-Wim /mountdir:"mount" /commit
  • Modifichiamo l'index 2 con 
    Dism /Mount-Wim /wimfile:"Boot.wim" /index:2 /MountDir:"mount"
  • e aggiungiamo il driver anche qui con
    Dism /image:"mount" /add-driver /driver:"USB3" /recurse
  • Quindi applichiamo le modifiche 
    Dism /Unmount-Wim /mountdir:"mount" /commit
Adesso i file Install.wim e Boot.wim presenti in C:\WIM integrano i driver del controller USB 3.0. Possiamo scaricare l'ISO di Windows 7 oppure crearla, con appositi tool come UltraISOMagic ISO MakerPowerISO (anche in prova gratuita), dal DVD in nostro possesso. Nella ISO, sempre con gli appositi tool, andremo a sostituire i file Install.wim e Boot.Wim con quelli da noi modificati e procedere alla masterizzazione di un nuovo DVD.
In alternativa, dall'ISO originale, possiamo creare una pendrive bootable con il tool gratuito Windows USB/DVD Download Tool  quindi sostituiamo i 2 file all'interno della pendrive e possiamo procedere con l'installazione del sistema operativo facendo il boot da USB.


lunedì 29 agosto 2016

Windows Quick Tip: Modificare le dimensioni del file di paging (pagefile.sys) da riga di comando tramite WMIC

Abbiamo già incontrato WMIC (Windows Management Instrumentation Command-linein un articolo precedente. Si tratta di potente strumento che consente la gestione dei sistemi da riga di comando.

In questo articolo mostrerò come impostare le dimensioni del file di memoria virtuale (pagefile.sys) utilizzando WMIC. I comandi da utilizzare sono molto semplici:
  • Dal Prompt dei comandi eseguire il comando 
    wmic pagefile list /format:list 
    per visualizzare le informazioni relative ai file di memoria virtuale presenti sulla macchina.
  • Per creare un'istanza relativa al file di paging che intendiamo creare/impostare lanciare il comando
    wmic pagefileset create name="C:\pagefile.sys"
  • Per settare la dimensione minima e massima del file di paging a 4GB (4096MB) utilizzare il comando
    wmic pagefileset where name="C:\\pagefile.sys" set InitialSize=4096,MaximumSize=4096
    Possiamo personalizzare la dimensione iniziale e massima di pagefile.sys passando a InitialSize e MaximumSize la dimensione desiderata espressa in MB. (NB: il doppio carattere \\ all'interno del comando è necessario per la query).
  • Nel caso in cui abbiamo settato il file di paging su una partizione diversa e vogliamo cancellarlo dalla partizione C: possiamo utilizzare il parametro delete
    wmic pagefileset where name="C:\\pagefile.sys" delete
WMIC, dimensione dei file di paging
FIG 1 - WMIC, dimensione dei file di paging


WMIC ci consente anche di eseguire le impostazioni su workstation/server remoti, basta aggiungere a WMIC il parametro /Node:<nome_wks>
Ad es. supponiamo di volere impostare il file di paging sul server chiamato Server01:
wmic /NODE:Server01 pagefile list /format:list
wmic /NODE:Server01 pagefileset create name="C:\pagefile.sys"
wmic /NODE:Server01 pagefileset where name="C:\\pagefile.sys" set InitialSize=4096,MaximumSize=4096

martedì 16 agosto 2016

PowerShell: Formattare un volume esistente con Format-Volume

Il cmdlet Format-Volume di PowerShell 3.0 (e successivi) consente di formattare un volume esistente. La sintassi è la seguente (a seconda se si intende indicate la lettera del drive, l'ID, l'etichetta, la partizione o il percorso):

DriveLetter
Format-Volume [-DriveLetter] <Char[]> [-AllocationUnitSize <UInt32> ] [-AsJob] [-CimSession <CimSession[]> ] [-Compress] [-DisableHeatGathering] [-FileSystem <String> ] [-Force] [-Full] [-NewFileSystemLabel <String> ] [-SetIntegrityStreams <Boolean> ] [-ShortFileNameSupport <Boolean> ] [-ThrottleLimit <Int32> ] [-UseLargeFRS] [-Confirm] [-WhatIf] [ <CommonParameters>]

ID
Format-Volume -ObjectId <String[]> [-AllocationUnitSize <UInt32> ] [-AsJob] [-CimSession <CimSession[]> ] [-Compress] [-DisableHeatGathering] [-FileSystem <String> ] [-Force] [-Full] [-NewFileSystemLabel <String> ] [-SetIntegrityStreams <Boolean> ] [-ShortFileNameSupport <Boolean> ] [-ThrottleLimit <Int32> ] [-UseLargeFRS] [-Confirm] [-WhatIf] [ <CommonParameters>]

Label
Format-Volume -FileSystemLabel <String[]> [-AllocationUnitSize <UInt32> ] [-AsJob] [-CimSession <CimSession[]> ] [-Compress] [-DisableHeatGathering] [-FileSystem <String> ] [-Force] [-Full] [-NewFileSystemLabel <String> ] [-SetIntegrityStreams <Boolean> ] [-ShortFileNameSupport <Boolean> ] [-ThrottleLimit <Int32> ] [-UseLargeFRS] [-Confirm] [-WhatIf] [ <CommonParameters>]

Partition
Format-Volume [-AllocationUnitSize <UInt32> ] [-AsJob] [-CimSession <CimSession[]> ] [-Compress] [-DisableHeatGathering] [-FileSystem <String> ] [-Force] [-Full] [-NewFileSystemLabel <String> ] [-Partition <CimInstance> ] [-SetIntegrityStreams <Boolean> ] [-ShortFileNameSupport <Boolean> ] [-ThrottleLimit <Int32> ] [-UseLargeFRS] [-Confirm] [-WhatIf] [ <CommonParameters>]

Paths
Format-Volume -Path <String[]> [-AllocationUnitSize <UInt32> ] [-AsJob] [-CimSession <CimSession[]> ] [-Compress] [-DisableHeatGathering] [-FileSystem <String> ] [-Force] [-Full] [-NewFileSystemLabel <String> ] [-SetIntegrityStreams <Boolean> ] [-ShortFileNameSupport <Boolean> ] [-ThrottleLimit <Int32> ] [-UseLargeFRS] [-Confirm] [-WhatIf] [ <CommonParameters>]


Parametri principali


-AsJob
Il parametro esegue il comando in background. Per poter utilizzare tale parametro è necessario eseguire PowerShell come amministratore

-CimSession
Esegue il comando su una sessione o un computer remoto.

-Compress
Abilita la compressione dei file sul volume NTFS specificato.

-DriveLetter
Specifica la lettera di unità relativa al volume da formattare.

-FileSystem
Permette di specificare il tipo di file system con il quale formattare il volume. I valori accettati da tale parametro sono: NTFS, ReFS, exFAT, FAT32, e FAT.

-FileSystemLabel
Permette di specificare l'etichetta da assegnare al volume da formattare.

-Force
Forza il comando.

-Full
Effettua una formattazione completa. Se non specificato viene eseguita una formattazione veloce.

-NewFileSystemLabel
Specifica una nuova etichetta da assegnare al volume.

-ObjectId
Permette di indicare l'ID del volume da formattare.

-Partition
Permette di specificare la partizione sulla quale creare un nuovo volume. La partizione può essere scelta tra quelle indicate dai cmdlet Get-Partition e New-Partition

-Path
Specifica il Path del volume da formattare.

-Confirm
Chiede conferma prima che il cmdlet venga eseguito.



Di seguito alcuni esempi.

Esempio 1
Format-Volume -DriveLetter D -FileSystem NTFS -Full -Force
Esegue una formattazione completa della partizione D utilizzando il filesystem NTFS.

Esempio 2
Format-Volume -DriveLetter D
Esegue una formattazione veloce del volume con lettera D.


PowerShell, Format-Volume
FIG 1 - PowerShell, Format-Volume




giovedì 4 agosto 2016

Windows Quick Tip: Come spostare la licenza di Windows da un PC all'altro

Nell'articolo Windows Quick Tip: Determinare il tipo di licenza di Windows (OEM, Retail, Volume Licensing) ho mostrato come individuare il tipo di licenza di Windows installato sulla macchina. Alcuni tipi di licenza, come quelle Retail, permettono all'utente il trasferimento da un PC all'altro. Prima di utilizzare la licenza sul nuovo PC è opportuno procedere alla disattivazione da quello vecchio. Vediamo come fare.

Per disattivare la licenza dal vecchio PC:
  • Avviare il Prompt dei comandi come amministratore;
  • Digitare il  comando slmgr /dlv seguito da invio e prendere nota dell’ID di attivazione;
  • Per disattivare la licenza digitare slmgr /upk seguito dal ID di attivazione (ad es. slmgr /upk <ID_attivazione>).


Per attivare la licenza sul nuovo PC:
  • Avviare il Prompt dei comandi come amministratore;
  • Eseguire il comando slmgr /ipk seguito dal Product Key (ad es. slmgr /ipk <Product_Key>).

Attivazione licenza di Windows: slmgr /ipk
FIG 1 - Attivazione licenza di Windows: slmgr /ipk



mercoledì 3 agosto 2016

PowerShell: Visualizzare le informazioni sul BIOS utilizzando Get-WmiObject

Nell'articolo PowerShell: Visualizzare le informazioni sulla scheda audio utilizzando Get-Wmiobject abbiamo visto come, tramite Windows Management Instrumentation (WMI), si possano recuperare informazioni sulla scheda audio installata all'interno del computer. Alla stregua di quanto descritto in quell'articolo si possono recuperare informazioni sul BIOS della macchina utilizzando Get-WmiObject e la classe Win32_BIOS. Il comando completo da eseguire è il seguente:
Get-Wmiobject -class "Win32_BIOS" -namespace "root\CIMV2" | Fl * -Force


PowerShell, informazioni sul BIOS
FIG 1 - PowerShell, informazioni sul BIOS

Tra le informazioni più utili troviamo il numero seriale della scheda madre, il produttore del BIOS, la data di rilascio e la versione.

Per visualizzare le informazioni del BIOS di una macchina remota va utilizzato il parametro -Computer indicando il nome o l'indirizzo IP del computer che si intende analizzare. Ad es.
Get-Wmiobject -class "Win32_BIOS" -namespace "root\CIMV2" -Computer Server01 | Fl * -Force

martedì 2 agosto 2016

PowerShell: Verificare la presenza e raggiungibilità di un host in rete tramite Test-Connection

Chi lavora nel campo IT spesso utilizza l'utility Ping per verificare la presenza e raggiungibilità di un Host all'interno della rete. Il ping consiste nell'invio di un pacchetto ICMP (Internet Control Message Protocol) di tipo echo request e attendere in risposta un pacchetto ICMP di tipo echo reply.

Una funzione analoga in PowerShell può essere eseguita tramite il cmdlet Test-Connection. La sintassi del cmdlet è la seguente:

Test-Connection [-ComputerName] <String[]> [-AsJob] [-Authentication <AuthenticationLevel> {Default | None | Connect | Call | Packet | PacketIntegrity | PacketPrivacy | Unchanged} ] [-BufferSize <Int32> ] [-Count <Int32> ] [-Delay <Int32> ] [-Impersonation <ImpersonationLevel> {Default | Anonymous | Identify | Impersonate | Delegate} ] [-InformationAction <System.Management.Automation.ActionPreference> {SilentlyContinue | Stop | Continue | Inquire | Ignore | Suspend} ] [-InformationVariable <System.String> ] [-ThrottleLimit <Int32> ] [-TimeToLive <Int32> ] [ <CommonParameters>]


Parametri principali


-AsJob
Il parametro esegue il comando in background. Per poter utilizzare tale parametro è necessario eseguire PowerShell come amministratore

-Authentication<AuthenticationLevel>
Specifica il livello di autenticazione della connessione WMI (Test-Connection usa WMI). I valori accettati sono: UnchangedDefaultNoneConnectCallPacketPacketIntegrityPacketPrivacy

-BufferSize
Specifica la dimensione, in byte, del pacchetto inviato. Di default la dimensione è 32 byte.

-ComputerName
Si tratta di un parametro obbligatorio e consente di specificare il nome del computer da pingare o il suo indirizzo IP (in formato IPv4 o IPv6).

-Count
Specifica il numero di pacchetti/richieste da inviare. Di default vengono inviati 4 pacchetti.

-Credential
Specifica le credenziali dell'utente autorizzato ad inviare il ping dal computer specificato da -Source.

-Delay
Specifica l'intervallo, in secondi, tra i ping.

-Quiet
Specificando tale parametro verrà restituivo $true se l'host ha risposto al ping, $false in caso contrario. Tutti gli altri messaggi di risposta vengono soppressi.

-Source
Permette di specificare il nome del computer da cui parte il ping. Se non specificato il ping ha origine dal computer locale. É possibile indicare anche più origini del ping separandole tramite virgola.

-TimeToLive
Il parametro TimeToLive (TTL) permette di specificare il tempo di vita, in secondi, del pacchetto ICMP. Il parametro accetta valori interi compresi tra 1 e 255.



Esempi


Esempio 1
Test-Connection Server01
Test-Connection -ComputerName 192.168.0.1
Questi due comandi eseguono il ping rispettivamente verso il computer con nome Server01 e verso l'indirizzo 192.168.0.1. Nel primo comando il parametro -ComputerName viene omesso e indicato direttamente il nome del computer.
Test-Connection -ComputeName
FIG 1 - Test-Connection -ComputeName

Esempio 2
Test-Conntection -ComputerName Server01, Server02
É possibile passare a Test-Connection più host a cui inviare il pacchetto ICMP separandoli tramite virgola.

Esempio 3
Test-Connection -ComputerName 192.168.0.1 -Quiet
Con il parametro Quiet si riceve in output True o False a seconda se si riceve risposta o meno dal computer remoto. Questa caratteristica ci consente di utilizzarlo per verificare la raggiungibilità di un determinato host prima di tentare una qualsiasi operazione. Ad es. 
if (Test-Connection -ComputerName Server01 -Quiet) {New-PSSession Server01}
Test-Connection, parametro -Quiet
FIG 2 - Test-Connection, parametro -Quiet

Esempio 4
Test-Connection -Source Server02, Server03 -ComputerName Server01 -Credential Dominio\Utente
Questo comando invia ping da diversi mittenti/host ad un singolo computer Server01. Il parametro Credential viene utilizzato per specificare le credenziali di un utente che è abilitato all'invio di ping da Server02 e Server03. Questo comando può essere utile per verificare la latenza delle connessioni da diversi punti.