Udostępnij za pośrednictwem


Set-FileLabel

Ustawia etykietę poufności i ochronę pliku za pomocą ręcznego etykietowania lub automatycznego etykietowania zgodnie z konfiguracją etykiety lub uprawnieniami niestandardowymi.

Składnia

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

Opis

W przypadku klienta Microsoft Purview Information Protection polecenie cmdlet Set-FileLabel ustawia etykietę poufności dla co najmniej jednego pliku. Ta akcja może automatycznie stosować ochronę, gdy etykiety są skonfigurowane do stosowania szyfrowania.

Ponadto możesz użyć tego polecenia cmdlet, aby zastosować uprawnienia niestandardowe podczas tworzenia ich jako obiektu zasad ochrony ad hoc za pomocą polecenia cmdlet New-CustomPermissions .

Po pomyślnym uruchomieniu polecenia można zastąpić dowolną istniejącą etykietę lub ochronę.

To polecenie cmdlet można uruchomić nieinterakcyjne. Aby uzyskać więcej informacji, zobacz Przewodnik administratora klienta ujednoliconego etykietowania.

Uwaga

Podczas uruchamiania polecenia cmdlet Set-FileLabel w pętli dodaj następujące dwa wiersze po poleceniu cmdlet: [GC]::Collect()
[GC]::WaitForPendingFinalizers()

Przykłady

Przykład 1. Zastosuj etykietę "Ogólne" do wszystkich plików, które nie mają obecnie etykiety

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

To polecenie najpierw identyfikuje wszystkie pliki, które nie są oznaczone za pomocą polecenia cmdlet Get-FileStatus . Następnie te pliki są oznaczone etykietą , określając etykietę "Ogólne" według identyfikatora.

Przykład 2. Zastosowanie etykiety "Ogólne" do .docx plików, które nie są oznaczone etykietami

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

To polecenie najpierw identyfikuje wszystkie pliki.docx w folderze C:\Projects (i jego podfolderach) przy użyciu polecenia Get-Child-Item, a następnie znajduje je z tych plików, które nie są oznaczone za pomocą polecenia cmdlet Get-FileStatus . Pliki wynikowe są następnie oznaczone etykietą, określając etykietę "Ogólne" według jej identyfikatora.

Uwaga

To polecenie korzysta z aliasu ścieżki FullName, aby można było użyć polecenia Get-Child-Item z get-FileStatus.

Przykład 3. Zastosuj etykietę "Ogólne" do wszystkich plików w folderze i wszystkich jego podfolderach

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

To polecenie ustawia etykietę o nazwie "Ogólne" na wszystkich plikach w folderze Projects i dowolnym z jego podfolderów.

Jeśli etykieta Ogólne jest skonfigurowana do stosowania szyfrowania, pliki, które zostały pomyślnie oznaczone tą etykietą, również zostaną zaszyfrowane. W tym przypadku właścicielem tych plików w usłudze Rights Management (osobą mającą uprawnienia do pełnej kontroli usługi Rights Management) jest użytkownik, który uruchomił polecenie programu PowerShell.

W tym przykładzie jeden plik nie został oznaczony etykietą (pominiętą), ponieważ wymaga uzasadnienia. Może to być zamierzony wynik, aby upewnić się, że plik z wyższą etykietą klasyfikacji lub ochroną nie został przypadkowo zastąpiony niższą etykietą klasyfikacji lub czy ochrona została usunięta.

Aby włączyć tę ochronę, należy skonfigurować zasady etykiet klasyfikacji Office 365, aby wymagać uzasadnienia usunięcia etykiety lub obniżenia klasyfikacji. Po uruchomieniu tego polecenia bez parametru JustificationMessage i etykieta wyzwala uzasadnienie, plik zostanie pominięty z komentarzem "Brak etykiety do zastosowania".

Przykład 4. Zastosowanie etykiety "Ogólne" do pojedynczego pliku, co wymaga uzasadnienia

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

To polecenie ustawia etykietę "Ogólne" dla pliku, który jest już oznaczony etykietą o większej poufności. Zasady etykiet poufności są skonfigurowane tak, aby wymagać uzasadnienia usunięcia etykiety lub obniżenia klasyfikacji. Ponieważ polecenie zawiera komunikat uzasadnienia, nowa etykieta zostanie pomyślnie zastosowana.

