Visualizzazione post con etichetta cmdlet. Mostra tutti i post
Visualizzazione post con etichetta cmdlet. Mostra tutti i post

lunedì 28 marzo 2022

MS Exchange: Visualizzare le impostazioni del filtro di posta indesiderata

Nell'articolo  MS Exchange: Configurare il filtro di posta indesiderata sulle caselle di posta è stato mostrato come configurare il filtro di posta indesiderate mediante l'utilizzo del cmdlet Set-MailboxJunkEmailConfiguration. In quest'articolo vedremo come visualizzare le impostazioni della posta indesiderata di una casella di posta utilizzando il cmdlet Get-MailboxJunkEmailConfiguration. Questo cmdlet è disponibile sia in Exchange on-premises che in Exchange on-cloud anche se alcuni parametri e impostazioni possono essere esclusivi di un solo ambiente.

Sintassi

Get-MailboxJunkEmailConfiguration
   [-Identity] <MailboxIdParameter>
   [-Credential <PSCredential>]
   [-DomainController <Fqdn>]
   [-ReadFromDomainController]
   [-ResultSize <Unlimited>]
   [<CommonParameters>]

Parametri

-Credential
Specifica le credenziali dell'account utente con cui eseguire il comando. Se omesso viene considerato l'utente corrente che sta eseguendo il comando. Al parametro può essere passato il nome dell'account, come ad es. "utente01" o "Dominio\utente01" oppure può essere passato un'oggetto PSCredential generato dal cmdlet Get-Credential. Se viene specificato un'account utente verrà richiesto di inserire la password all'esecuzione del comando.

-DomainController
Questo parametro è disponibile solo in Exchange on-premises.
Il parametro DomainController specifica il controller di dominio usato dal cmdlet per leggere o scrivere dati in Active Directory. Il controller di dominio viene identificato tramite FQDN:per esempio, dc01.contoso.com.

-Identity
Il parametro Identity specifica la mailbox su cui si intende operare. Si può usare qualsiasi valore che identifichi univocamente la casella di posta. Per esempio:
Nome
Alias
Distinguished name (DN)
Domain\Username
Email address
GUID
LegacyExchangeDN
SamAccountName
User ID o user principal name (UPN)

-ReadFromDomainController
Il parametro ReadFromDomainController specifica che le informazioni dovrebbero essere lette da un controller di dominio nel dominio dell'utente. Non è necessario specificare un valore con questo interruttore.

-ResultSize 
Il parametro ResultSize specifica il numero massimo di risultati da restituire. Per  restituire tutte le richieste che corrispondono alla query va passato al parametro il valore unlimited. Il valore predefinito è 1000.

Esempi

Esempio 1
Get-MailboxJunkEmailConfiguration -Identity "GLubrano"
Questo esempio restituisce la configurazione della posta indesiderata per l'utente chiamato GLubrano.
Get-MailboxJunkEmailConfiguration, Filtro posta indesiderata



Esempio 2
Get-Mailbox -ResultSize unlimited -RecipientTypeDetails UserMailbox | foreach {Get-MailboxJunkEmailConfiguration -Identity $_.UserPrincipalName} | Where {$_.Enabled -eq $false} | Format-Table -Auto Identity,Enabled
Questo esempio restituisce una lista riassuntiva di tutte le caselle di posta nell'organizzazione in cui la regola della posta indesiderata è disabilitata






sabato 26 marzo 2022

MS Exchange: Configurare il filtro di posta indesiderata sulle caselle di posta

Per configurare le impostazioni di posta indesiderata sulla caselle di posta è possibile utilizzare il cmdlet Set-MailboxJunkEmailConfiguration.
Questo cmdlet è disponibile sia per Exchange on-premises che per Exchange on-cloud anche se alcuni parametri e impostazioni sono esclusivi di uno solo dei due ambienti. Il cmdlet può essere usato solo su caselle di posta su cui l'utente ha già eseguito l'accesso mediante MS Outlook (in modalità cached) o tramite OWA, in caso contrario si riceverà un messaggio di errore. Per sopprimere questo errore è possibile utilizzare il parametro -ErrorAction SilentlyContinue.

Set-MailboxJunkEmailConfiguration può essere usato sia per attivare/disattivare la regola di posta indesiderata (una regola nascosta nella casella di posta denominata Junk E-mail Rule) sia per configurarla con l'elenco dei mittenti/destinatari attendibili e mittenti bloccati

Sintassi

