giovedì 23 aprile 2015

Windows Quick Tip: Disattivare le periferiche di memorizzazione USB

Se si vuole impedire all'utente di utilizzare periferiche di memoria USB è possibile negare le autorizzazioni sui seguenti file
%SystemRoot%\Inf\Usbstor.pnf
%SystemRoot%\Inf\Usbstor.inf
  • Accedere alla cartella %SystemRoot%\Inf (WIN+R e digitare %SystemRoot%\Inf  seguito da Invio)
  • Cliccare con il tasto destro del mouse sul file Usbstor.pnf e selezionare Proprietà.
  • Accedere alla scheda Sicurezza.
  • Nell'elenco Utenti e gruppi aggiungere l'utente o il gruppo per cui si desidera impostare le autorizzazioni su Nega.
  • Nell'elenco Autorizzazioni  selezionare la casella di controllo Nega accanto a Controllo completo.
Effettuare la stessa operazione per il file Usbstor.inf
  • Nell'elenco Utenti e gruppi selezionare l'account System e cliccare su Modifica
  • Nell'elenco Autorizzazioni selezionare la casella di controllo Nega accanto a Controllo completo, quindi scegliere OK.
Autorizzazioni su file
FIG 1 - Autorizzazioni su file
Un altro modo per impedire l'utilizzo di memorie di massa USB da parte degli utenti consiste nel disabilitare tale possibilità tramite chiavi di registro di sistema:
  • Accedere al registro di sistema (WIN+R e digitare Regedit seguito da Invio)
  • Posizionarsi al seguente percorso
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor
  • Modificare il valore Start assegnandogli valore 4
Per abilitare nuovamente le periferiche di memorizzazione USB è necessario assegnare a Start il valore 3.
Chiave di registro USBSTOR
FIG 2 - Chiave di registro USBSTOR
Tramite il link di seguito è possibile scaricare i file .reg per abilitare/disabilitare le periferiche di memorizzazione USB.
DOWNLOAD



martedì 21 aprile 2015

MS Exchange: Abilitare/disabilitare un gruppo di distribuzione alla ricezione da mittenti non autenticati tramite EMS

Per abilitare o disabilitare un gruppo di distribuzione (Distribution Group) alla ricezione di messaggi da parte di utenti non autenticati (come ad esempio mittenti esterni all'infrastruttura) possiamo utilizzare un cmdlet di Exchange Management Shell (EMS).
Il cmdlet da utilizzare in questo caso è Set-DistributionGroup:

Set-DistributionGroup <distribution_group> -RequireSenderAuthenticationEnabled <$TRUE o $FALSE>

ad es. supponiamo che il nostro distribution group si chiami UFFICIO1. Per abilitarlo alla ricezione di messaggi da parte di utenti non autenticati bisogna lanciare il seguente comando:
Set-DistributionGroup UFFICIO1 -RequireSenderAuthenticationEnabled $TRUE

per inibire la ricezione da parte di utenti non autenticati:
Set-DistributionGroup UFFICIO1 -RequireSenderAuthenticationEnabled $FALSE


lunedì 20 aprile 2015

C# : Verificare la versione di Outlook installata

In questo articolo mostrerò come individuare la versione di Microsoft Outlook installata, sulla propria postazione o su una workstation remota, utilizzando C#
L'operazione può essere effettuata in modi diversi e l'applicazione che ho creato è molto semplice e offre ampi margini di miglioramento. Quello che andrò a fare è semplicemente verificare la versione del file Outlook.exe
OutlookVer
FIG 1 - OutlookVer

Come primo passo chiedo all'utente se intende verificare la versione di Outlook installata sulla workstation locale o su una workstation remota. Nel caso di postazione remota verifico se la postazione è raggiungibile.
Il passo successivo consiste nell'individuare il path (percorso) del file Outlook.exe. Per conoscere il path di installazione di outlook vado ad interrogare il valore stringa Path presente nella seguente chiave di registro
HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\OUTLOOK.EXE

Per la workstation locale utilizzo l'istruzione 
RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,RegistryView.Registry32).OpenSubKey(RegKey);
mentre per verificare una postazione remota utilizzo l'istruzione
RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentUser, textBoxWKSName.Text).OpenSubKey(RegKey);

Una volta individuato il path del file Outlook.exe, verifico la sua versione tramite l'istruzione 
FileVersionInfo.GetVersionInfo(_path)

A questo punto non resta che visualizzare a video un messaggio con la versione di Outlook installata
Versione di Outlook
FIG 2 - Versione di Outlook
Di seguito è possibile scaricare i file sorgenti del progetto. Il progetto può essere aperto e modificato tramite Visual Studio oppure tramite ambienti di sviluppo di terze parti come ad es. SharpDevelop
DOWNLOAD


