Set-FileLabel

Imposta l'etichetta di riservatezza e la protezione per un file tramite l'etichettatura manuale o la compilazione automatica in base alla configurazione dell'etichetta o alle autorizzazioni personalizzate.

Sintassi

Set-FileLabel
   [-Path] <String[]>
   -LabelId <Guid>
   [-JustificationMessage <String>]
   [-Owner <String>]
   [-PreserveFileDetails]
   [<CommonParameters>]
Set-FileLabel
   [-Path] <String[]>
   -LabelId <Guid>
   [-JustificationMessage <String>]
   -CustomPermissions <AIPCustomPermissions>
   [-Owner <String>]
   [-PreserveFileDetails]
   [<CommonParameters>]
Set-FileLabel
   [-Path] <String[]>
   -CustomPermissions <AIPCustomPermissions>
   [-Owner <String>]
   [-PreserveFileDetails]
   [<CommonParameters>]
Set-FileLabel
   [-Path] <String[]>
   [-JustificationMessage <String>]
   [-Owner <String>]
   [-Force]
   [-PreserveFileDetails]
   [-AutoLabel]
   [<CommonParameters>]
Set-FileLabel
   [-Path] <String[]>
   [-PreserveFileDetails]
   [-WhatIf]
   [-DiscoveryInfoTypes <String[]>]
   [<CommonParameters>]

Descrizione

Per il client Microsoft Purview Information Protection, il cmdlet Set-FileLabel imposta un'etichetta di riservatezza per uno o più file. Questa azione può applicare automaticamente la protezione quando le etichette sono configurate per applicare la crittografia.

È inoltre possibile usare questo cmdlet per applicare autorizzazioni personalizzate quando vengono create come oggetto criteri di protezione ad hoc con il cmdlet New-CustomPermissions .

Quando il comando viene eseguito correttamente, è possibile sostituire qualsiasi etichetta o protezione esistente.

È possibile eseguire questo cmdlet in modo non interattivo. Per altre informazioni, vedere la guida per l'amministrazione client di etichettatura unificata.

Nota

Quando si esegue il cmdlet Set-FileLabel in un ciclo, aggiungere queste due righe dopo il cmdlet: [GC]::Collect()
[GC]::WaitForPendingFinalizers()

Esempio

Esempio 1: Applicare l'etichetta "Generale" a tutti i file che attualmente non hanno un'etichetta

PS C:\> Get-FileStatus -Path \\Finance\Projects\ | where {$_.IsLabeled -eq $False} | Set-FileLabel -LabelId d9f23ae3-4321-4321-4321-f515f824c57b
FileName                              Status Comment
--------                              ------ ------------
\\Finance\Projects\Image.jpg          Success
\\Finance\Projects\Pricelist.pdf      Success
\\Finance\Projects\Announcement.docx  Success
\\Finance\Projects\Analysis.xlsx      Success

Questo comando identifica innanzitutto tutti i file che non sono etichettati usando il cmdlet Get-FileStatus . Questi file vengono quindi etichettati specificando l'etichetta "Generale" in base al relativo ID.

Esempio 2: Applicare l'etichetta "Generale" ai file .docx non etichettati

PS C:\> Get-ChildItem C:\Projects\*.docx -File -Recurse | Get-FileStatus | where {$_.IsLabeled -eq $False} | Set-FileLabel -LabelId d9f23ae3-1234-1234-1234-f515f824c57b
FileName                   Status  Comment
--------                   ------  ------------
C:\Projects\Analysis.docx  Success
C:\Projects\Projects.docx  Success

Questo comando identifica prima tutti i file .docx nella cartella C:\Projects (e le relative sottocartelle) usando Get-Child-Item, quindi trova da questi file quelli non etichettati usando il cmdlet Get-FileStatus . I file risultanti vengono quindi etichettati specificando l'etichetta "Generale" in base al relativo ID.

Nota

Questo comando usa l'alias Path di FullName, in modo che Get-Child-Item possa essere usato con Get-FileStatus.

Esempio 3: Applicare l'etichetta "Generale" a tutti i file in una cartella e a una delle relative sottocartelle