Set-MailboxJunkEmailConfiguration
   [-Identity] <MailboxIdParameter>
   [-BlockedSendersAndDomains <MultiValuedProperty>]
   [-Confirm]
   [-ContactsTrusted <Boolean>]
   [-DomainController <Fqdn>]
   [-Enabled <Boolean>]
   [-IgnoreDefaultScope]
   [-TrustedListsOnly <Boolean>]
   [-TrustedRecipientsAndDomains <MultiValuedProperty>]
   [-TrustedSendersAndDomains <MultiValuedProperty>]
   [-WhatIf]
   [<CommonParameters>]


Parametri

-BlockedSendersAndDomains
Il parametro BlockedSendersAndDomains consente di specificare la lista dei mittenti bloccati; una lista di indirizzi e-mail e domini mittenti i cui messaggi vengono automaticamente spostati nella cartella Posta indesiderata

Per inserire più valori e sovrascrivere qualsiasi voce esistente, si usa la seguente sintassi: "Valore1","Valore2",..."ValoreN". 

Per aggiungere o rimuovere uno o più valori senza influenzare le voci esistenti, va usata la seguente sintassi: @{Add="Valore1", "Valore2"...; Remove="Valore3", "Valore4"...}.

-Confirm
Consente di mostrare o nascondere la richiesta di conferma. 

-ContactsTrusted
Il parametro ContactsTrusted specifica se i contatti nella cartella Contatti sono da considerare come mittenti attendibili. I valori validi sono:
  • $true: I messaggi provenienti dai contatti presenti nella cartella Contatti  non verranno mai spostati nella cartella Posta indesiderata indipendentemente dal contenuto.
  • $false: I messaggi provenienti dai contatti presenti nella cartella Contatti non saranno trattati come mittenti attendibili. L'indirizzo email  viene considerato attendibile solo se definito nell'elenco dei mittenti attendibili.

-DomainController
Questo parametro è disponibile solo in Exchange on-premises.
Il parametro DomainController specifica il controller di dominio usato dal cmdlet per leggere o scrivere dati in Active Directory. Il controller di dominio viene identificato tramite FQDN:per esempio, dc01.contoso.com.

-Enabled
Il parametro Enabled abilita o disabilita la regola della posta indesiderata sulla casella di posta elettronica. Passando al parametro il valore $True la regola viene abilitata mentre viene disabilitata passando al parametro il valore $False.

-IgnoreDefaultScope
IgnoreDefaultScope indica di usare l'intera foresta come ambito permettendo al comando di accedere agli oggetti di Active Directory che non sono disponibili nell'ambito predefinito. Il parametro introduce le seguenti restrizioni:
  • Non è possibile usare il parametro DomainController. Il comando utilizza automaticamente un server di catalogo globale appropriato.
  • Si può usare solo il DN per il parametro Identity. Altre forme di identificazione, come alias o GUID, non sono accettate.

-TrustedListsOnly
Il parametro TrustedListsOnly specifica che solo i messaggi provenienti dai mittenti presenti nella lista dei mittenti attendibili sono consegnati nella cartella Posta in arrivo. Tutti gli altri messaggi sono trattati come posta indesiderata. I valori validi sono:
  • $true: Solo i messaggi provenienti da indirizzi e-mail o domini inseriti nell'elenco Mittenti attendibili vengono consegnati alla Posta in arrivo. Tutti gli altri messaggi vengono automaticamente consegnati nella cartella Posta indesiderata.
  • $false: I messaggi provenienti da altri mittenti, destinatari e domini non vengono automaticamente trattati come posta indesiderata, e vengono valutati individualmente. Questo è il valore predefinito.

-TrustedSendersAndDomains
Il parametro TrustedSendersAndDomains consente di specificare la lista dei Mittenti attendibili e Destinatari attendibili.
Per inserire più valori e sovrascrivere qualsiasi voce esistente, si usa la seguente sintassi: "Valore1","Valore2",..."ValoreN". 

Per aggiungere o rimuovere uno o più valori senza influenzare le voci esistenti, usate la seguente sintassi: @{Add="Valore1", "Valore2"...; Remove="Valore3", "Valore4"...}.

Tutti gli indirizzi email nella lista globale degli indirizzi (GAL) sono automaticamente considerati come mittenti attendibili, quindi non è necessario aggiungerli alla lista.
Con questo cmdlet non è possibile modificare direttamente l'elenco dei destinatari attendibili. Con questo parametro viene modificato l'elenco dei Mittenti attendibili, e gli indirizzi e-mail e i domini sono sincronizzati con l'elenco Destinatari attendibili

-WhatIf
WhatIf simula le azioni del comando.


Esempi

