Protect-RMSFile

RMS を使用して、指定したファイルまたは指定したフォルダー内のファイルを保護します。

構文

Protect-RMSFile
       [-File <String>]
       [-Folder <String>]
       [-InPlace]
       [-Recurse]
       [-TemplateID <String>]
       [-License <SafeInformationProtectionLicenseHandle>]
       [-DoNotPersistEncryptionKey <String>]
       [-OutputFolder <String>]
       [-OwnerEmail <String>]
       [<CommonParameters>]

説明

Protect-RMSFile コマンドレットは、Azure RMS または AD RMS を使用して、指定したフォルダー内のファイルまたはすべてのファイルを保護します。 ファイルが以前に保護されていた場合は、再び保護され、ファイルの保護に使用されているテンプレートに加えられる可能性のある変更など、すべての変更が適用されます。

エクスプローラーから [分類して保護] 右クリック オプションを使用すると、Azure Information Protection クライアントがファイルを保護するのと同じ方法で、複数のファイルの種類を保護できます。

ファイルの種類に応じて、さまざまなレベルの保護が自動的に適用されます (ネイティブまたはジェネリック)。 レジストリを編集することで、保護のレベルを変更できます。 さらに、一部のファイルでは、Rights Management によって保護された後にファイル名拡張子が変更されます。 詳細については、Azure Information Protection クライアント管理者ガイドの保護できるファイルの種類に関する記述を参照してください。

このコマンドレットを実行する前に、 Get-RMSTemplate を実行してテンプレートをコンピューターにダウンロードする必要があります。 このコマンドレットを実行してから使用するテンプレートが変更されている場合は、 -force パラメーターを指定してもう一度実行して、変更後のテンプレートをダウンロードします。

このコマンドレットを実行すると、次のオプションがあります。

  • ファイルは現在の場所で保護されており、保護されていない元のファイルを置き換えます。

  • 元のファイルは保護されていないままで、保護されたバージョンのファイルが別の場所に作成されます。

  • 指定したフォルダー内のすべてのファイルは、保護されていない元のファイルを置き換えて、現在の場所で保護されます。

  • 指定したフォルダー内のすべてのファイルは保護されないままになり、各ファイルの保護されたバージョンが別の場所に作成されます。

このコマンドを同時に実行することはできませんが、元のコマンドが完了するまで待ってから、もう一度実行する必要があります。 前のコマンドが完了する前にもう一度実行しようとすると、新しいコマンドは失敗します。

このコマンドレットは、Success.log、Failure.logDebug.log in というログ ファイルに書き込みます%localappdata%\Microsoft\MSIPC\pscmdlet\Logs\\<GUID>

ヒント

このコマンドレットを使用して、ファイルのResource Managerとファイル分類インフラストラクチャを使用して Windows Server ファイル共有上のファイルを保護する手順については、「Windows Server ファイル分類インフラストラクチャ (FCI) を使用した RMS 保護」を参照してください。

例 1: テンプレートを使用して 1 つのファイルを保護して置き換える

PS C:\>Protect-RMSFile -File "C:\Test.docx" -InPlace -TemplateID 82bf3474-6efe-4fa1-8827-d1bd93339119
InputFile             EncryptedFile
---------             -------------
C:\Test.docx          C:\Test.docx

このコマンドは、テンプレートを使用して Test.docx という名前の 1 つのファイルを保護し、保護されていない元のファイルを置き換えます。 ファイルの Rights Management 所有者と、保護されたファイルにアクセスするときにユーザーに表示される可能性があるメール アドレスは、コマンドを実行するアカウントの電子メール アドレスとして自動的に設定されます。

例 2: テンプレートを使用して 1 つのファイルの保護されたコピーを作成する

PS C:\>Protect-RMSFile -File "Test.docx" -TemplateID 82bf3474-6efe-4fa1-8827-d1bd93339119
InputFile             EncryptedFile
---------             -------------
C:\Test.docx          C:\Test-Copy.docx