PS C:\> Set-FileLabel -Path C:\Projects\ -LabelId d9f23ae3-1324-1234-1234-f515f824c57b
FileName                    Status      Comment
--------                    ------      ------------
C:\Projects\Project1.docx   Success
C:\Projects\Datasheet.pdf   Success
C:\Projects\Image.jpg       Success
C:\Projects\Analysis.xlsx   Skipped    No label to apply
C:\Projects\Dashboard.xlsx  Success

Questo comando imposta un'etichetta denominata "Generale" in tutti i file nella cartella Progetti e in una delle relative sottocartelle.

Se l'etichetta Generale è configurata per applicare la crittografia, i file etichettati correttamente con questo comando verranno crittografati anche. In questo caso, il proprietario di Rights Management (chi ha l'autorizzazione di controllo completo di Rights Management) per questi file è l'utente che ha eseguito il comando di PowerShell.

In questo esempio un file non è stato etichettato (ignorato) perché è necessaria una giustificazione. Questo potrebbe essere il risultato previsto per garantire che un file con un'etichetta di classificazione superiore o protezione non venga sovrascritto accidentalmente con un'etichetta di classificazione inferiore o abbia rimosso la protezione.

Per abilitare questa protezione, i criteri di etichetta di classificazione Office 365 devono essere configurati per richiedere la giustificazione per rimuovere un'etichetta o ridurre la classificazione. Quando si esegue quindi questo comando senza il parametro JustificationMessage e la giustificazione dei trigger dell'etichetta, il file viene ignorato con il commento "Nessuna etichetta da applicare".

Esempio 4: Applicare l'etichetta "Generale" a un singolo file, che richiede la giustificazione

PS C:\> Set-FileLabel -Path \\Finance\Projects\Analysis.xlsx -LabelId d9f23ae3-1324-1234-1234-f515f824c57b -JustificationMessage 'The previous label no longer applies'
FileName                          Status      Comment
--------                          ------      ------------
\\finance\projects\analysis.xlsx  Success

Questo comando imposta l'etichetta "Generale" per un file già etichettato con un'etichetta di riservatezza superiore. I criteri di etichetta di riservatezza sono configurati per richiedere la giustificazione per rimuovere un'etichetta o ridurre la classificazione. Poiché il comando include un messaggio di giustificazione, la nuova etichetta viene applicata correttamente.

Esempio 5: Proteggere un file con autorizzazioni personalizzate

PS C:\> $permissions = New-CustomPermissions -Users user1@contoso.com, user2@vanarsdel.com -Permissions Reviewer -ExpirationDate (Get-Date -Month 1 -Day 1 -Year 2020)
PS C:\> Set-FileLabel C:\Projects\Analysis.docx -CustomPermissions $permissions

FileName                   Status Comment
--------                   ------ ------------
C:\Projects\Analysis.docx  Success

Il primo comando crea un oggetto criteri di protezione ad hoc che concede agli utenti da diverse organizzazioni i diritti di utilizzo delle autorizzazioni Revisore e applica anche una data di scadenza.

Il secondo comando protegge un singolo file denominato Analysis.docx usando le autorizzazioni personalizzate nell'oggetto criteri di protezione ad hoc archiviati.

Esempio 6: Applicare un'etichetta e autorizzazioni personalizzate al file

PS C:\> $permissions = New-CustomPermissions -Users a@a.com, b@b.com -Permissions Reviewer 
PS C:\> Set-FileLabel C:\Projects\Analysis.docx -LabelId d9f23ae3-1324-1234-1234-f515f824c57b -CustomPermissions $permissions

FileName                   Status Comment
--------                   ------ ------------
C:\Projects\Analysis.docx  Success

Il primo comando crea un oggetto criteri di protezione ad hoc che concede agli utenti da diverse organizzazioni i diritti di utilizzo delle autorizzazioni Revisore e applica anche una data di scadenza.

Il secondo comando applica un'etichetta a un singolo file denominato Analysis.docx e protegge anche il file usando le autorizzazioni personalizzate nell'oggetto criteri di protezione ad hoc archiviati. Se l'etichetta è configurata per le impostazioni di protezione, vengono sostituite dalle autorizzazioni personalizzate.