Esempio1
Set-MailboxJunkEmailConfiguration GLubrano -Enabled $false
Disabilita la regola della posta indesiderata sulla casella di posta elettronica specificata.
Set-MailboxJunkEmailConfiguration
FIG 1 - Set-MailboxJunkEmailConfiguration



Esempio 2
Set-MailboxJunkEmailConfiguration GLUBRANO -TrustedSendersAndDomains @{Add="contoso.com","microsoft.com"} -BlockedSendersAndDomains @{Add="joker@gotham.com"}
Aggiunge i domini contoso.com e microsoft.com come Mittenti attendibili senza interferire con i domini già presenti in elenco. Aggiunge, inoltre, l'indirizzo joker@gotham.com all'elenco dei Mittenti bloccati, anche in questo caso senza andare ad interferire con gli indirizzi già presenti.

Esempio 3
Get-MailboxJunkEmailConfiguration * | Where {$_.ContactsTrusted -eq $true} | Set-MailboxJunkEmailConfiguration -ContactsTrusted $false
Il comando sopra riportato agisce su tutte le mailbox. Sulle mailbox dove i mittenti presenti nella cartella Contatti vengono considerati come Mittenti attendibili, modifica la configurazione (i Contatti non verranno più trattati come mittenti attendibili)



lunedì 28 febbraio 2022

PowerShell: Abilitare un account disabilitato in AD

Nell'articolo PowerShell: Disabilitare un account in AD è stato mostrato come disabilitare un account in Active Directory mediante l'utilizzo del cmdlet Disable-ADAccount. In quest'articolo vedremo l'operazione opposta: come abilitare un account disabilitato. L'abilitazione viene effettuata mediante l'utilizzo del cmdlet Enable-ADAccount che consente di abilitare un account utente, computer o servizio di Active Directory.

Sintassi

Enable-ADAccount
      [-WhatIf]
      [-Confirm]
      [-AuthType <ADAuthType>]
      [-Credential <PSCredential>]
      [-Identity] <ADAccount>
      [-Partition <String>]
      [-PassThru]
      [-Server <String>]
      [<CommonParameters>]

Parametri

-AuthType 
Specifica il metodo di autenticazione. I valori accettati dal parametro sono:
  • Negotiate oppure 0 (default)
  • Basic oppure 1
-Confirm 
Chiede conferma prima di eseguire il cmdlet.

-Credential
Specifica le credenziali dell'account utente con cui eseguire il comando. Se omesso viene considerato l'utente corrente che sta eseguendo il comando. Al parametro può essere passato il nome dell'account, come ad es. "utente01" o "Dominio\utente01" oppure può essere passato un'oggetto PSCredential generato dal cmdlet Get-Credential. Se viene specificato un'account utente verrà richiesto di inserire la password all'esecuzione del comando.

-Identity
Tale parametro specifica l'oggetto gruppo Active Directory su cui si desidera intervenire. Al parametro può essere passato un qualsiasi valore che identifica il gruppo in maniera univoca come:
Distinguished name
GUID (objectGUID)
Security identifier (objectSid)
Security Account Manager account name (SAMAccountName) 

-Partition
A tale parametro va passato il Distinguished Name (DN) di una partizione di Active Directory. Il cmdlet utilizzerà tale partizione per ricercare l'oggetto specificato dal parametro Identity.

-PassThru
Restituisce un oggetto che rappresenta l'item su cui si sta lavorando. Per impostazione predefinita, il cmdlet non genera alcun output.

-Server
Permette di specificare l'istanza di Active Directory Domain Services a cui connettersi per eseguire l'operazione.

-WhatIf
Mostra cosa accadrebbe se venisse eseguito il cmdlet. Il cmdlet non viene eseguito.


Esempi

Esempio 1
Enable-ADAccount -Identity Giovanni.Lubrano
Questo comando abilita l'account con identità SAMAccountName Giovanni.Lubrano
Abilita account in AD
FIG 1 - Abilita account in AD


Esempio 2
Enable-ADAccount -Identity "CN=Giovanni Lubrano Lavadera,OU=Utenti,OU=Direzione,DC=mycompany,DC=local"
Abilita l'account con DistinguishedName "CN=Giovanni Lubrano Lavadera,OU=Utenti,OU=Direzione,DC=mycompany,DC=local"

Esempio 3
Get-ADUser -Filter 'Name -like "*"' -SearchBase "OU=Utenti,OU=Direzione,DC=mycompany,DC=local" | Enable-ADAccount
Questo comando abilita tutti gli account nell'unità organizzativa "OU=Utenti,OU=Direzione,DC=mycompany,DC=local".








PowerShell: Disabilitare un account in AD

