domenica 7 febbraio 2021

Come ricercare file di grandi dimensioni tramite il Prompt dei comandi

Tramite il prompt dei comandi è possibile ricercare i file di grandi dimensioni utilizzando il comando forfiles.

Digitando 
forfiles /?
seguito da invio verrà mostrato l'help del comando con informazioni sulla sintassi e i vari parametri come indicato di seguito.


FORFILES [/P nomepercorso] [/M mascheraricerca] [/S]
         [/C comando] [/D [+ | -] {dd/MM/yyyy | dd}]

Descrizione:
    Seleziona un file, o un gruppo di file, e esegue un
    comando sul file selezionato. Utile per i processi batch.

Elenco parametri:
    /P    nomepercorso  Indica il percorso da cui avviare la ricerca.
                        La cartella predefinita è la directory di lavoro
                        corrente.

    /M    masch.ricerca Esegue la ricerca di file in base a una
                        maschera di ricerca.
                        La maschera di ricerca predefinita è '*' .

    /S                  Indica la ricerca ricorsiva nelle
                        sottodirectory. Come "DIR /S".

    /C    comando       Indica il comando da eseguire per ciascun file.
                        Le stringhe del comando devono essere
                        racchiuse tra virgolette doppie.

                        Il comando predefinito è "cmd /c echo @file".

                        È possibile utilizzare le seguenti variabili nella
                        stringa di comando:
                        @file    - Restituisce il nome del file.
                        @fname   - Restituisce il nome file senza
                                   estensione.
                        @ext     - Restituisce solo l'estensione del
                                   file.
                        @path    - Restituisce il percorso completo del file.
                        @relpath - Restituisce il percorso relativo del
                                   file.
                        @isdir   - Restituisce "TRUE" se il tipo di file è
                                   una directory e "FALSE" per i file.
                        @fsize   - Restituisce le dimensioni del file in
                                   byte.
                        @fdate   - Restituisce la data dell'ultima modifica del
                                   file.
                        @ftime   - Restituisce l'ora dell'ultima modifica del
                                   file.

                        Per includere caratteri speciali nella riga
                        di comando, utilizzare il codice esadecimale
                        per il carattere nel formato 0xHH (ad esempio,
                        0x09 per TAB). I comandi interni CMD.exe
                        devono essere preceduti da "cmd /c".

    /D    data          Seleziona i file con la data dell'ultima
                        modifica successiva
                        o uguale a (+), o precedente o uguale alla
                        (-), data specificata utilizzando il
                        formato "dd/MM/yyyy", o seleziona i file con
                        la data dell'ultima modifica successiva
                        o uguale alla (+) data corrente più
                        "gg" giorni, o precedente o uguale alla
                        (-) data corrente meno "gg" giorni. Un numero
                        "gg" di giorni valido può essere qualsiasi numero
                        compreso tra 0 e 32768.
                        "+" viene considerato il segno predefinito se
                        non altrimenti specificato.

    /?                  Visualizza questo messaggio della Guida.

Esempi:
    FORFILES /?
    FORFILES
    FORFILES /P C:\WINDOWS /S /M DNS*.*
    FORFILES /S /M *.txt /C "cmd /c type @file | more"
    FORFILES /P C:\ /S /M *.bat
    FORFILES /D -30 /M *.exe
             /C "cmd /c echo @path 0x09 è stato modificato 30 giorni fa"
    FORFILES /D 01/01/2001
             /C "cmd /c echo @fname è stato modificato dopo il 1 gennaio 2001"
    FORFILES /D +4/2/2021 /C "cmd /c echo @fname è stato modificato oggi"
    FORFILES /M *.exe /D +1
    FORFILES /S /M *.doc /C "cmd /c echo @fsize"
    FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"


Per ricercare file che superano la dimensione di 100MB (104857600 byte) in tutte le sottocartelle si può utilizzare il comando
forfiles /S /M * /C "cmd /c if @fsize GEQ 1048576 echo @path"

Se si intende visualizzare, oltre al path, anche la dimensione effettiva del file 
forfiles /S /M * /C "cmd /c if @fsize GEQ 1048576 echo @path - @fsize "