Esempio 7: Analizzare tutti i file in una cartella e una delle relative sottocartelle e applicare etichette in base alle condizioni configurate per l'etichettatura automatica

PS C:\> Set-FileLabel -AutoLabel -Path C:\Projects\ -PreserveFileDetails


FileName      : C:\Projects\Project1.docx
Status        : Success
Comment       :
MainLabelName : Confidential
MainLabelId   : 074e257c-1234-1234-1234-34a182080e71
SubLabelName  : Finance group
SubLabelId    : d9f23ae3-1234-1234-1234-f515f824c57b

FileName      : C:\Projects\Datasheet.pdf
Status        : Skipped
Comment       : No label to apply
MainLabelName : 
MainLabelId   : 
SubLabelName  : 
SubLabelId    : 

FileName      : C:\Projects\Analysis.xlsx
Status        : Skipped
Comment       : No label to apply
MainLabelName : 
MainLabelId   : 
SubLabelName  : 
SubLabelId    : 

FileName      : C:\Projects\Pricelist.xlsx
Status        : Skipped
Comment       : No label to apply
MainLabelName : 
MainLabelId   : 
SubLabelName  : 
SubLabelId    : 

FileName      : C:\Projects\Dashboard.xlsx
Status        : Success
Comment       : 
MainLabelName : Public
MainLabelId   : f018e9e7-0cfc-4c69-b27a-ac3cb7df43cc
SubLabelName  : 
SubLabelId    :

Questo comando analizza tutti i file nella cartella Progetti e una delle relative sottocartelle e imposta le etichette in base alle condizioni configurate nei criteri di etichettatura automatica. Questo esempio include cinque file, a due dei quali viene automaticamente applicata un'etichetta. Il file Datasheet.pdf non è etichettato perché il relativo contenuto non corrisponde alle condizioni configurate per l'etichettatura automatica Analysis.xlsx è già stato etichettato manualmente e Pricelist.xlsx ha un'etichetta superiore. Poiché il comando viene eseguito senza il parametro -Force , le etichette esistenti per Analysis.xlsx e Pricelist.xlsx non vengono sovrascritte.

Se le etichette applicate sono configurate anche per l'applicazione della protezione di Rights Management, i file cui vengono applicate correttamente le etichette con questo comando vengono anche protetti. In questo caso, il proprietario di Rights Management (chi ha l'autorizzazione di controllo completo di Rights Management) per questi file è l'utente che ha eseguito il comando di PowerShell.

Poiché viene specificato il parametro PreserveFileDetails, la data modificata dei file etichettati rimane invariata.

Esempio 8: Analizzare tutti i file in una cartella e una delle relative sottocartelle e applicare etichette in base alle condizioni configurate per l'etichettatura automatica, sostituendo eventuali etichette esistenti

PS C:\> Set-FileLabel -Autolabel -Path C:\Projects\ -Force -PreserveFileDetails


FileName      : C:\Projects\Project1.docx
Status        : Success
Comment       :
MainLabelName : Confidential
MainLabelId   : 074e257c-1234-1234-1234-34a182080e71
SubLabelName  : Finance group
SubLabelId    : d9f23ae3-1234-1234-1234-f515f824c57b

FileName      : C:\Projects\Datasheet.pdf
Status        : Skipped
Comment       : No label to apply
MainLabelName : 
MainLabelId   : 
SubLabelName  : 
SubLabelId    : 

FileName      : C:\Projects\Analysis.xlsx
Status        : Success
Comment       :
MainLabelName : Public
MainLabelId   : f018e9e7-0cfc-4c69-b27a-ac3cb7df43cc
SubLabelName  : 
SubLabelId    : 

FileName      : C:\Projects\Pricelist.xlsx
Status        : Success
Comment       :
MainLabelName : Public
MainLabelId   : f018e9e7-0cfc-4c69-b27a-ac3cb7df43cc
SubLabelName  : 
SubLabelId    : 

FileName      : C:\Projects\Dashboard.xlsx
Status        : Success
Comment       : 
MainLabelName : Public
MainLabelId   : f018e9e7-0cfc-4c69-b27a-ac3cb7df43cc
SubLabelName  : 
SubLabelId    :