In questo articolo tratteremo il cmdlet Disable-ADAccount utilizzato disabilitare un account utente, computer o servizio di Active Directory.

Sintassi

Disable-ADAccount
       [-WhatIf]
       [-Confirm]
       [-AuthType <ADAuthType>]
       [-Credential <PSCredential>]
       [-Identity] <ADAccount>
       [-Partition <String>]
       [-PassThru]
       [-Server <String>]
       [<CommonParameters>]

Parametri

-AuthType 
Specifica il metodo di autenticazione. I valori accettati dal parametro sono:
  • Negotiate oppure 0 (default)
  • Basic oppure 1
-Confirm 
Chiede conferma prima di eseguire il cmdlet.

-Credential
Specifica le credenziali dell'account utente con cui eseguire il comando. Se omesso viene considerato l'utente corrente che sta eseguendo il comando. Al parametro può essere passato il nome dell'account, come ad es. "utente01" o "Dominio\utente01" oppure può essere passato un'oggetto PSCredential generato dal cmdlet Get-Credential. Se viene specificato un'account utente verrà richiesto di inserire la password all'esecuzione del comando.

-Identity
Tale parametro specifica l'oggetto gruppo Active Directory su cui si desidera intervenire. Al parametro può essere passato un qualsiasi valore che identifica il gruppo in maniera univoca come:
Distinguished name
GUID (objectGUID)
Security identifier (objectSid)
Security Account Manager account name (SAMAccountName) 

-Partition
A tale parametro va passato il Distinguished Name (DN) di una partizione di Active Directory. Il cmdlet utilizzerà tale partizione per ricercare l'oggetto specificato dal parametro Identity.

-PassThru
Restituisce un oggetto che rappresenta l'item su cui si sta lavorando. Per impostazione predefinita, il cmdlet non genera alcun output.

-Server
Permette di specificare l'istanza di Active Directory Domain Services a cui connettersi per eseguire l'operazione.

-WhatIf
Mostra cosa accadrebbe se venisse eseguito il cmdlet. Il cmdlet non viene eseguito.


Esempi

Esempio 1
Disable-ADAccount -Identity Giovanni.Lubrano
Questo comando disabilita l'account con identità SAMAccountName Giovanni.Lubrano
Disabilita account
FIG 1 - Disabilita account

Esempio 2
Disable-ADAccount -Identity "CN=Giovanni Lubrano Lavadera,OU=Utenti,OU=Direzione,DC=mycompany,DC=local"
Disabilita l'account con DistinguishedName "CN=Giovanni Lubrano Lavadera,OU=Utenti,OU=Direzione,DC=mycompany,DC=local"

Esempio 3
Get-ADUser -Filter 'Name -like "*"' -SearchBase "OU=Utenti,OU=Direzione,DC=mycompany,DC=local" | Disable-ADAccount
Questo comando disabilita tutti gli account nell'unità organizzativa "OU=Utenti,OU=Direzione,DC=mycompany,DC=local".

Account disabilitato
FIG 2 - Account disabilitato





lunedì 7 febbraio 2022

PowerShell: Elencare le unità di rete con Get-PSDrive

Ci sono diversi modi per avere un elenco di unità di rete mappate sul sistema; uno di questi prevede l'utilizzo del cmdlet Get-PSDrive di PowerShell. Tramite il comando mostrato di seguito andiamo a verificare se la root di destinazione inizia con "\\" che indica un percorso di rete UNC
Get-PSDrive -PSProvider FileSystem | Where-Object DisplayRoot -like '\\*'

Get-PSDrive
FIG 1 - Get-PSDrive



martedì 19 gennaio 2021

PowerShell: Gestire Microsoft Teams

Microsoft Teams è l'hub per la collaborazione di Microsoft 365 che permette di integrare persone, contenuti e strumenti. Microsoft Teams può essere gestito attraverso il suo Admin Center, utilizzando PowerShell o tramite l'utilizzo di Microsoft Graph API. In questo articolo verranno mostrati i cmdlet PowerShell più comuni per la gestione di Microsoft Teams. Prima di iniziare è importante verificare il proprio ruolo di amministratore di Microsoft Teams, infatti i cmdlet utilizzabili dipendono dal ruolo ricoperto.
Microsoft Teams
FIG 1 - Microsoft Teams

Ruoli amministratore Microsoft Teams