Prompt dei comandi - ForFiles
FIG 1 - Prompt dei comandi - ForFiles








mercoledì 3 febbraio 2021

Windows 10: Unità SATA interna rilevata come supporto rimovibile

A seconda di come vengono contrassegnate le porte SATA sulla scheda madre da parte del BIOS, può capitare che i driver di Windows rilevino i dispositivi SATA interni (HDD o SDD) come unità rimovibili. Si tratta di una situazione che può essere una causa potenziale di danni o perdita di dati.

Per risolvere il problema:
  • Aprire un prompt dei comandi con privilegi di amministratore.
  • Digitare il seguente comando seguito da invio per avviare Gestione dispositivi
    devmgmt.msc
  • Espandere la voce Unità disco, individuare il disco su cui si intende agire e visualizzare le proprietà (doppio click con il tasto sinistro del mouse oppure cliccarci su con il tasto destro e selezionare Proprietà).
    Gestione dispositivi
    FIG 1 - Gestione dispositivi

  • Nella finestra delle proprietà prendere nota del Bus number (in FIG 2 il Bus Number è 0).
    Bus Number
    FIG 2 - Bus Number
  • Ritornare al prompt dei comandi aperto in precedenza e digitare il seguente comando seguito da invio 
    reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device" /f /v TreatAsInternalPort /t REG_MULTI_SZ /d x
    dove al posto di x va indicato il bus number annotato precedentemente




domenica 31 gennaio 2021

PowerShell: Rimuovere un gruppo Active Directory

Microsoft Active Directory rappresenta il nodo centrale per l'amministrazione, l'autorizzazione e l'autenticazione. Per semplificare la gestione degli accessi e migliorare la sicurezza, nelle aziende di medie e grandi dimensioni, spesso vengono utilizzati i gruppi di sicurezza di Active Directory che possono contenere account utente, account computer e altri gruppi. Anche i gruppi di distribuzione vengono utilizzati altrettanto spesso. 
Per maggiori informazioni sui gruppi rimando all'articolo Windows Server 2019: Creazione gruppi in Active Directory in cui è stato anche illustrato il cmdlet New-ADGroup.

Entrambi i tipi di gruppi possono essere gestisti tramite PowerShell utilizzando il modulo Active Directory che fu introdotto a partire da Windows Server 2008 R2 ed è abilitato di default in Windows Server 2012 e successivi. Per visualizzare l'elenco completo dei cmdlet contenuti all'interno del modulo Active Directory è possibile eseguire il comando
Get-Command -Module ActiveDirectory
L'elenco comprende 147 cmdlet ma solo 11 sono relativi ai gruppi di Active Directory:
Add-ADGroupMember
Add-ADPrincipalGroupMembership
Get-ADAccountAuthorizationGroup
Get-ADGroup
Get-ADGroupMember
Get-ADPrincipalGroupMembership
New-ADGroup
Remove-ADGroup
Remove-ADGroupMember
Remove-ADPrincipalGroupMembership
Set-ADGroup

PowerShell, cmdlet modulo Active Directory
FIG 1 - PowerShell, cmdlet modulo Active Directory


In questo articolo vedremo come rimuovere un gruppo Active Directory utilizzando il cmdlet Remove-ADGroup. Per visualizzare la sua sintassi eseguire il comando
Get-Command Remove-ADGroup –Syntax

Sintassi
Remove-ADGroup
      [-WhatIf]
      [-Confirm]
      [-AuthType <ADAuthType>]
      [-Credential <PSCredential>]
      [-Identity] <ADGroup>
      [-Partition <String>]
      [-Server <String>]
      [<CommonParameters>]
  
Parametri

-AuthType 
Specifica il metodo di autenticazione. I valori accettati dal parametro sono:
  • Negotiate oppure 0 (default)
  • Basic oppure 1
-Confirm
Se specificato, tale parametro mostra la richiesta di 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.

-Server
Permette di specificare l'istanza di Active Directory Domain Services a cui connettersi per la rimozione del gruppo.

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


