トップ回答者
Protect-RMSFile で更新日時を変更したくない

質問
-
Protect-RMSFile にてファイル保護を実施しようと思うのですが、更新日時が上書きされてしまいます。
可能であれば、更新日時は元ファイルのままでファイル保護を実施したいのですが、そのような引数は準備されているのでしょうか?
下記マイクロソフトのサイトを確認してもそのような引数は見当たらないのですが、
https://docs.microsoft.com/en-us/powershell/rmsprotection/vlatest/protect-rmsfile
-InPlace のような、構文には記載がないけれど、例)で使われるような、実は存在する引数があったりしないかと思い、質問させていただきました。
ご存知の方がいらっしゃいましたら、ご教授の程、よろしくお願いいたします。
回答
-
ヘルプに記載はないが実在するパラメータを探すには、以下のように、コマンドの構文を示すオブジェクトを参照することで可能です。
(Get-Command Protect-RMSFile).Parameters
もしProtect-RMSFileコマンドにそのようなパラメータがないのならば、コマンド実行前に更新日時を記録しておいて、後で戻すという方法を取ってみてはいかがでしょうか。
$file = "C:\Test.docx" $dateTime = Get-ItemPropertyValue -LiteralPath $file -Name LastWriteTime # v4以下の場合は、次のようにする # $dateTime = (Get-ItemProperty -LiteralPath $file -Name LastWriteTime).LastWriteTime Protect-RMSFile -File "C:\Test.docx" -InPlace -TemplateID 82bf3474-6efe-4fa1-8827-d1bd93339119 -OwnerEmail "IT@Contoso.com" Set-ItemProperty -LiteralPath $file -Name LastWriteTime -Value $dateTime
- 回答の候補に設定 miyamamMicrosoft employee 2017年2月13日 2:12
- 回答としてマーク dtsccm 2017年2月14日 10:20
すべての返信
-
ヘルプに記載はないが実在するパラメータを探すには、以下のように、コマンドの構文を示すオブジェクトを参照することで可能です。
(Get-Command Protect-RMSFile).Parameters
もしProtect-RMSFileコマンドにそのようなパラメータがないのならば、コマンド実行前に更新日時を記録しておいて、後で戻すという方法を取ってみてはいかがでしょうか。
$file = "C:\Test.docx" $dateTime = Get-ItemPropertyValue -LiteralPath $file -Name LastWriteTime # v4以下の場合は、次のようにする # $dateTime = (Get-ItemProperty -LiteralPath $file -Name LastWriteTime).LastWriteTime Protect-RMSFile -File "C:\Test.docx" -InPlace -TemplateID 82bf3474-6efe-4fa1-8827-d1bd93339119 -OwnerEmail "IT@Contoso.com" Set-ItemProperty -LiteralPath $file -Name LastWriteTime -Value $dateTime
- 回答の候補に設定 miyamamMicrosoft employee 2017年2月13日 2:12
- 回答としてマーク dtsccm 2017年2月14日 10:20