In Azure Active Directory (Azure AD) è possibile designare gli amministratori che necessitano di livelli di accesso diversi per la gestione di Microsoft Teams. Gli amministratori possono essere abilitati a gestire l'intero carico di lavoro di Teams oppure possono avere autorizzazioni delegate per la risoluzione dei problemi di qualità delle chiamate o per gestire le esigenze di telefonia dell'organizzazione. A tale scopo sono disponibili cinque diversi ruoli di amministratore di Teams
  1. Amministratore del servizio teams
    Supervisiona il servizio Teams e si occupa di gestire e creare gruppi Microsoft 365.
  2. Amministratore comunicazioni Teams
    Gestisce le caratteristiche delle chiamate e delle riunioni all'interno del servizio Teams.
  3. Amministratore del dispositivo Teams
    Gestisce i dispositivi configurati per l'uso con il servizio Teams.
  4. Tecnico supporto comunicazioni Teams
    Risolve i problemi di comunicazione all'interno di Teams usando strumenti avanzati.
  5. Specialista supporto comunicazioni Teams
    Risolve i problemi di comunicazione in Teams usando gli strumenti di base (si tratta del ruolo con privilegi meno elevati).

Installare il modulo di PowerShell per Microsoft Teams

Prima di poter utilizzare i cmdlet è necessario installare il modulo di PowerShell per Microsoft Teams. Da PowerShell eseguire il comando
Install-Module -Name MicrosoftTeams

Accesso a Teams

Per accedere a Teams utilizzando il proprio nome utente e password eseguire i comandi
$cred=Get-Credential
Connect-MicrosoftTeams -Credential $cred

Per disconnettersi dall'ambiente Microsoft Teams eseguire il comando
Disconnect-MicrosoftTeams


Visualizzare i cmdlets disponibili

Per visualizzare l'elenco di tutti i cmdlet che è possibile utilizzare eseguire il comando
Get-TeamHelp


Creare e gestire un team

Un team può essere visto come un insieme di utenti che hanno un obbiettivo in comune. Per la creazione e la gestione di un team si utilizzano i seguenti cmdlet

1. New-team
Crea un nuovo team

Sintassi
New-team
   -DisplayName <String>
   [-Description <String>]
   [-MailNickName <String>]
   [-Classification <String>]
   [-Visibility <String>]
   [-Template <String>]
   [-Owner <String>]
   [-AllowGiphy <Boolean>]
   [-GiphyContentRating <String>]
   [-AllowStickersAndMemes <Boolean>]
   [-AllowCustomMemes <Boolean>]
   [-AllowGuestCreateUpdateChannels <Boolean>]
   [-AllowGuestDeleteChannels <Boolean>]
   [-AllowCreateUpdateChannels <Boolean>]
   [-AllowDeleteChannels <Boolean>]
   [-AllowAddRemoveApps <Boolean>]
   [-AllowCreateUpdateRemoveTabs <Boolean>]
   [-AllowCreateUpdateRemoveConnectors <Boolean>]
   [-AllowUserEditMessages <Boolean>]
   [-AllowUserDeleteMessages <Boolean>]
   [-AllowOwnerDeleteMessages <Boolean>]
   [-AllowTeamMentions <Boolean>]
   [-AllowChannelMentions <Boolean>]
   [-ShowInTeamsSearchAndSuggestions <Boolean>]
    [-RetainCreatedGroup <SwitchParameter>]
   [<CommonParameters>]

oppure

New-team
   -GroupId <String>
   [-Owner <String>]
   [-AllowGiphy <Boolean>]
   [-GiphyContentRating <String>]
   [-AllowStickersAndMemes <Boolean>]
   [-AllowCustomMemes <Boolean>]
   [-AllowGuestCreateUpdateChannels <Boolean>]
   [-AllowGuestDeleteChannels <Boolean>]
   [-AllowCreateUpdateChannels <Boolean>]
   [-AllowDeleteChannels <Boolean>]
   [-AllowAddRemoveApps <Boolean>]
   [-AllowCreateUpdateRemoveTabs <Boolean>]
   [-AllowCreateUpdateRemoveConnectors <Boolean>]
   [-AllowUserEditMessages <Boolean>]
   [-AllowUserDeleteMessages <Boolean>]
   [-AllowOwnerDeleteMessages <Boolean>]
   [-AllowTeamMentions <Boolean>]
   [-AllowChannelMentions <Boolean>][-ShowInTeamsSearchAndSuggestions <Boolean>]
   [-RetainCreatedGroup <SwitchParameter>]
   [<CommonParameters>]

Esempio 1
New-Team -DisplayName "Team1"   
Crea un nuovo team assegnandogli il nome Team1

Esempio 2
New-Team -DisplayName "Team1" -Description "Supporto Tecnico" -Visibility Public
Crea un nuovo team assegnandogli il nome Team1, viene aggiunta una descrizione al gruppo e tramite il parametro -Visibility il gruppo viene reso pubblico.

