Set-FileLabel

Définit l’étiquette de confidentialité et la protection d’un fichier via l’étiquetage manuel ou l’étiquetage automatique en fonction de la configuration de l’étiquette ou des autorisations personnalisées.

Syntaxe

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>]

Description

Pour le client Protection des données Microsoft Purview, l’applet de commande Set-FileLabel définit une étiquette de confidentialité pour un ou plusieurs fichiers. Cette action peut appliquer automatiquement la protection lorsque les étiquettes sont configurées pour appliquer le chiffrement.

En outre, vous pouvez utiliser cette applet de commande pour appliquer des autorisations personnalisées lorsqu’elles sont créées en tant qu’objet de stratégie de protection ad hoc avec l’applet de commande New-CustomPermissions .

Lorsque la commande s’exécute correctement, toute étiquette ou protection existante peut être remplacée.

Vous pouvez exécuter cette applet de commande de manière non interactive. Pour plus d’informations, consultez le guide d’administration du client d’étiquetage unifié.

Notes

Lors de l’exécution de l’applet de commande Set-FileLabel dans une boucle, ajoutez ces deux lignes après l’applet de commande : [GC] ::Collect()
[GC] ::WaitForPendingFinalizers()

Exemples

Exemple 1 : Appliquer l’étiquette « Général » à tous les fichiers qui n’ont pas d’étiquette actuellement

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

Cette commande identifie d’abord tous les fichiers qui ne sont pas étiquetés à l’aide de l’applet de commande Get-FileStatus . Ensuite, ces fichiers sont étiquetés en spécifiant l’étiquette « Général » par son ID.

Exemple 2 : Appliquer l’étiquette « Général » à .docx fichiers qui ne sont pas étiquetés

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

Cette commande identifie d’abord tous les fichiers .docx dans le dossier C :\Projects (et ses sous-dossiers) à l’aide de Get-Child-Item, puis recherche à partir de ces fichiers ceux qui ne sont pas étiquetés à l’aide de l’applet de commande Get-FileStatus . Les fichiers résultants sont ensuite étiquetés en spécifiant l’étiquette « Général » par son ID.

Notes

Cette commande utilise l’alias de chemin d’accès de FullName, afin que Get-Child-Item puisse être utilisé avec Get-FileStatus.

Exemple 3 : Appliquer l’étiquette « Général » à tous les fichiers d’un dossier et à l’un de ses sous-dossiers

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

Cette commande définit une étiquette nommée « Général » sur tous les fichiers du dossier Projects et sur l’un de ses sous-dossiers.

Si l’étiquette Général est configurée pour appliquer le chiffrement, les fichiers qui ont été étiquetés avec succès avec cette commande seront également chiffrés. Dans cet exemple, le propriétaire Rights Management (qui dispose de l’autorisation Rights Management Contrôle total) de ces fichiers est l’utilisateur qui a exécuté la commande PowerShell.

Dans cet exemple, un fichier n’était pas étiqueté (ignoré), car il nécessitait une justification. Cela peut être le résultat prévu pour garantir qu’un fichier avec une étiquette de classification ou une protection supérieure n’est pas accidentellement remplacé par une étiquette de classification inférieure ou qu’il a été supprimé.

Pour activer cette protection, la stratégie d’étiquette de classification Office 365 doit être configurée pour exiger une justification de la suppression d’une étiquette ou de la réduction de la classification. Lorsque vous exécutez ensuite cette commande sans le paramètre JustificationMessage et que l’étiquette déclenche la justification, le fichier est ignoré avec le commentaire « Aucune étiquette à appliquer ».

Exemple 4 : Appliquer l’étiquette « Général » à un seul fichier, ce qui nécessite une justification

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

Cette commande définit l’étiquette « Général » pour un fichier qui est déjà étiqueté avec une étiquette de confidentialité plus élevée. La stratégie d’étiquette de confidentialité est configurée pour exiger une justification pour la suppression d’une étiquette ou la réduction de la classification. Étant donné que la commande inclut un message de justification, la nouvelle étiquette est appliquée avec succès.

