giovedì 21 luglio 2022

MS Outlook: Abilitare/Disabilitare il completamento automatico

La funzionalità di completamento automatico, fornita dal client di posta MS Outlook, viene utilizzata sia per il controllo automatico dei nomi sia per il completamento automatico del nome durante la digitazione. L'elenco viene aggiornato automaticamente quando si inviano messaggi e-mail da Outlook ed è composto da indirizzi SMTP, voci LegacyExchangeDN e nomi visualizzati per gli utenti a cui sono stati precedentemente inviati messaggi e-mail. L'elenco di completamento automatico di Outlook non è in condivisione con Outlook Web App (OWA): OWA gestisce un proprio elenco di completamento automatico.

Il numero massimo di elementi presenti all'interno del completamento automatico è limitato:
Outlook 2019: 1.000 elementi
Outlook 2016: 1.000 elementi
Outlook 2013: 1.000 elementi
Outlook 2010: 1.000 elementi
Outlook 2007: 2.000 elementi
Outlook 2003: 1.000 elementi

Una volta raggiunto il limite, Outlook utilizza un algoritmo interno basato sul coefficiente di utilizzo per stabilire quali elementi rimuovere dall'elenco.

Abilitare/Disabilitare il completamento automatico da GUI

  • Dal menu File di Outlook cliccare su Opzioni;
  • Nella finestra Opzioni Outlook selezionare la scheda Posta (sul lato sinistro della finestra);
  • Scorrere l'elenco delle impostazioni fino alla sezione Invio messaggi;
  • Selezionare/deselezionare la casella "All'immissione di testo nelle righe A, Cc e Ccn, usa l'elenco di completamento automatico per suggerire i nomi" per abilitare/disabilitare la funzionalità di completamento automatico.
    MS Outlook, Completamento automatico
    FIG 1 - MS Outlook, Completamento automatico

Abilitare/Disabilitare il completamento automatico tramite registro di sistema

  • Avviare l'editor del registro di sistema (WIN+R e digitare regedit seguito da invio); 
  • Posizionarsi su
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook\Preferences
  • Creare, se non presente, un nuovo valore DWORD (32 bit) con nome ShowAutoSug;
  • Assegnare a ShowAutoSug il valore 0 per disattivare il completamento automatico oppure 1 per attivarlo.
    Regedit, ShowAutoSug
    FIG 2 - Regedit, ShowAutoSug

  • Riavviare Outlook.

Di seguito è possibile scaricare i file .reg per Abilitare/Disabilitare il completamento automatico di Outlook




mercoledì 20 luglio 2022

MS Exchange: Visualizzare informazioni sulle Public Folders con Get-PublicFolder