2. Get-team
Recupera un oggetto team con tutte le proprietà.

Sintassi
Get-team   
   -GroupId <String>
   [-User <String>]
   [-Archived <Boolean>]
   [-Visibility <String>]
   [-DisplayName <String>]
   [-MailNickName <String>]
   [<CommonParameters>]

oppure

Get-team
   [-User <String>]
   [-Archived <Boolean>]
   [-Visibility <String>]
   [-DisplayName <String>]
   [-MailNickName <String>]
   [<CommonParameters>]

Esempio 1
Get-Team -User glubrano@contoso.com
Visualizza tutti i team a cui l'utente specificato appartiene.

Esempio 2
Get-Team -Archived $true -Visibility Private
Restituisce tutti i team archiviati e privati.



3. Set-team
Permette di aggiornare/impostare le proprietà di un team

Sintassi
Set-team
   -GroupId <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-MailNickName <String>]
   [-Classification <String>]
   [-Visibility <String>]
   [-AllowGiphy <Boolean>]
   [-GiphyContentRating <String>]
   [-AllowStickersAndMemes <Boolean>]
   [-AllowCustomMemes <Boolean>]
   [-AllowGuestCreateUpdateChannels <Boolean>]
   [-AllowGuestDeleteChannels <Boolean>]
   [-AllowCreateUpdateChannels <Boolean>]
   [-AllowDeleteChannels <Boolean>]
   [-AllowAddRemoveApps <Boolean>]
   [-AllowCreateUpdateRemoveTabs <Boolean>]
   [-AllowCreateUpdateRemoveConnectors <Boolean>]
   [-AllowUserEditMessages <Boolean>]
   [-AllowUserDeleteMessages <Boolean>]
   [-AllowOwnerDeleteMessages <Boolean>]
   [-AllowTeamMentions <Boolean>]
   [-AllowChannelMentions <Boolean>]
   [-ShowInTeamsSearchAndSuggestions <Boolean>]
   [<CommonParameters>]
   
Esempio 1
Set-Team -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -DisplayName "Nome aggiornato" -Visibility Public   
Il comando aggiorna il Nome e il tipo di visibilità del team avente l'ID specificato.

  
4. Set-TeamPicture
Permette di impostare una foto per il team.

Sintassi
Set-TeamPicture
   -GroupId <String>
   -ImagePath <String>
   [<CommonParameters>]
   
Esempio 1
Set-TeamPicture -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -ImagePath c:\Immagini\Logo.png
Assegna l'immagine Logo.png al team avente l'ID specificato.

Il comando restituisce subito l'esito dell'operazione ma potrebbe essere necessario attendere 1 ora e riavviare l'applicazione per visualizzare la modifica.


5. Remove-team
Rimuove un team.

Sintassi
Remove-Team
      -GroupId <String>
      [<CommonParameters>]

Esempio 1   
Remove-Team -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df
Rimuovere il team avente l'ID specificato.



Aggiungere/rimuovere membri ad un team

Per aggiungere e rimuovere i membri di un team vengono utilizzati i cmdlet Add-TeamUser e Remove-TeamUser.

1. Add-teamuser
Aggiunge un utente al team specificato.

Sintassi
Add-TeamUser
   -GroupId <String>
   -User <String>
   [-Role <String>]
   [<CommonParameters>]
   
Esempio 1
Add-TeamUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -User glubrano@contoso.com
Aggiunge l'utente glubrano@contoso.com al team avente l'ID specificato.

2. Remove-TeamUser
Rimuove un utente dal team.

Sintassi
Remove-TeamUser
      -GroupId <String>
      -User <String>
      [-Role <String>]
      [<CommonParameters>]

Esempio 1
Remove-TeamUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -User glubrano@contoso.com -Role Owner
L'utente specificato viene rimosso dal ruolo di Proprietario ma rimane come membro del team.

Esempio 2
Remove-TeamUser -GroupId 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df -User glubrano@contoso.com
L'utente specificato viene rimosso dal team.


Creare e rimuovere canali

Se un team è un gruppo di utenti che si riuniscono attorno ad un obiettivo comune, i canali sono gli spazi di collaborazione all'interno di un team in cui viene concretamente svolto il lavoro. I cmdlet New-TeamChannelRemove-TeamChannel vengono utilizzati per la creazione/rimozione di canali. 

1. New-TeamChannel 
Crea un nuovo canale all'interno di un team.

Sintassi
New-TeamChannel
   -GroupId <String>
   -DisplayName <String>
   [-Description <String>]
   [-MembershipType <String>]
   [-Owner <String>]
   [<CommonParameters>]
   