Exemple 5 : Protéger un fichier avec des autorisations personnalisées

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

La première commande crée un objet de stratégie de protection ad hoc qui accorde aux utilisateurs de différentes organisations des droits d’utilisation à partir des autorisations réviseur et applique également une date d’expiration.

La deuxième commande protège un fichier unique nommé Analysis.docx à l’aide des autorisations personnalisées dans l’objet de stratégie de protection ad hoc stocké.

Exemple 6 : Appliquer une étiquette et des autorisations personnalisées à un fichier

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

La première commande crée un objet de stratégie de protection ad hoc qui accorde aux utilisateurs de différentes organisations des droits d’utilisation à partir des autorisations réviseur et applique également une date d’expiration.

La deuxième commande applique une étiquette à un fichier unique nommé Analysis.docx et protège également le fichier à l’aide des autorisations personnalisées dans l’objet de stratégie de protection ad hoc stocké. Si l’étiquette est configurée pour les paramètres de protection, ils sont remplacés par les autorisations personnalisées.

Exemple 7 : Analyser tous les fichiers d’un dossier et l’un de ses sous-dossiers, et appliquer des étiquettes en fonction des conditions configurées pour l’étiquetage automatique

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    :

Cette commande analyse tous les fichiers du dossier Projects et de ses sous-dossiers, et définit les étiquettes en fonction des conditions configurées dans la stratégie d’étiquetage automatique. Dans cet exemple, deux des cinq fichiers existants sont automatiquement étiquetés. Le fichier Datasheet.pdfn’est pas étiqueté, car son contenu ne correspond pas aux conditions configurées pour l’étiquetage automatique Analysis.xlsx a déjà été étiqueté manuellement et Pricelist.xlsx a une étiquette supérieure. Étant donné que la commande est exécutée sans le paramètre -Force , les étiquettes existantes pour Analysis.xlsx et Pricelist.xlsx ne sont pas remplacées.

Si les étiquettes appliquées sont également configurées pour appliquer la protection Rights Management, les fichiers étiquetés avec cette commande sont également protégés. Dans cet exemple, le propriétaire Rights Management (qui dispose de l’autorisation Rights Management Contrôle total) de ces fichiers est l’utilisateur qui a exécuté la commande PowerShell.

Étant donné que le paramètre PreserveFileDetails est spécifié, la date de modification des fichiers étiquetés reste inchangée.

Exemple 8 : Analyser tous les fichiers d’un dossier et l’un de ses sous-dossiers, et appliquer des étiquettes en fonction des conditions configurées pour l’étiquetage automatique, en remplaçant les étiquettes existantes

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    :

Cette commande est similaire à l’exemple précédent en ce qu’elle analyse également tous les fichiers dans le dossier Projects et l’un de ses sous-dossiers, et définit les étiquettes en fonction des conditions configurées pour l’étiquetage automatique. Toutefois, cette fois, étant donné que la commande inclut le paramètre -Force , elle remplace également l’étiquette existante pour Dashboard.xlsxet Pricelist.xlsx.

Le contenu de Datasheet.pdf ne correspondait à aucune condition configurée et ce fichier reste sans étiquette.

Exemple 9 : Analyser un fichier en mode WhatIf pour tous les types d’informations sensibles connus

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                 :

Cette commande détecte tous les types d’informations connus dans Project1.docx fichier sans appliquer de protection ou d’étiquette.

Exemple 10 : Analyser un fichier en mode WhatIf pour rechercher des types d’informations sensibles spécifiques

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                 :

Cette commande détecte les types d’informations spécifiques « Numéro de carte de crédit » et « Numéro de sécurité sociale (SSN) » dans Project1.docx fichier sans appliquer de protection ou d’étiquette.

Exemple 11 : Analyser un fichier en mode WhatIf pour rechercher des types d’informations sensibles spécifiques et afficher les valeurs trouvées

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

Comme dans l’exemple précédent, la première commande détecte les types d’informations spécifiques « Numéro de carte de crédit » et « Numéro de sécurité sociale (SSN) » dans Project1.docx fichier sans appliquer de protection ou d’étiquette. Toutefois, dans cet exemple, les résultats sont stockés dans une variable pour un traitement ultérieur.