Questo comando è simile all'esempio precedente in cui analizza anche tutti i file nella cartella Progetti e una delle relative sottocartelle e imposta le etichette in base alle condizioni configurate per l'etichettatura automatica. Tuttavia, questa volta, poiché il comando include il parametro -Force , sostituisce anche l'etichetta esistente per Dashboard.xlsxe Pricelist.xlsx.

Il contenuto di Datasheet.pdf non corrispondeva a alcuna condizione configurata e questo file rimane senza un'etichetta.

Esempio 9: Analizzare un file in modalità WhatIf per tutti i tipi di informazioni sensibili noti

PS C:\> Set-FileLabel -AutoLabel -Path C:\Projects\Project1.docx -WhatIf -DiscoveryInfoTypes All


MainLabelName           : General
MainLabelId             : 89a453df-5df4-4976-8191-jdn2fsf9560a
SubLabelName            :
SubLabelId              :
WhatIf                  : True
MatchedInformationTypes : {Credit Card Number, U.S. Social Security Number (SSN), International Classification of
                          Diseases (ICD-10-CM), International Classification of Diseases (ICD-9-CM)}
LastModifiedBy          :
LastModifiedTime        : 8/19/2014 5:11:26 AM
FileName                : C:\Projects\Project1.docx
Status                  : Success
Comment                 :

Questo comando individua tutti i tipi di informazioni noti nel file Project1.docx senza applicare la protezione o un'etichetta.

Esempio 10: Analizzare un file in modalità WhatIf per tipi di informazioni sensibili specifici

PS C:\> Set-FileLabel -AutoLabel -Path C:\Projects\Project1.docx -WhatIf -DiscoveryInfoTypes "50842eb7-edc8-4019-85dd-5a5c1f2bb085","a44669fe-0d48-453d-a9b1-2cc83f2cba77"

MainLabelName           : General
MainLabelId             : 89a453df-5df4-4976-8191-jdn2fsf9560a
SubLabelName            :
SubLabelId              :
WhatIf                  : True
MatchedInformationTypes : {Credit Card Number, U.S. Social Security Number (SSN)}
LastModifiedBy          :
LastModifiedTime        : 8/19/2014 5:11:26 AM
FileName                : Project1.docx
Status                  : Success
Comment                 :

Questo comando individua i tipi di informazioni specifici di "Numero carta di credito" e "Social Security Number (SSN)" nel file Project1.docx senza applicare la protezione o un'etichetta.

Esempio 11: Analizzare un file in modalità WhatIf per tipi di informazioni sensibili specifici e visualizzare i valori trovati

PS C:\> $x=Set-FileLabel -AutoLabel -Path "C:\Projects\Project1.docx" -WhatIf -DiscoveryInfoTypes "50842eb7-edc8-4019-85dd-5a5c1f2bb085","a44669fe-0d48-453d-a9b1-2cc83f2cba77"
PS C:\> $x.MatchedInformationTypes

RulePackageSetId  : 00000000-0000-0000-0000-000000000000
RulePackageId     : 00000000-0000-0000-0000-000000000000
RuleId            : 50842eb7-edc8-4019-85dd-5a5c1f2bb085
Name              : Credit Card Number
Count             : 1
UniqueCount       : 1
Confidence        : 85
SensitiveContents : {Offset: 2089, Length: 19}
 
RulePackageSetId  : 00000000-0000-0000-0000-000000000000
RulePackageId     : 00000000-0000-0000-0000-000000000000
RuleId            : a44669fe-0d48-453d-a9b1-2cc83f2cba77
Name              : U.S. Social Security Number (SSN)
Count             : 1
UniqueCount       : 1
Confidence        : 85
SensitiveContents : {Offset: 7063, Length: 11}


PS C:\> $x.MatchedInformationTypes[0].SensitiveContents | fl

Offset  : 2089
Length  : 19
Value   : 4539-9572-7949-2212
Context : OLOGICAL SCIENCES     Credit Card #
          Expiration Date:      4539-9572-7949-2212
          8/2009                Department:     BIOLOGICAL SCIENCES     Anticipa