このコマンドは、 InPlace パラメーターを使用しない点を除いて、前の例と同じです。 また、OutputFolder パラメーターも使用しないため、保護されたファイルは現在のフォルダーに作成され、ファイル名に "-Copy" が追加されます。 元の保護されていないファイルは、現在のフォルダーに残ります。

例 3: テンプレートを使用して保護されたバージョンのファイルを作成する

PS C:\>Protect-RMSFile -File "C:\Test.docx" -OutputFolder "C:\Temp" -TemplateID e6ee2481-26b9-45e5-b34a-f744eacd53b0 -OwnerEmail "admin@Contoso.com"

InputFile             EncryptedFile
---------             -------------
C:\Test.txt           C:\Temp\Test.ptxt

このコマンドは、テンプレートを使用して Test.docx という名前の 1 つのファイルを保護し、この保護されたバージョンのファイルを C:\Temp に配置します。元のファイルは C: ドライブのルートに保護されません。 ファイルの Rights Management 所有者と、保護されたファイルにアクセスするときにユーザーに表示される可能性がある電子メール アドレスは、管理者向けです。

例 4: テンプレートを使用してフォルダー内のすべてのファイルを保護する

PS C:\>Protect-RMSFile -Folder "\\server1\Docs" -InPlace -DoNotPersistEncryptionKey All -TemplateID e6ee2481-26b9-45e5-b34a-f744eacd53b0 -OwnerEmail "IT@Contoso.com"

InputFile                        EncryptedFile

----------                       -------------
\\server1\Docs\Feb2015.docx      \\server1\Docs\Feb2015.docx

\\server1\Docs\Feb2015.txt       \\server1\Docs\Feb2015.ptxt

\\server1\Docs\Jan2015.docx      \\server1\Docs\Jan2015.docx

\\server1\Docs\Jan2015.txt       \\server1\Docs\Jan2015.ptxt

このコマンドは、サーバー共有内のすべてのファイル (サブフォルダーではなく単一フォルダーのみ) を保護し、保護されていないファイルを置き換えます。 アクセス権がない場合にユーザーに表示される電子メール アドレスは IT 部門グループ用であり、このグループにはテンプレートのフル コントロール使用権限が付与されるため、保護されたファイルの使用権限を変更できます。

このシナリオは他のユーザーの代わりにファイルを保護するため、 DoNotPersistEncryptionKey パラメーターは、パフォーマンスを最大限に高め、未使用のファイルがディスクに保存されないようにするために使用されます。

例 5: テンプレートを使用してフォルダー内の特定のファイル名拡張子を持つ保護されたファイル

PS C:\>foreach ($file in (Get-ChildItem -Path \\server1\Docs -Recurse -Force | where {!$_.PSIsContainer} | Where-Object {$_.Extension -eq ".docx"})) {Protect-RMSFile -File $file.PSPath -InPlace -DoNotPersistEncryptionKey All -TemplateID "e6ee2481-26b9-45e5-b34a-f744eacd53b0" -OwnerEmail "IT@Contoso.com"}


InputFile                                   EncryptedFile

---------                                   -------------
\\server1\Docs\Feb2015.docx                 \\server1\Docs\Feb2015.docx

\\server1\Docs\Jan2015.docx                 \\server1\Docs\Jan2015.docx

\\server1\Docs\Reports\Feb2015.docx         \\server1\Docs\Reports\Feb2015.docx

\\server1\Docs\Reports\Jan2015.docx         \\server1\Docs\Reports\Jan2015.docx

このコマンドは、サーバー共有のフォルダー (およびすべてのサブフォルダー) に.docxファイル名拡張子を持つファイルのみを保護し、保護されていないファイルを置き換えます。 前の例と同様に、ユーザーがアクセス権を持っていないときにユーザーに表示される電子メール アドレスは、IT 部門用です。

Protect-RMSFile コマンドはワイルドカードをネイティブにサポートしていませんが、Windows PowerShellを使用してこれを実現し、必要に応じてこの例のファイル名拡張子を変更できます。