La deuxième commande est ensuite utilisée pour afficher le contenu des types d’informations correspondants, notamment le paramètre SensitiveContents.

La commande finale affiche et met en forme pour faciliter la lecture des données identifiées par le premier type d’informations sensibles, qui, dans cet exemple, est le crédit carte détails.

Paramètres

-AutoLabel

Lorsque -AutoLabel est utilisé, l’applet de commande s’exécute en mode d’étiquetage automatique. Lorsque l’applet de commande -AutoLabel n’est pas utilisée, s’exécute en mode d’étiquetage manuel.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-CustomPermissions

Spécifie le nom de la variable qui stocke une stratégie de protection ad hoc, qui a été créée à l’aide de l’applet de commande New-CustomPermissions . La stratégie de protection ad hoc est utilisée pour protéger le ou les fichiers avec des autorisations personnalisées.

Type:AIPCustomPermissions
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DiscoveryInfoTypes

Spécifiez les types d’informations sensibles à découvrir lorsque vous utilisez le paramètre WhatIf .

Si vous souhaitez rechercher des types d’informations sensibles spécifiques, spécifiez le numéro d’ID d’entité pour ce type d’informations, que vous pouvez trouver répertorié dans Types d’informations sensibles dans Exchange Server.

Par exemple, « 50842eb7-edc8-4019-85dd-5a5c1f2bb085 » est le numéro à spécifier pour le type d’informations sensibles numéro de carte de crédit.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Force

Remplace une étiquette existante quand les conditions configurées s’appliquent.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-JustificationMessage

Motif de justification de la réduction de l’étiquette de classification, de la suppression d’une étiquette ou de la suppression de la protection, si la stratégie de confidentialité exige que les utilisateurs fournissent ces informations. Si la définition d’une étiquette déclenche la justification et que cette raison n’est pas fournie, l’étiquette n’est pas appliquée. Dans cet exemple, l’état retourné est « Ignoré » avec le commentaire « Justification obligatoire ».

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-LabelId

Spécifie l’identité (ID) de l’étiquette à appliquer. Si une étiquette a des sous-étiquettes, spécifiez toujours l’ID de la sous-étiquette et non celui de l’étiquette parente.

Pour rechercher l’ID d’étiquette :

La valeur de l’ID d’étiquette n’est pas affichée dans le portail de conformité Microsoft Purview. Toutefois, vous pouvez utiliser la commande PowerShell Office 365 Security & Compliance Center suivante pour rechercher cette valeur :Get-Label | Format-Table -Property DisplayName, Name, Guid

Pour les fichiers auxquels des étiquettes sont appliquées, vous pouvez également exécuter l’applet de commande Get-FileStatus pour identifier l’ID d’étiquette (MainLabelId ou SubLabelId).

Type:Guid
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Owner

Spécifie le propriétaire pour appliquer l’étiquette ou la protection au fichier.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Path

Spécifie un chemin d’accès local, un chemin d’accès réseau ou une URL SharePoint Server aux fichiers pour lesquels vous souhaitez obtenir les informations d’étiquette et de protection.

Les caractères génériques ne sont pas pris en charge, ni les emplacements WebDav.

Pour les chemins d’accès SharePoint, les éléments suivants sont pris en charge :

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

Par exemple :

Les chemins d’accès peuvent inclure des espaces lorsque vous placez la valeur du chemin d’accès entre guillemets.

Type:String[]
Alias:FullName, FileName
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-PreserveFileDetails

Spécifiez ce paramètre pour laisser la date de modification (Windows et SharePoint) et les valeurs modifiées par (SharePoint) inchangées pour les documents que vous étiquetez :

  • Pour les fichiers locaux ou réseau, la valeur Date de modification reste inchangée.

  • Pour les fichiers SharePoint, les valeurs Date de modification et Modifié par restent inchangées.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-WhatIf

Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

System.String[]

Sorties

Microsoft.InformationProtection.Powershell.AIP.Results.SetAIPFileResult