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 :
- C :\Folder\
- C :\Folder\Filename
- \\Server\Folder
- http://sharepoint.contoso.com/Shared%20Documents/Folder
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