Analogamente all'esempio precedente, il primo comando individua i tipi di informazioni specifici di "Numero carta di credito" e "Social Security Number (SSN)" in Project1.docx file senza applicare la protezione o un'etichetta. In questo esempio, tuttavia, i risultati vengono archiviati in una variabile per un'ulteriore elaborazione.

Il secondo comando viene quindi usato per visualizzare il contenuto dei tipi di informazioni corrispondenti, che include il parametro SensitiveContents.

Il comando finale visualizza e formatta per semplificare la lettura dei dati identificati dal primo tipo di informazioni sensibili, che in questo esempio è il dettagli della carta di credito.

Parametri

-AutoLabel

Quando viene usato -AutoLabel, il cmdlet viene eseguito in modalità di etichettatura automatica. Quando il cmdlet -AutoLabel non viene usato, viene eseguito in modalità di etichettatura manuale.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-CustomPermissions

Specifica il nome della variabile che archivia un criterio di protezione ad hoc creato usando il cmdlet New-CustomPermissions . I criteri di protezione ad hoc vengono usati per proteggere il file o i file con autorizzazioni personalizzate.

Tipo:AIPCustomPermissions
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DiscoveryInfoTypes

Specificare i tipi di informazioni sensibili da individuare quando si usa il parametro WhatIf .

Se si desidera cercare tipi di informazioni sensibili specifici, specificare il numero id entità per tale tipo di informazioni, che è possibile trovare in tipi di informazioni sensibili in Exchange Server.

Ad esempio, "50842eb7-edc8-4019-85dd-5a5c1f2bb085" è il numero da specificare per il tipo di informazioni sensibili numero carta di credito.

Tipo:String[]
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Force

Sostituisce un'etichetta esistente quando vengono soddisfatte le condizioni configurate.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-JustificationMessage

La motivazione per ridurre l'etichetta di classificazione, rimuovere un'etichetta o rimuovere la protezione, se i criteri di riservatezza richiedono agli utenti di fornire queste informazioni. Se l'impostazione di un'etichetta attiva la giustificazione e questo motivo non viene fornito, l'etichetta non viene applicata. In questo caso, lo stato restituito è "Ignorato" con il commento "La giustificazione è obbligatoria".

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-LabelId

Specifica l'identità (ID) dell'etichetta da applicare. Quando un'etichetta ha etichette secondarie, specificare sempre l'ID della sola etichetta secondaria e non dell'etichetta padre.

Per trovare l'ID etichetta:

Il valore ID etichetta non viene visualizzato nella Portale di conformità di Microsoft Purview. È tuttavia possibile usare il comando PowerShell del Centro conformità & Office 365 sicurezza seguente per trovare questo valore:Get-Label | Format-Table -Property DisplayName, Name, Guid

Per i file con etichette applicate, è anche possibile eseguire il cmdlet Get-FileStatus per identificare l'ID etichetta (MainLabelId o SubLabelId).

Tipo:Guid
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Owner

Specifica il proprietario per applicare l'etichetta o la protezione al file.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Path

Specifica un percorso locale, un percorso di rete o un URL di SharePoint Server ai file per i quali si desidera ottenere le informazioni sull'etichetta e sulla protezione.

I caratteri jolly e i percorsi WebDav non sono supportati.

Per i percorsi di SharePoint, sono supportati i seguenti:

  • SharePoint Server 2022
  • SharePoint Server 2019
  • SharePoint Server 2016
  • SharePoint Server 2013

Ad esempio:

I percorsi possono includere spazi quando si racchiude il valore del percorso con virgolette.

Tipo:String[]
Alias:FullName, FileName
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-PreserveFileDetails

Specificare questo parametro per lasciare invariata la data modificata (Windows e SharePoint) e modificata dai valori (SharePoint) per i documenti etichettati:

  • Per i file di rete o locali, il valore Data modificato rimane invariato .

  • Per i file di SharePoint, la data modificata e modificata per valori rimangono invariati.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

System.String[]

Output

Microsoft.InformationProtection.Powershell.AIP.Results.SetAIPFileResult