venerdì 5 aprile 2019

MS Word: Recuperare le immagini da un file .docx

Le applicazioni del pacchetto MS Office utilizzano la tecnologia Office Open Xml per il salvataggio dei documenti e ciò si traduce nell'estensione .docx per quanto riguarda i documenti di MS Word. Tale tecnologia si basa sul linguaggio XML: il testo, la formattazione e i metadati vengono salvati in singoli file che è possibile visionare tramite un comune editor di testo come Blocco Note. Un file .docx non è altro che un archivio compresso contenente i diversi file che insieme costituiscono il documento. Per visualizzare i file contenuti nell'archivio basta rinominare l'estensione .docx in .zip ed estrarre il contenuto.
Rinominare l'estensione .docx in .zip
FIG 1 - Rinominare l'estensione .docx in .zip

Ogni archivio è costituito da 3 cartelle: _rels, docProps e word.
  • _rels
    Contenente i metadati relativi alle connessioni che intercorrono tra i file dell'archivio.
  • docProps
    Cartella che contiene le proprietà del documento.
  • word
    La cartella word ospita i contenuti veri e propri del documento comprese le immagini che sono memorizzate all'interno di una sottocartella generalmente chiamata media.
Cartelle contenute all'interno del file docx
FIG 2 - Cartelle contenute all'interno del file docx
All'interno della cartella word è presente la cartella media che contiene le immagini del documento
FIG 3 - All'interno della cartella word è presente la cartella media che contiene le immagini del documento


Dunque per estrarre le immagini da un file .docx basta modificare l'estensione in .zip e navigare nella struttura dell'archivio fino a trovare e salvare i file delle immagini. Tale trucco può essere utile anche per recuperare parte dei contenuti di un file .docx corrotto e non apribile tramite MS Word.


Immagine contenuta all'interno del documento docx nella cartella word\media
FIG 4 - Immagine contenuta all'interno del documento docx nella cartella word\media



giovedì 4 aprile 2019

Google Chrome: Aumentare il numero di suggerimenti mostrati dal completamento automatico

Quando nella barra di Google Chrome si inizia a digitare un indirizzo o una parola da ricercare, la funzione di autocompletamento visualizza da 4 a 6 suggerimenti. Per modificare tale comportamento e aumentare il numero di suggerimenti visualizzati:
  • Nella barra di indirizzi di Chrome digitare chrome://flags seguito da invio;
  • Ricercare la voce Omnibox UI Max Autocomplete Matches e cliccare sul relativo pulsante presente sulla destra per modificare il numero di suggerimenti visualizzati (da 3 a 12) oppure disabilitare/abilitare tale funzione;
  • Riavviare Chrome manualmente o cliccando sul pulsante RELAUNCH NOW che apparirà in basso a destra.
Chrome, Omnibox UI Max Autocomplete Matches
FIG 1 - Chrome, Omnibox UI Max Autocomplete Matches




mercoledì 3 aprile 2019

Windows Quick Tip: Gestione nomi utente e password archiviati

Quando il computer si connette ad un dispositivo della propria rete locale che richiede user e password, Windows tenta di accedervi utilizzando le credenziali con cui l'utente ha eseguito il logon al sistema. Se tali credenziali non funzionano, Windows tenta di reperirle tra quelle memorizzate localmente e, nel caso in cui non vengano trovate o non risultino valide, il sistema operativo richiederà all'utente di inserirle tramite un'apposita finestra di dialogo.
Se, dopo aver inserito le credenziali, viene selezionata la casella memorizza credenziali presente nella stessa finestra, queste verranno memorizzate e archiviate localmente e riutilizzate da Windows per i futuri accessi alla risorsa.

Per visualizzare l'archivio delle user e password memorizzate localmente, dalla finestra di dialogo Esegui (WIN+R) digitare il comando
rundll32.exe keymgr.dll, KRShowKeyMgr seguito da invio.
Windows, Gestione nomi utente e password archiviati
FIG 1 - Windows, Gestione nomi utente e password archiviati