Przykład 5. Ochrona pliku przy użyciu uprawnień niestandardowych

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

Pierwsze polecenie tworzy obiekt zasad ochrony ad hoc, który przyznaje użytkownikom z różnych organizacji prawa użytkowania z uprawnień recenzenta, a także stosuje datę wygaśnięcia.

Drugie polecenie chroni pojedynczy plik o nazwie Analysis.docx przy użyciu uprawnień niestandardowych w przechowywanym obiekcie zasad ochrony ad hoc.

Przykład 6. Stosowanie etykiety i uprawnień niestandardowych do pliku

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

Pierwsze polecenie tworzy obiekt zasad ochrony ad hoc, który przyznaje użytkownikom z różnych organizacji prawa użytkowania z uprawnień recenzenta, a także stosuje datę wygaśnięcia.

Drugie polecenie stosuje etykietę do pojedynczego pliku o nazwie Analysis.docx , a także chroni plik przy użyciu uprawnień niestandardowych w przechowywanym obiekcie zasad ochrony ad hoc. Jeśli etykieta jest skonfigurowana pod kątem ustawień ochrony, zostaną zastąpione uprawnieniami niestandardowymi.

Przykład 7: Skanowanie wszystkich plików w folderze i jego podfolderach oraz stosowanie etykiet zgodnie ze skonfigurowanymi warunkami automatycznego etykietowania

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    :

To polecenie skanuje wszystkie pliki w folderze Projects i dowolnym z jego podfolderów i ustawia etykiety zgodnie ze skonfigurowanymi warunkami w zasadach automatycznego etykietowania. W tym przykładzie jest pięć plików i dwa z nich mają automatycznie przydzielaną etykietę. Plik Datasheet.pdf nie jest oznaczony etykietą, ponieważ jego zawartość nie jest zgodna ze skonfigurowanymi warunkami automatycznego etykietowania Analysis.xlsx została już oznaczona ręcznie, a Pricelist.xlsx ma wyższą etykietę. Ponieważ polecenie jest uruchamiane bez parametru -Force , istniejące etykiety dla Analysis.xlsx i Pricelist.xlsx nie są zastępowane.

Jeśli stosowane etykiety zostały również skonfigurowane do stosowania ochrony przy użyciu usługi Rights Management, pliki pomyślnie oznaczane przy użyciu tego polecenia są również obejmowane ochroną. W tym przypadku właścicielem tych plików w usłudze Rights Management (osobą mającą uprawnienia do pełnej kontroli usługi Rights Management) jest użytkownik, który uruchomił polecenie programu PowerShell.

Ponieważ określono parametr PreserveFileDetails, data modyfikacji oznaczonych plików pozostaje niezmieniona.

Przykład 8: Skanuj wszystkie pliki w folderze i dowolnym z jego podfolderów i stosuj etykiety zgodnie ze skonfigurowanymi warunkami automatycznego etykietowania, przesłaniając wszystkie istniejące etykiety

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    :

To polecenie jest podobne do poprzedniego przykładu w tym, że skanuje również wszystkie pliki w folderze Projects i dowolnym z jego podfolderów i ustawia etykiety zgodnie ze skonfigurowanymi warunkami automatycznego etykietowania. Jednak tym razem, ponieważ polecenie zawiera parametr -Force , zastępuje również istniejącą etykietę dla Dashboard.xlsxi Pricelist.xlsx.

Zawartość Datasheet.pdf nie pasuje do żadnych skonfigurowanych warunków, a ten plik pozostaje bez etykiety.

Przykład 9. Skanowanie pliku w trybie WhatIf pod kątem wszystkich znanych typów informacji poufnych

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                 :

To polecenie umożliwia odnajdywanie wszystkich znanych typów informacji w pliku Project1.docx bez stosowania ochrony ani etykiety.

Przykład 10: Skanowanie pliku w trybie WhatIf pod kątem określonych typów informacji poufnych

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                 :

To polecenie wykrywa określone typy informacji "Numer karty kredytowej" i "Numer ubezpieczenia społecznego (SSN)" w plikuProject1.docx bez stosowania ochrony lub etykiety.

Przykład 11: Skanowanie pliku w trybie WhatIf pod kątem określonych typów informacji poufnych i wyświetlanie znalezionych wartości

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