Per recuperare gli attributi di una cartella pubblica o di un insieme di cartelle pubbliche è possibile utilizzare il cmdlet Get-PublicFolder, disponibile sia in Exchange on-premises che Exchange on-cloud (alcuni parametri e impostazioni possono essere esclusivi di un ambiente o dell'altro).

Sintassi

Get-PublicFolder
   [[-Identity] <PublicFolderIdParameter>]
   [-GetChildren]
   [-DomainController <Fqdn>]
   [-Mailbox <MailboxIdParameter>]
   [-Organization <OrganizationIdParameter>]
   [-ResidentFolders]
   [-ResultSize <Unlimited>]
   [-Server <ServerIdParameter>]
   [<CommonParameters>]

Get-PublicFolder
   [[-Identity] <PublicFolderIdParameter>]
   [-Recurse]
   [-DomainController <Fqdn>]
   [-Mailbox <MailboxIdParameter>]
   [-Organization <OrganizationIdParameter>]
   [-ResidentFolders]
   [-ResultSize <Unlimited>]
   [-Server <ServerIdParameter>]
   [<CommonParameters>]

Get-PublicFolder
   [-LostAndFound]
   [-DomainController <Fqdn>]
   [-Mailbox <MailboxIdParameter>]
   [-Organization <OrganizationIdParameter>]
   [-ResidentFolders]
   [-ResultSize <Unlimited>]
   [<CommonParameters>]

Get-PublicFolder
   [[-Identity] <PublicFolderIdParameter>]
   [-DomainController <Fqdn>]
   [-Mailbox <MailboxIdParameter>]
   [-Organization <OrganizationIdParameter>]
   [-ResidentFolders]
   [-Server <ServerIdParameter>]
   [<CommonParameters>]   

Parametri

-DomainController
Questo parametro è disponibile solo in Exchange on-premises.
Il parametro DomainController specifica il controller di dominio utilizzato da questo cmdlet per leggere dati da o scrivere dati su Active Directory. Il controller di dominio viene identificato con il suo Fully Qualified Domain Name (FQDN). Ad esempio, dc01.contoso.com.

-GetChildren
L'opzione GetChildren specifica se restituire solo i figli della cartella specificata dal parametro Identity. Non è necessario specificare un valore con questo parametro e non è possibile utilizzarlo con i parametri Recurse o LostAndFound.

-Identity
Il parametro Identity specifica il nome e il percorso della cartella pubblica che si desidera visualizzare. Un valore valido utilizza la sintassi: \Livello1\Livello2\...\LivelloN\PublicFolder. Ad esempio, "\Clienti Italia" o "\Clienti\Clienti Italia".

-LostAndFound
Permette di specificare se restituire solo le cartelle orfane che si trovano in \NON_IPM_SUBTREE\LOST_AND_FOUND. Non è necessario passare un valore a questo parametro
La cartella LOST_AND_FOUND contiene le cartelle mancanti che vengono ricreate dal processo di riconciliazione della gerarchia delle cartelle pubbliche quando la cartella esiste in una mailbox cartelle pubbliche secondaria, ma non in quella primaria.

Non è possibile utilizzare questo parametro insieme a -Identity o -Recurse.

-Mailbox
Il parametro Mailbox specifica l'identità della mailbox cartella pubblica gerarchica. È possibile utilizzare qualsiasi valore che identifichi in modo univoco la mailbox. Ad esempio:
  • Name
  • Alias
  • Distinguished name (DN)
  • Canonical DN
  • Domain\Username
  • Email address
  • GUID
  • LegacyExchangeDN
  • SamAccountName
  • User ID or user principal name (UPN)

-Organization
Questo parametro è disponibile solo in Exchange on-premises ed è riservato all'uso interno di Microsoft.

-Recurse
L'opzione Recurse specifica se restituire la cartella pubblica specificata e tutti i suoi figli. Non è possibile utilizzare questo parametro insieme a -GetChildren o -LostAndFound.

-ResidentFolders
Specifica se restituire le cartelle pubbliche che risiedono in una determinata mailbox delle cartelle pubbliche di contenuto. Se non si utilizza questo parametro, il comando restituirà solo le cartelle pubbliche il cui contenuto risiede nella mailbox delle cartelle pubbliche della gerarchia primaria.

-ResultSize
Il parametro ResultSize specifica il numero massimo di risultati da restituire. Il massimo predefinito è 10.000. Per non avere limiti ai risultati restituiti, impostare questo parametro su Unlimited. Questo parametro può essere passato solo in combinazione con i parametri -Recurse o -GetChildren.

-Server
Questo parametro è disponibile solo in Exchange Server 2010.

Il parametro Server filtra i risultati in base al server Exchange specificato. È possibile utilizzare qualsiasi valore che identifichi univocamente il server. Ad esempio:
  • Name
  • FQDN
  • Distinguished name (DN)
  • Exchange Legacy DN


Esempi

Esempio 1
Get-PublicFolder
Questo esempio utilizza il comando Get-PublicFolder senza parametri per restituire l'oggetto cartella pubblica principale (IPM_SUBTREE).

Esempio 2
Get-PublicFolder -Identity \NON_IPM_SUBTREE -Recurse | Format-List Name
Questo esempio restituisce i nomi di tutte le cartelle di sistema (che non sono mostrate per impostazione predefinita), a partire dalla radice della cartella di sistema (\NON_IPM_SUBTREE).

Esempio 3
Get-PublicFolder -Identity "\Ufficio1\Documenti" -Recurse -ResultSize Unlimited
Questo esempio restituisce la cartella pubblica "Documenti" da "\Ufficio1\" e tutte le sotto cartelle, senza limiti di numero.

Esempio 4
Get-PublicFolder -Mailbox "Ufficio" -ResidentFolders
Questo esempio restituisce le cartelle pubbliche che risiedono nella casella di posta elettronica specificata

Esempio 5
Get-PublicFolder -Recurse -ResultSize Unlimited | Select Identity, Name |Export-CSV C:\Temp\ElencoPB.txt -encoding "Unicode" -notypeinformation
Restituisce l'elenco delle cartelle (nome e percorso) contenute nelle cartelle pubbliche e lo esporta all'interno del file specificato.




lunedì 18 luglio 2022

Windows: Aggiungere/rimuovere dispositivi Bluetooth in maniera rapida

Un modo rapido per accoppiare/disaccoppiare dispositivi Bluetooth al sistema e attraverso il seguente comando:
explorer.exe ms-settings-connectabledevices:devicediscovery  

Per velocizzare l'avvio del comando è possibile creare un collegamento sul desktop.

Dispositivi Bluetooth
FIG 1 - Dispositivi Bluetooth




domenica 17 luglio 2022

PowerShell: Visualizzare informazioni sui dispositivi Bluetooth

Per visualizzare i dispositivi/periferiche Bluetooth connessi al computer si può utilizzare il cmdlet PowerShell Get-PnpDevice come il seguente comando
Get-PnpDevice -Class Bluetooth
Get-PnpDevice
FIG 1 - Get-PnpDevice
Per visualizzare ulteriori informazioni sui dispositivi Bluetooth si può modificare il comando precedente come mostrato di seguito
Get-PnpDevice -Class Bluetooth |FL

Tramite l'utilizzo del parametro FriendlyName è possibile ricercare un dispositivo Bluetooth indicando il suo nome o parte di esso. Ad esempio, per ricercare un dispositivo Bluetooth il cui nome contiene la stringa Intel si utilizza il comando
 -Class Bluetooth -FriendlyName *Intel*
Get-PnpDevice, parametro FriendlyName
FIG 2 - Get-PnpDevice, parametro FriendlyName 

Utilizzando Select-Object è possibile visualizzare solo le proprietà di nostro interesse come il nome, il produttore e il servizio corrispondente:
Get-PnpDevice -Class Bluetooth  | Select-Object -Property Caption, Manufacturer, Service
Get-PnpDevice, Select-Object
FIG 3 - Get-PnpDevice, Select-Object






mercoledì 13 luglio 2022

PowerShell: Verificare se un account utente è disabilitato/abilitato in Active Directory

Per verificare se un account utente è abilitato o disabilitato in Active Directory è possibile utilizzare il seguente script PowerShell
 $User = Read-Host -Prompt "Inserisci il nome dell'account";    
 Get-ADUser -Filter {name -like $User -or samaccountname -like $User} | Select Name, SamAccountName, Enabled   
Verifica account
FIG 1 - Verifica account


Se si dispone di un file contenente l'elenco degli utenti da verificare è possibile utilizzare il seguente codice andando a sostituire la stringa C:\Temp\ElencoUtenti.txt con il percorso e il nome del file contenente l'elenco.
 $userList = "C:\Temp\ElencoUtenti.txt"  
 $users = Get-Content $userList  
 foreach ($user in $users){  
  Get-ADUser -Filter {name -like $user -or samaccountname -like $user} | Select Name, SamAccountName, Enabled   
 }  





martedì 12 luglio 2022

PowerShell: Visualizzare il Product Key di Windows 10

Un modo semplice per visualizzare il Product Key di Windows 10 consiste nell'utilizzare il seguente comando da PowerShell
(Get-CimInstance -ClassName SoftwareLicensingService).OA3xOriginalProductKey 

Se il comando non restituisce alcun risultato allora il Product Key non è memorizzato sulla macchina.




giovedì 30 giugno 2022

PowerShell: Creare un collegamento

Nella realizzazione di uno script PowerShell potremmo aver la necessità di creare un collegamento (shortcut) ad un'applicazione o ad un path. Per farlo bastano poche righe di codice. 
Nel codice mostrato di seguito viene creato un collegamento sul desktop che punta all'applicazione blocco note (notepad.exe) a cui viene passato, come argomento, il path e il nome di un file da visualizzare. L'icona del collegamento viene personalizzata utilizzando quella di blocco note.

 # Individua la cartella Desktop in cui creare il collegamento  
 $desktop = [Environment]::GetFolderPath('Desktop')  
 # Specifica il nome del collegamento "File Host.lnk" che verrà creato sul desktop  
 $path = Join-Path -Path $desktop -ChildPath 'File Host.lnk'  
 # Crea un oggetto WScript.Shell da utilizzare per la creazione del collegamento  
 $shell = New-Object -ComObject WScript.Shell  
 # Prepara il collegamento sul desktop indicando il percorso e nome  
 $shortcut = $shell.CreateShortcut($path)  
 # Specifica il Target, in questo caso l'applicazione da avviare  
 $shortcut.TargetPath = "C:\Windows\notepad.exe"  
 # Specifica gli argomenti. In questo caso viene indicato un file da aprire con notepad  
 $shortcut.Arguments = "C:\Windows\System32\drivers\etc\hosts"  
 # Assegna al collegamento l'icona di notepad.exe  
 $shortcut.IconLocation = 'notepad.exe,0'  
 # Salva il collegamento  
 $shortcut.Save()  

Proprietà collegamento
FIG 1 - Proprietà collegamento