Dalla finestra Gestione nomi utente e password archiviati è possibile effettuare/ripristinare un backup delle credenziali memorizzate, modificarle, eliminarle o aggiungerne di nuove.





martedì 2 aprile 2019

Windows Quick Tip: Disinstallare/Installare un aggiornamento da riga di comando tramite WUSA

Nell'articolo PowerShell: Visualizzare  gli hotfix installati sul pc locale o su un pc remoto è stato mostrato come elencare gli hotfix/aggiornamenti installati sul computer. Per disinstallare/installare un particolare aggiornamento sul computer è possibile utilizzare, da riga di comando, WUSA (Windows Update Standalone Installer) il Programma di installazione Windows Update autonomo.

Il file Wusa.exe si trova nella cartella %windir%\System32 e può essere utilizzato sia per disinstallare un'hotfix/aggiornamento sia per installare pacchetti di aggiornamento MSU


Sintassi


wusa /extract: [/log:]
wusa [/quiet] [/norestart | /warnrestart: | /promptrestart | /forcerestart] [/log:]
wusa / uninstall  < | /kb:> [/quiet] [/norestart | /warnrestart: | /promptrestart | /forcerestart ][/log:]



Parametri


/?, /h, /help
Visualizzano la guida.

/quiet
Tramite tale parametro WUSA.exe viene eseguito in modalità silente (non interattiva).

/norestart
Impedisce a Wusa.exe di eseguire il riavvio del computer. L'opzione /norestart viene ignorata se l'opzione /quiet non è presente. 

/uninstall
Disinstalla il pacchetto o il numero KB specificato.

/kb
Specifica il pacchetto da disinstallare tramite il relativo numero KB. Può essere passato solo insieme all'opzione /uninstall.

/extract
Wusa.exe estrae il contenuto del pacchetto in una cartella di destinazione.

/warnrestart
Quando questa opzione viene combinata con l'opzione /quiet, Wusa.exe visualizza una richiesta all'utente prima di eseguire un riavvio per le operazioni di installazione e disinstallazione.


/forcerestart
Quando questa opzione viene combinata con l'opzione /quiet, Wusa.exe chiude in modo forzato l'applicazione e quindi esegue un riavvio.




Esempi


Esempio 1
wusa.exe /uninstall /kb:4489899 /quiet /norestart
Disinstalla il pacchetto KB4489899 in maniera silente e senza riavviare il sistema.
Windows, Disinstallare un'aggiornamento tramite wusa.exe
FIG 1 - Windows, Disinstallare un'aggiornamento tramite wusa.exe

Esempio 2 
wusa.exe Windows6.0-KB928439-x86.msu /quiet /norestart
Installa il pacchetto Windows6.0-KB928439-x86.msu in maniera silente e senza riavviare il sistema.

Esempio 3
wusa.exe /uninstall /kb:4489899 /quiet /forcerestart
Disinstalla il pacchetto KB4489899 in maniera silente e forza il riavvio del sistema al termine della disinstallazione.




lunedì 1 aprile 2019

PowerShell: Visualizzare gli hotfix installati sul pc locale o su un pc remoto

Con il termine hotfix si intende un singolo pacchetto cumulativo, composto da uno o più file, che include delle informazioni per risolvere un bug o un problema di sicurezza in un determinato prodotto software. Un hotfix, dunque, non è altro che una sorta di aggiornamento rapido rilasciato per rimediare ad un problema software il più velocemente possibile. Per visualizzare gli hotfix installati localmente o su un computer remoto è possibile utilizzare il cmdlet Get-HotFix.

Il cmdlet consente di visualizzare tutti gli hotfix/aggiornamenti installati sul computer locale o su computer remoti tramite Windows Update, Microsoft Update, Windows Server Update Service oppure aggiornamenti installati manualmente dagli utenti.