mercoledì 15 aprile 2015

Windows Quick Tip: Cancellare la cache dello Store di Windows 8 e 8.1

Nel caso in cui si riscontra un problema di accesso al Windows Store in Windows 8 e 8.1 può essere utile provare a cancellare la cache relativa all'app Store.

Premere la combinazione di tasti WIN + R e digitare il comando WSReset.exe seguito da Invio. Un messaggio ci informerà che la cache è stata eliminata.

Office Quick Tip: Nascondere il contenuto delle celle in MS Excel

Per rendere invisibile il contenuto di una cella o di un insieme di celle velocemente in MS Excel possiamo procedere nel seguente modo:
  • Selezionare le celle su cui si intende agire;
  • Cliccare sulle celle con il tasto destro del mouse e dal menu contestuale selezionare la voce Formato celle;
  • Nella scheda Numero, selezionare Personalizzato e nella casella Tipo digitare ;;; quindi confermare cliccando su OK.

Formato celle
FIG 1 - Formato celle

martedì 14 aprile 2015

MS Exchange: Esportare il contenuto di una casella in un file PST tramite EMS

Tramite Exchange Management Shell (EMS) è possibile esportare l'intero contenuto di una casella di posta all'interno di un file PST. Per effettuare questa operazione possiamo utilizzare il cmdlet New-MailboxExportRequest da EMS come indicato di seguito:
New-MailboxExportRequest -Mailbox <nome_mailbox> -FilePath <file_pst_incluso_path_UNC>  -Name <nome_richiesta>

Parametri
Mailbox
Al parametro Mailbox va passato l'alias o l'smtp primario della casella che si intende esportare.

FilePath
Tramite FilePath va indicato il percorso e il nome del file in formato UNC (Universal Naming Convention).

Name
Il parametro Name è facoltativo. Tale parametro viene utilizzato per assegnare un nome alla richiesta in modo da agevolarne la successiva individuazione e verifica dello stato.


Ad es.
New-MailboxExportRequest -Mailbox GLUBRANO -FilePath \\Server01\CartellaPST\GLUBRANO.pst -Name GiovanniLubrano

Come si intuisce dal cmdlet,  New-MailboxExportRequest non fa altro che effettuare una richiesta di esportazione della casella di posta all'interno di un file PST. La richiesta viene accodata ad eventuali altre richieste pervenute e successivamente eseguita.

Per verificarne lo stato possiamo utilizzare il cmdlet Get-MailboxExportRequest che ci restituirà l'elenco e lo stato (queued, failed, completed) di tutte le richieste di esportazione. Per verificare solo lo stato della nostra richiesta possiamo utilizzare il parametro Name indicando il nome assegnato precedentemente tramite New-MailboxExportRequest:

Get-MailboxExportRequest -Name <nome_richiesta>

ad es.
Get-MailboxExportRequest -Name GiovanniLubrano
oppure
Get-MailboxExportRequest -Name GiovanniLubrano |fl
per visualizzare maggiori dettagli.

Windows Quick Tip: Bloccare l'account a seguito tentativi di accesso errati tramite net accounts

Quando tentiamo di accedere a Windows utilizzando una password errata, il sistema ci avvisa che le nostre credenziali di accesso non sono valide e ci permette di riprovare. Il fatto che il sistema consenta di default un numero infinito di tentativi di accesso semplifica la vita a chi vuole violare il nostro account. In questo articolo mostrerò come è possibile, tramite il comando net accounts, porre un limite al numero di tentativi di accesso non validi in modo tale da far desistere qualche malintenzionato. Ad es. possiamo bloccare l'account per 30 minuti dopo 3 tentativi falliti. 
  • Avviare il prompt dei comandi con i permessi di amministratore: in Windows 8 e 8.1 premere la combinazione WIN + X e selezionare la voce Prompt dei comandi (amministratore);
  • Digitare il seguente comando net accounts /lockoutthreshold:3 dove 3 rappresenta il numero di tentativi errati prima che l'account venga bloccato per 30 minuti (è possibile impostare un valore tra 0 e 999) e premere invio.
net accounts /lockoutthreshold:3
FIG 1 - Net Accounts /lockoutthreshold:3
Per ripristinare lo stato di default (infiniti tentativi) è possibile passare all'opzione lockoutthreshold il valore 0: 
net accounts /lockoutthreshold:0

Per visualizzare lo stato attuale dell'impostazione basta eseguire il seguente comando:
net accounts
Net Accounts
FIG 2 - Net Accounts