Podobnie jak w poprzednim przykładzie, pierwsze polecenie odnajduje określone typy informacji "Numer karty kredytowej" i "Numer ubezpieczenia społecznego (SSN)" w plikuProject1.docx bez stosowania ochrony lub etykiety. Jednak w tym przykładzie wyniki są przechowywane w zmiennej w celu dalszego przetwarzania.

Drugie polecenie jest następnie używane do wyświetlania zawartości dopasowanych typów informacji, który zawiera parametr SensitiveContents.

Ostatnie polecenie wyświetla i formatuje, aby ułatwić odczytywanie danych zidentyfikowanych przez pierwszy typ informacji poufnych, który w tym przykładzie to szczegóły karty kredytowej.

Parametry

-AutoLabel

Gdy jest używana opcja -AutoLabel, polecenie cmdlet jest uruchamiane w trybie automatycznego etykietowania. Gdy polecenie cmdlet -AutoLabel nie jest używane, jest uruchamiane w trybie ręcznego etykietowania.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-CustomPermissions

Określa nazwę zmiennej, która przechowuje zasady ochrony ad hoc, które zostały utworzone przy użyciu polecenia cmdlet New-CustomPermissions . Zasady ochrony ad hoc są używane do ochrony plików lub plików z uprawnieniami niestandardowymi.

Typ:AIPCustomPermissions
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-DiscoveryInfoTypes

Określ typy informacji poufnych do odnalezienia podczas korzystania z parametru WhatIf .

Jeśli chcesz wyszukać określone typy informacji poufnych, określ identyfikator jednostki dla tego typu informacji, który można znaleźć na liście typów informacji poufnych w Exchange Server.

Na przykład "50842eb7-edc8-4019-85dd-5a5c1f2bb085" to liczba określająca typ informacji poufnych numeru karty kredytowej.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Force

Zastępuje istniejącą etykietę, jeśli są stosowane skonfigurowane warunki.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-JustificationMessage

Uzasadnienie obniżenia etykiety klasyfikacji, usunięcia etykiety lub usunięcia ochrony, jeśli zasady poufności wymagają od użytkowników podania tych informacji. Jeśli ustawienie etykiety wyzwala uzasadnienie i nie podano tego powodu, etykieta nie jest stosowana. W tym przypadku jest zwracany stan „Pominięto” z komentarzem „Wymagane uzasadnienie”.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-LabelId

Określa tożsamość (ID) etykiety do zastosowania. Gdy etykieta ma etykiety podrzędne, zawsze określ identyfikator tylko etykiety podrzędnej, a nie etykietę nadrzędną.

Aby znaleźć identyfikator etykiety:

Wartość identyfikatora etykiety nie jest wyświetlana w portal zgodności Microsoft Purview. Można jednak użyć następującego polecenia programu PowerShell Office 365 Security & Compliance Center, aby znaleźć tę wartość:Get-Label | Format-Table -Property DisplayName, Name, Guid

W przypadku plików, które mają zastosowane etykiety, można również uruchomić polecenie cmdlet Get-FileStatus , aby zidentyfikować identyfikator etykiety (MainLabelId lub SubLabelId).

Typ:Guid
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Owner

Określa właściciela do stosowania etykiety lub ochrony do pliku.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Path

Określa ścieżkę lokalną, ścieżkę sieciową lub adres URL programu SharePoint Server do plików, dla których chcesz uzyskać etykietę i informacje o ochronie.

Symbole wieloznaczne nie są obsługiwane, a lokalizacje WebDav nie są obsługiwane.

W przypadku ścieżek programu SharePoint obsługiwane są następujące elementy:

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

Na przykład:

Ścieżki mogą zawierać spacje po ujęciu wartości ścieżki za pomocą cudzysłowów.

Typ:String[]
Aliasy:FullName, FileName
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-PreserveFileDetails

Określ ten parametr, aby pozostawić datę modyfikacji (Windows i SharePoint) i zmodyfikować wartości (SharePoint) bez zmian dla dokumentów, które zostały oznaczone etykietą:

  • W przypadku plików lokalnych lub sieciowych wartość data modyfikacji pozostaje niezmieniona.

  • W przypadku plików programu SharePoint data modyfikacji i Zmodyfikowana przez wartości pozostają niezmienione.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

System.String[]

Dane wyjściowe

Microsoft.InformationProtection.Powershell.AIP.Results.SetAIPFileResult