Sintassi


Get-HotFix [[-Id] <String[]>] [-Description <String[]>] [-ComputerName <String[]>] [-Credential <PSCredential>] [<CommonParameters>]




Parametri


-ComputerName
Il parametro consente di indicare un computer remoto. Se il parametro non viene specificato, il cmdlet agisce sul computer locale. Al parametro può essere passato il nome NetBIOS, l'indirizzo IP oppure il FQDN (Fully Qualified Domain Name).

-Credential
Per default il cmdlet viene eseguito con le credenziali dell'account che lancia il comando. Attraverso il parametro -Credential è possibile specificare un'account diverso.

-Description
Consente di ricercare un hotfix in base a una o più parole contenute nella sua descrizione. Sono consentiti caratteri Wildcards. 

-ID
In alternativa al parametro -Description, consente di ricercare un hotfix tramite il proprio ID. Il parametro non consente caratteri Wildcards. Se i parametri -Description e -ID non vengono specificati, la ricerca restituirà tutti gli hotfix.



Esempi


Esempio 1
Get-HotFix
Restituisce tutti gli hotfix/aggiornamenti installati sul computer locale.
PowerShell, Get-HotFix
FIG 1 - PowerShell, Get-HotFix

Esempio 2
Get-HotFix -Description "Security*" -ComputerName "Server01", "Server02"
Visualizza tutti gli hotfix la cui descrizione inizia con la parola Security installati sui server Server01 e Server02.

Esempio 3
Get-Content "ElencoWKS.txt" | ForEach { if (!(Get-HotFix -Id "KB4489899" -ComputerName $_)) { Add-Content $_ -Path "WKS-senza-KB4489899.txt" }}
Per ogni computer elencato all'interno del file ElencoWKS.txt viene verificato se ha installato aggiornamento KB4489899 e, in caso negativo, il nome della postazione viene aggiunto all'elenco contenuto nel file WKS-senza-KB4489899.txt.

Esempio 4
(Get-HotFix | sort installedon)[-1]
Il comando restituisce l'ultimo aggiornamento installato sul computer locale: ordina tutti gli hotfix per data di installazione quindi seleziona dall'array l'ultimo item (l'hotfix più recente).

Esempio 5
Get-Hotfix | Where-Object { $_.HotfixID -like "KB448*" } | Sort-Object InstalledOn
Restituisce tutti gli hotfix che hanno l'ID che inizia per KB448 ordinandoli per data di installazione.
PowerShell, Get-HotFix ricerca di una KB tra gli aggiornamenti installati
FIG 2 - PowerShell, Get-HotFix ricerca di una KB tra gli aggiornamenti installati





venerdì 29 marzo 2019

MS Exchange: Visualizzare i permessi di una cartella presente sulla mailbox tramite EMS

Chi gestisce un'infrastruttura di posta elettronica può trovarsi spesso nella situazione di dover verificare permessi assegnati ad una particolare cartella presente in una mailbox. In ambiente MS Exchange Server tale operazione può essere eseguita con l'ausilio del cmdlet Get-MailboxFolderPermission tramite EMS (Exchange Management Shell).

Get-MailboxFolderPermission  [-Identity] <MailboxFolderIdParameter> [-DomainController <Fqdn>]   [-User <MailboxFolderUserIdParameter>]    [-GroupMailbox]   [<CommonParameters>]


Parametri

-DomainController
Il parametro consente di specificare il Domain Controller a cui far riferimento per reperire dati dall'Active Directory. Il dominio va specificato nel formato FQDN (Fully Qualified Domain Name) ad es. dc02.contoso.com

-GroupMailbox
Il parametro è utilizzato per includere nei risultati i gruppi di Office 365.