Esempio 1
New-TeamChannel -GroupId 126b90a5-e65a-4fef-98e3-d9b49f4acf12 -DisplayName "Ufficio"
Crea un nuovo canale con nome Ufficio nel gruppo team indicato. 

Esempio 2
New-TeamChannel -GroupId 126b90a5-e65a-4fef-98e3-d9b49f4acf12 -DisplayName "Ufficio" -MembershipType Private
Crea un nuovo canale privato con nome Ufficio nel gruppo team indicato. 

2. Remove-TeamChannel 
Cancella un canale all'interno di un team. Questo non cancellerà il contenuto delle schede associate.

Sintassi
Remove-TeamChannel
      -GroupId <String>
      -DisplayName <String>
      [<CommonParameters>]
  
Esempio 1
Remove-TeamChannel -GroupId 2f162b0e-36d2-4e15-8ba3-ba229cecdccf -DisplayName "Ufficio"  
Elimina il canale nominato Ufficio dal team avente ID indicato 





martedì 19 giugno 2018

Kali Linux: Installare PowerShell su Kali Linux

Le distribuzioni Linux consentono di specificare più repository per l'installazione dei pacchetti. Tra i numerosi repository disponibili online c'è anche uno messo a disposizione da Microsoft che include PowerShell. Il repository di Microsoft è pensato per gli utenti Debian ma si adatta perfettamente anche a Kali Linux.

In questo articolo verrà mostrato, passo passo, come installare PowerShell in Kali Linux.

La prima operazione da effettuare consiste nel preparare il terreno installando/aggiornando le dipendenze. Dalla finestra terminale di Kali Linux eseguire il comando
apt update && apt -y install curl gnupg apt-transport-https
Aggiornamento delle dipendenze del pacchetto PowerShel
FIG 1 - Aggiornamento delle dipendenze del pacchetto PowerShell
Il passo successivo consiste nell'aggiungere la chiave GPG del repository in modo che APT rilevi la firma dei pacchetti. Sempre dalla finestra terminale eseguire
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
Aggiungere la chiave GPG del repository Microsoft
FIG 2 - Aggiungere la chiave GPG del repository Microsoft

A questo punto il repository Microsoft va aggiunto all'elenco delle risorse in /etc/apt/sources.list.d/ con il comando
echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main" > /etc/apt/sources.list.d/powershell.list 
Aggiungere il repository Microsoft all'elenco delle risorse
FIG 3 - Aggiungere il repository Microsoft all'elenco delle risorse
Aggiornare l'elenco dei pacchetti con il comando
apt update
Aggiornare l'elenco dei pacchetti
FIG 4 - Aggiornare l'elenco dei pacchetti
Installare il pacchetto libcurl3 
apt -y install libcurl3
Installazione pacchetto libcurl3
FIG 5 - Installazione pacchetto libcurl3
Procedere all'installazione del pacchetto PowerShell eseguendo
apt -y install powershell
Installazione pacchetto PowerShell
FIG 6 - Installazione pacchetto PowerShell
Al termine dell'installazione del pacchetto, avviare PowerShell con
pwsh
Nel caso in cui appaia il messaggio "FailFast: The terminfo database is invalid.", come mostrato in FIG 7, è probabile che la variabile d'ambiente TERM sia settata su xterm-256color.


Avvio PowerShell tramite pwsh
FIG 7 - Avvio PowerShell tramite pwsh
Per verificare il valore della variabile d'ambiente TERM digitare, da terminale, il seguente comando
printenv TERM
Visualizzazione valore variabile d'ambiente TERM
FIG 8 - Visualizzazione valore variabile d'ambiente TERM
In questo caso PowerShell può essere avviato da terminale digitando ed eseguendo
TERM=xterm pwsh
FIG 9 - Avvio PowerShell tramite TERM=xterm pwsh
Da PowerShell eseguire
Update-Help
per aggiornare tutti i file di help scaricandoli da Microsoft.
Aggiornamento dei file di Help di PowerShell
FIG 10 - Aggiornamento dei file di Help di PowerShell
L'installazione di PowerShell in Kali Linux è completa. Possiamo testare il funzionamento eseguendo un cmdlet PowerShell.
 Esecuzione cmdlet PowerShell
FIG 11 - Esecuzione cmdlet PowerShell





venerdì 18 maggio 2018

MS Exchange: Verificare la regola di posta indesiderata impostata su una casella di posta tramite EMS