Rimuovere un gruppo Active Directory
Per rimuovere un gruppo Active Directory basta semplicemente eseguire il comando
Remove-ADGroup -Identity Gruppo1
dove al posto di Gruppo1 va specificato il nome del gruppo

Se vogliamo cancellare tutti i gruppi Active Directory i cui nomi iniziano per Gruppo possiamo eseguire
Get-ADGroup -Filter 'Name -like "Gruppo*"' | Remove-ADGroup

PowerShell, Remove-ADGroup
FIG 2 - PowerShell, Remove-ADGroup








giovedì 28 gennaio 2021

Windows 10: Gestione attività, impostare la scheda predefinita

Gestione attività (nelle vecchie versioni di Windows conosciuto come Task Manager) è uno strumento integrato nei sistemi operativi Windows. Inizialmente utilizzato prevalentemente per terminare applicazioni bloccate o in stallo, nel corso degli anni ha assunto un ruolo sempre più importante ed è stato oggetto di diversi aggiornamenti volti ad integrare nuove funzionalità. Nelle nuove versioni Gestione attività può essere utilizzato per indagare sul funzionamento del sistema, controllare l'uso delle risorse hardware da parte delle applicazioni, verificare le applicazioni eseguite all'avvio e i vari servizi/processi in esecuzione.
Nelle ultime versioni di Gestione attività (da Windows 10 versione 1903) è possibile impostare la scheda da visualizzare in primo piano all'apertura del tool. Anche se può sembrare un'operazione superflua, può far risparmiare molto tempo a chi utilizza di frequente tale strumento:
  • Avviare Gestione attività (si può utilizzare la combinazione di tasti CTRL+SHIFT+ESC) e dal menu Opzioni selezionare Imposta pannello predefinito.
  • Selezionare la scheda che si intende impostare come default.
    Gestione attività
    FIG 1 - Gestione attività






lunedì 25 gennaio 2021

Windows Server 2019: File Server. Screening dei file

Sui file server è buona norma effettuare lo screening dei file per inibire la creazione o il salvataggio di alcuni tipi di file. Ad esempio possiamo fare in modo che gli utenti, all'interno della loro cartella sul server, non possano salvare audio, video o file eseguibili. Per raggiungere tale scopo è possibile creare un modello (template), da applicare alle cartelle, che impedisca la creazione o copia di determinati tipi di file. Vediamo passo passo come fare:
  • Da Server Manager cliccare su Strumenti quindi su Gestione risorse file server.
    Sever Manager, Strumenti
    FIG 1 - Sever Manager, Strumenti

  • Cliccare su Gestione screening dei file quindi su Gruppi di file. Come visibile in FIG 2 alcuni gruppi sono già presenti. Possiamo utilizzare uno o più gruppi esistenti o crearne uno nuovo. In questo articolo creeremo il nostro gruppo.
    Gestione screening dei file
    FIG 2 - Gestione screening dei file

  • Cliccare su Crea gruppo di file.
    Screening dei file, Crea Gruppo di file
    FIG 3 - Screening dei file, Crea Gruppo di file

  • Nella casella Nome gruppo di file, digitare il nome che si intende assegnare al gruppo (ad es. Gruppo Personale).
    Crea proprietà gruppo di file, Nome gruppo di file
    FIG 4 - Crea proprietà gruppo di file, Nome gruppo di file

  • In File da includere digitare il tipo di file (ad es. *.exe) e cliccare su Aggiungi. Ripetere questo passaggio per gli altri tipo di file che si intende gestire (come *.bat, *.com, *.msi, *.mp3, *.mp4, *.avi, *.mkv, *.flv, *.wav). Infine cliccare su OK per creare il gruppo.
    Crea proprietà gruppo di file, File da includere
    FIG 5 - Crea proprietà gruppo di file, File da includere

  • Il passo successivo consiste nella creazione del template. Cliccare su Modelli per lo screening dei file quindi su Crea modello per lo screening dei file.
    Modelli per lo screening dei file
    FIG 6 - Modelli per lo screening dei file

  • Nella caselle Nome modello digitare il nome che si intende assegnare (ad es. Template Personale). Selezionando l'opzione Screening attivo gli utenti non potranno salvare i tipi di file inibiti. Attivando l'opzione Screening passivo, invece, gli utenti potranno salvare i file ma l'amministratore viene avvisato che l'utente ha salvato un tipo di file specificato nel gruppo. Lasciare attiva l'opzione Screening attivo e in Selezionare i gruppi di file da bloccare, selezionare il gruppo creato nel passo precedente.
    Modello per lo screening dei file
    FIG 7 - Modello per lo screening dei file

  • Cliccare sulla scheda Registro eventi e selezionare la casella Invio avviso al registro eventi quindi cliccare su OK.
    Modello per lo screening dei file, Registro eventi
    FIG 8 - Modello per lo screening dei file, Registro eventi

  • Adesso dobbiamo andare a specificare su quale cartella applicare il template. Cliccare su Screening dei file quindi su Crea screening dei file.
    Crea screening dei file
    FIG 9 - Crea screening dei file

  • In Percorso screening dei file digitare, o selezionare tramite il tasto Sfoglia, la cartella su cui si intende effettuare lo screening (nel nostro caso C:\Dati Personali) e in Deriva le proprietà dal modello per lo screening dei file seguente selezionare il template creato precedentemente (Template Personale). Cliccare su Crea.
    Crea screening dei file, proprietà
    FIG 10 - Crea screening dei file, proprietà

    Screening dei file attivi
    FIG 11 - Screening dei file attivi