-Identity
Tale parametro specifica la mailbox e la cartella su cui si intendono verificare le abilitazioni. La sintassi è del tipo  <Mailbox>:\<Folder>. Per <Mailbox> può essere specificato un qualsiasi valore che identifica la mailbox in maniera univoca come:
GUID
Distinguished name (DN)
Dominio\Account
Nome dell'entità utente
LegacyExchangeDN
SamAccountName
Indirizzo SMTP
Alias 

-User
Il parametro User filtra i risultati visualizzando solo le abilitazioni dell'utente indicato. Anche in questo caso è possibile utilizzare qualsiasi valore che permetta l'identificazione univoca dell'utente/gruppo come:
Nome
Display name
Alias
Distinguished name (DN)
Canonical DN
Indirizzo email
GUID




Esempi


Esempio 1
Get-MailboxFolderPermission  -identity GLUBRANO
Per visualizzare i permessi sulla root della mailbox.


Esempio 2
Get-MailboxFolderPermission  -identity GLUBRANO:\Calendario
o per maggiori dettagli
Get-MailboxFolderPermission  -identity GLUBRANO:\Calendario |FL
Visualizza i permessi sulla cartella Calendario della casella dell'utente GLUBRANO
Get-MailboxFolderPermission
FIG 1 - Get-MailboxFolderPermission

Esempio 3
Get-MailboxFolderPermission  -identity GLUBRANO:\Calendario -User DDUCK
Visualizza i permessi che l'utente DDUCK dispone sulla cartella Calendario presente nella mailbox dell'utente GLUBRANO.




mercoledì 27 marzo 2019

PowerShell: Disabilitare il risparmio energetico sulle schede di rete

Quando il PC entra in modalità sospensione/ibernazione, Windows disabilita tutte le periferiche non necessarie per risparmiare energia comprese le schede di rete. Tale comportamento può causare malfunzionamenti quando si riprende la sessione di lavoro: ad es. la scheda di rete potrebbe non riattivarsi.
Una soluzione a questo tipo di problemi consiste nell'impedire al sistema operativo di spegnere le schede di rete per risparmiare energia. 


Disabilitare il risparmio energetico sulla scheda di rete tramite GUI

  • Premere la combinazione di tasti WIN+R per aprire la finestra di dialogo Esegui e digitare devmgmt.msc seguito da invio per avviare Gestione dispositivi;

    Gestione dispositivi
    FIG 1 - Gestione dispositivi
  • Espandere la sezione Schede di rete ed eseguire un doppio click sulla scheda di rete su cui si intende disabilitare il risparmio energetico;
  • Nella finestra delle Proprietà, selezionare la scheda Risparmio energia quindi rimuovere la spunta alla voce Consenti al computer di spegnere il dispositivo per risparmiare energia e confermare cliccando sul pulsante OK.
    Proprietà scheda di rete
    FIG 2 - Proprietà scheda di rete



Disabilitare il risparmio energetico sulle schede di rete tramite PowerShell


Nello script PowerShell andremo a verificare le proprietà delle schede di rete presenti nel registro di sistema al seguente percorso
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
All'interno delle sottochiavi del registro andremo a verificare la proprietà *ifType per individuare le schede di rete Wi-Fi (con *ifType=6) e le schede di rete Ethernet (con *ifType=71). Per tali schede il risparmio energetico verrà disattivato valorizzando la proprietà PnPCapabilities a 18 in esadecimale (24 in decimale).
Lo script, oltre a visualizzare l'output a video, genera un file di log DisablePowerSavingNIC.log che è possibile consultare successivamente anche dopo aver chiuso la finestra di PowerShell.
Script DisablePowerSavingNIC.ps1
FIG 3 - Script DisablePowerSavingNIC.ps1
Lo script può essere scaricato dal seguente link
DOWNLOAD

Terminata l'esecuzione, l'output sarà simile a quello mostrato in FIG 4 ed è necessario procedere al riavvio del sistema affinché le modifiche siano applicate.
Output script PowerShell DisablePowerSavingNIC.ps1
FIG 4 - Output script PowerShell DisablePowerSavingNIC.ps1