Per visualizzare la configurazione della regola di posta indesiderata di una mailbox è possibile utilizzare il cmdlet Get-MailboxJunkEmailConfiguration tramite Exchange Management Shell.
La sintassi del comando è la seguente:
Get-MailboxJunkEmailConfiguration [-Identity] <MailboxIdParameter> [-Credential <PSCredential>] [-DomainController <Fqdn>] [-ReadFromDomainController] [-ResultSize <Unlimited>][<CommonParameters>]

Parametri principali


Identity
Il parametro identity permette di specificare la casella di posta che si intende verificare. Al parametro può essere passato il Display name, l'Alias, il Distinguishe name (DN), l'indirizzo email, l'User ID o l'User Principal Name (UPN). E' possibile anche utilizzare i carattery jolly (*) per identificare più caselle di posta.

Credential
Permette di specificare le credenziali, usename e password, con cui eseguire il comando. Generalmente tale parametro viene utilizzato all'interno degli script o quando si ha la necessità di utilizzare credenziali di un utente abilitato ad eseguire l'operazione.

DomainController
Permette di specificare il Domain Controller che il comando dovrà interrogare per recuperare le informazioni da Active Directory.

ReadFromDomainController
Il parametro consente di specificare che le informazioni devono essere lette da un controller di dominio nel dominio dell'utente.

ResultSize
Permette di indicare il numero massimo di oggetti da restituire. Il valore di default è 1000 se si intende visualizzare tutti gli oggetti al parametro va passato il valore Unlimited.



Esempi


Esempio 1
Get-MailboxJunkEmailConfiguration GLUBRANO
oppure
Get-MailboxJunkEmailConfiguration -Identity GLUBRANO
Visualizza la configurazione della regola di posta indesiderata relativa alla mailbox specificata.
Get-MailboxJunkEmailConfiguration, Visualizzare configurazione regola posta indesiderata
FIG 1 - Get-MailboxJunkEmailConfiguration, Visualizzare configurazione regola posta indesiderata

Esempio 2
Get-MailboxJunkEmailConfiguration -Identity * | Where {$_.Enabled -eq $false}
Visualizza la configurazione della regola di posta indesiderata per tutte le mailbox su cui la regola è disabilitata.




martedì 15 maggio 2018

MS Exchange: Individuare quali cmdlet sono disponibili per gli amministratori di Exchange Online

Microsoft Exchange Online può essere gestito da riga di comando tramite Exchange Online PowerShell. Anche se la maggior parte dei cmdlet disponibili per gli amministrazioni di Exchange Online possono essere utilizzati con la versione locale di Exchange Server, esistono circa 40 cmdlet che possono essere utilizzati esclusivamente con la versione online.

Per recuperare facilmente l'elenco dei cmdlet disponibili, eseguire il comando Get-Module da Exchange Management Shell. Il comando restituirà l'elenco di tutti i moduli al momento caricati nell'istanza di Windows PowerShell.

Exchange Management Shell, Get-Module
FIG 1 - Exchange Management Shell, Get-Module

In FIG 1 il modulo tmp_n1nnov4v.dpv è quello relativo ad Exchange Online. Il modulo non è installato localmente nel computer ma viene generato dinamicamente ogni volta che ci si connette ad Exchange Online. Proprio perché generato dinamicamente, il nome del modulo cambia ad ogni connessione ad Exchange Online ma è facilmente identificabile in quanto inizia sempre per "tmp".
Conoscendo il nome del modulo è possibile utilizzarlo con il parametro -Module del comando Get-Command come indicato di seguito per avere l'elenco di tutti i cmdlet di Exchange Online
Get-Command -Module "tmp_n1nnov4v.dpv"

Trattandosi di un elenco di 490 cmdlet è possibile eseguire la redirezione dell'output verso un file tramite l'operatore > con il comando
Get-Command -Module "tmp_n1nnov4v.dpv" > c:\ElencoCmdlet.txt
oppure utilizzare il comando More, come indicato di seguito, per visualizzare una schermata alla volta
Get-Command -Module "tmp_n1nnov4v.dpv" | More

Get-Command, visualizzare l'elenco dei cmdlet disponibili
FIG 2 - Get-Command, visualizzare l'elenco dei cmdlet disponibili

Se si intende visualizzare solo un determinato sottoinsieme di cmdlet è possibile filtrarli tramite il parametro -Name e il carattere Jolly (*). 
Ad es. per visualizzare i cmdlet il cui nome inizia per Enable si utilizza il comando
Get-Command -Name "Enable*" -Module "tmp_n1nnov4v.dpv" 

Get-Command, ricerca tra i cmdlet disponibili
FIG 3 - Get-Command, ricerca tra i cmdlet disponibili