例 6: アドホック権限ポリシーを使用して 1 つのファイルを保護する

PS C:\>$License = New-RMSProtectionLicense -UserEmail 'user1@contoso.com' -Permission EDIT
PS C:\> Protect-RMSFile -License $License -File "C:\Test.txt" -InPlace
InputFile             EncryptedFile
---------             -------------
C:\Test.txt           C:\Test.ptxt

最初のコマンドは、 編集 権限を付与するアドホック権限ポリシーを作成します user1@contoso.com

2 番目のコマンドは、先ほど作成したアドホック権限ポリシーを使用して、Test.txtという名前の 1 つのファイルを保護し、元の保護されていないファイルを置き換えます。

電子メール アドレス user1@contoso.comがない限り、コマンドの完了後にこのファイルの保護を解除することはできません。これは、権限がないため、Rights Management の所有者ではないことに注意してください。

後でこのファイルの保護を解除できるようにする必要がある場合は、名前を追加し、最初のコマンドのアドホック権限ポリシーで EXTRACT または OWNER 権限をユーザーと自分に付与できます。 または、ユーザーがファイルの保護を解除できないようにするには、2 番目のコマンドの末尾に電子メール アドレス>を追加<します。

パラメーター

-DoNotPersistEncryptionKey

ファイルが保護されているときに Rights Management 発行者の自己付与されたエンド ユーザー ライセンスが保存されないようにします。 このライセンスにより、Rights Management 発行者は Rights Management サービスに対する認証を行わずに、保護されたファイルを開くことができます。 これは、このコマンドレットを実行したユーザーが、そのユーザーがオフラインの場合でも、保護された独自のファイルを常に開くことができるようにするのに役立ちます。 また、そのユーザーがこれらの保護されたファイルを開くための遅延が最小限になります。

Rights Management 発行者は、ファイルを保護するアカウントです。 詳細については、「 Rights Management 発行者」および「Rights Management 所有者」を参照してください。

既定では、この自己付与されたエンド ユーザー ライセンスは、ファイル自体とコマンドレットの実行元のコンピューターの両方に保存されます。 ファイル名は EUL で始まり、 %localappdata%\Microsoft\MSIPC で作成されます。 このパラメーターを使用して、このエンド ユーザー ライセンスがファイル、コンピューター、またはその両方に保存されないようにします。 Windows Server FCI など、他のユーザーに代わってファイルを保護する場合は、このパラメーターを指定することが適切です。 このシナリオでは、Rights Management 発行者は保護されたファイルを開かないため、エンド ユーザー ライセンスを作成して保存すると、保護のパフォーマンスが低下し、使用可能なディスク領域をいっぱいにできる大量のファイルが不必要に生成されます。

このパラメーターに使用できる値は次のとおりです。

  • ディスク: Rights Management 発行者のエンド ユーザー ライセンスは、%localappdata%\Microsoft\MSIPC の各ファイルに対して生成されません。

  • ライセンス: Rights Management 発行者のエンド ユーザー ライセンスは、ファイルの公開ライセンスに挿入されません。

  • すべての: Rights Management 発行者のエンド ユーザー ライセンスは、ファイルが保護されるときに作成および保存されません。

Type:String
Accepted values:all, disk, license
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-File

保護するパスとファイル名を指定します。 パスには、ドライブ文字または UNC を使用できます。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Folder

保護するパスとフォルダーを指定します。 パスには、ドライブ文字または UNC を使用できます。

指定したフォルダーに現在存在するすべてのファイルが保護されます。 フォルダーに追加された新しいファイルは自動的に保護されません。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InPlace

指定したフォルダー内のファイルは、保護されていない元のファイルを置き換えて、現在の場所で保護されます。 OutputFolder パラメーターが指定されている場合、このパラメーターは無視されます。