Sul server abbiamo terminato, adesso non resta che testare il corretto funzionamento dello screening da una macchina del dominio.
Tentando di salvare sulla cartella specificata un tipo di file oggetto dello screening, gli utenti visualizzeranno il messaggio mostrato in FIG 12.
Accesso negato alla cartella
FIG 12 - Accesso negato alla cartella



Dal registro eventi sul server, in Registri di Windows -> Applicazioni, è possibile visualizzare la registrazione dell'evento.
Visualizzatore eventi, screening dei file
FIG 13 - Visualizzatore eventi, screening dei file







venerdì 22 gennaio 2021

Windows 10: Un bug provoca il crash del sistema operativo quando si accede ad un percorso

Un bug scoperto di recente in Windows 10 provoca il crash del sistema operativo e la visualizzazione della schermata di errore BSOD (Blue Screen of Death) semplicemente tentando di aprire un determinato percorso all'interno della barra di indirizzi di un browser o utilizzando altri comandi di Windows.

Il bug è stato portato alla luce dal ricercatore di sicurezza Jonas Lykkegaard.
Windows consente agli sviluppatori di interagire direttamente con i dispositivi passando il percorso del namespace del dispositivo Win32 come argomento alle funzioni di programmazione del sistema operativo. Questa funzionalità permette, ad esempio, ad un'applicazione di interagire direttamente con il disco fisso senza passare per il file system.
Quando un utente, anche con bassi privilegi, tenta di accedere al percorso incriminato all'interno di un browser, Windows 10 va in crash mostrando la classica schermata blu di errore. Dall'analisi effettuata da Lykkegaard risulta che tentando di connettersi al percorso senza passare alcun attributo viene generata un'eccezione non gestita che provoca il crash del sistema.
BSOD
FIG 1 - BSOD

Il percorso incriminato, relativo al console multiplexer driver, è il seguente

Percorso che provoca il crash di Windows 10
FIG 2 - Percorso che provoca il crash di Windows 10


Il bug risulta presente in Windows 10 versione 1709 e successive e Microsoft sta già lavorando alla risoluzione della problematica

Anche se non è stato appurato che tale bug possa essere sfruttato per l'esecuzione di codice da remoto con privilegi elevati, di sicuro può essere utilizzato per attacchi DoS sui computer. Lo stesso ricercatore ha dimostrato che è possibile creare un URL con un'impostazione che punta al percorso: quando il file viene scaricato, Windows 10 prova ad effettuare il render dell'icona del file URL dal percorso problematico generando il crash.


AGGIORNAMENTO 11.02.2021
Microsoft ha corretto il bug (CVE-2021-24098) con il Patch Tuesday di febbraio.






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