InPlaceOutputFolder も指定されていない場合、ファイルがコピーされ、同じフォルダーに貼り付けるときに使用されるのと同じ名前付け エクスプローラー規則を使用して、ファイル名に "-Copy" が追加された新しいファイルが現在のディレクトリに作成されます。 たとえば、Document.docxを含むファイルが保護されていない場合、保護されたバージョンの名前は Document-Copy.docxです。 Document-Copy.docxという名前のファイルが既に存在する場合は、Document-Copy(2).docxが作成されます。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-License

New-RMSProtectionLicense コマンドレットを使用して作成されたアドホック権限ポリシーを格納する変数名を指定します。 このアドホック権限ポリシーは、テンプレートの代わりに、ファイルまたはファイルを保護するために使用されます。

Type:SafeInformationProtectionLicenseHandle
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OutputFolder

保護されていない元のファイルの保護されたバージョンを配置するパスとフォルダーを指定します。 元のフォルダー構造が維持されます。つまり、指定した値に対してサブフォルダーが作成される可能性があります。

パスには、ドライブ文字または UNC を使用できます。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OwnerEmail

保護されたファイルの Rights Management 所有者を電子メール アドレスで指定します。

既定では、このコマンドレットを実行するアカウントは、Rights Management 発行者と保護されたファイルの Rights Management 所有者の両方です。 このパラメーターを使用すると、保護されたファイルに別の Rights Management 所有者を割り当てることができます。これにより、指定されたアカウントにファイルのすべての使用権限 (フル コントロール) が付与され、いつでもアクセスできます。 Rights Management の所有者は、Windows ファイル システムの所有者から独立しています。 詳細については、「 Rights Management 発行者」および「Rights Management 所有者」を参照してください。

このパラメーターの値を指定しない場合、コマンドレットは認証済みセッションの電子メール アドレスを使用して、保護されたファイルの Rights Management 所有者を識別します。 AD RMS または Azure RMS をユーザー アカウントで使用してファイルを保護する場合、これがメール アドレスになります。 サービス プリンシパル アカウントで Azure RMS を使用する場合、このメール アドレスは数字と文字の長い文字列になります。 この電子メール アドレスは、保護されたドキュメントを表示する権限がないユーザーに表示され、アクセス許可を要求できます。

サービス プリンシパル アカウントを使用して Azure RMS に対してこのコマンドレットを実行し、保護するファイルを所有している場合は、このパラメーターに独自の電子メール アドレスを指定します。 サービス プリンシパル アカウントを使用して Azure RMS に対してこのコマンドレットを実行し、1 人のユーザーが保護するファイルまたはすべてのファイルを所有している場合は、元のファイル所有者がファイルに変更を加え、意図したとおりに使用できないようにメール アドレスを指定します。

異なるユーザーに属する複数のファイルでこのコマンドレットを実行する場合は、それらのユーザーにフル コントロールの使用権限が付与されていることを確認し、このパラメーターに割り当てる電子メール アドレスを検討してください。 グループの電子メール アドレスを指定でき、このアドレスはアクセス許可を要求するために表示されますが、グループのメンバーは Rights Management の所有者ではなく、既定では保護ファイルの使用権限がありません。 このシナリオでは、1 人のユーザー (管理者など) を割り当てるか、フル コントロールの使用権限も割り当てるグループの電子メール アドレスを指定するかを選択します。 グループの電子メール構成の場合、これはヘルプ デスクなどです。

重要: このパラメーターは省略可能ですが、Azure RMS とサービス プリンシパルを使用してファイルを保護するときに指定しない場合、Azure Information Protection クライアントからユーザーに表示される電子メール アドレスは役に立ちません。 このため、ユーザー アカウントではなく Azure RMS とサービス プリンシパルを使用してファイルを保護する場合は、常にこのパラメーターを指定することをお勧めします。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Recurse

Folder パラメーターと共に使用すると、サブフォルダー内のすべての現在のファイルが保護されることを示します。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TemplateID

アドホック ポリシーに License パラメーターを使用しない場合に、指定したファイルを保護するために使用するテンプレートの ID を指定します。 使用するテンプレートの ID がわからない場合は、 Get-RMSTemplate コマンドレットを使用します。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False