質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Q&A

1回答

6656閲覧

コマンドによるBitLocker暗号化に失敗する

O_Sano

総合スコア12

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

0グッド

0クリップ

投稿2019/05/29 01:12

編集2019/05/29 02:45

前提・実現したいこと

Powershell、コマンドを使用して、BitLockerによるCドライブの暗号化を自動化しようとしています。
GUIでの下記1~6の操作と同等の処理を行いたいと思っています。

 1:Cドライプに対して「BitLockerを有効にする」から、BitLockerを立ち上げ
2:『回復キーのバックアップ方法を指定してください』で「ファイルに保存する」を選択
3:[回復キー保存先フルパス]のディレクトリへデフォルト名(BitLocker 回復キー ~ .TXT)のファイルを保存
4:『ドライブを暗号化する範囲の選択』で「使用済みの領域のみ暗号化する」を選択
5:『使用する暗号化モードを選ぶ』で「新しい暗号化モード」を選択
6:『このドライブを暗号化する準備ができましたか?』で「BitLockerシステムをチェックを実行する」にチェックを入れる

この後、再起動を実行し再起動後に暗号化が実行される

上記手順を実現できるコマンドをご教授いただきたく質問いたしました。

発生している問題・エラーメッセージ

上記の内容を下の通りのコマンドで実施できると思っています。、
ですが、コマンド自体はエラーなく実行終了しますが、
【3:】の回復キーの記載されたテキストファイルと同等のものが作成されず(指定したディレクトリには何も生成されず…)

#[コマンド] manage-bde -on C: -RecoveryKey [回復キー保存先フルパス] -EncryptionMethod xts_aes128 -UsedSpaceOnly

再起動後は、下記のエラーが発生し暗号化が行われません。
イメージ説明

[2019/5/29 11:40追記]
コマンドを下記に変更したところ、再起動後の「BitLockerを有効にできませんでした。」エラーについては発生しなくなった。

manage-bde -on C: -recoverypassword -EncryptionMethod xts_aes128 -UsedSpaceOnly

ただし、【3:】のテキスト保存については実行できず。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoorwm

2019/05/29 01:18

ソレについてはよく分からないのですが、まずはD:で試してみてはどうでしょうか? ちょっと見てみた感じ、C:に入っているプログラムで、C:自体を暗号化しようとしているように見えるのですが。
O_Sano

2019/05/29 01:28

Cドライブしか搭載されていないPC(ドライブの分割が許可されていないPC)のため確認はできないのですが、GUIでの実行は可能であることを確認しているのでドライブの問題ではないように思われます。
CHERRY

2019/05/29 02:00 編集

Enabling BitLocker by Using the Command Line ( https://docs.microsoft.com/ja-jp/previous-versions/windows/it-pro/windows-7/dd894351(v=ws.10) )を試しているということでよろしいでしょうか? (Windows 10 での例がみつけられなかったので、 Windows 7 の例ですが... ) 上記 URL の Configuring the hard disk for BitLocker の部分を読むと コマンドラインツールの場合、別のパーティションが必要と思われるのですが...
O_Sano

2019/05/29 02:41

色々と試したところ、 manage-bde -on C: -recoverypassword -EncryptionMethod xts_aes128 -UsedSpaceOnly にて、【3:】のテキストファイルの保存以外はGUIと同等の処理ができたため CHERRYさんの回答いただいた内容についてはWindows10環境では問題ない様子です。 上記コマンドにより、再起動後のエラーは発生せず暗号化が実行されるようにはなりました。 ですが、【3:】のテキスト保存方法はまだ見つかっておりません。 引き続き、【3:】のテキスト保存方法についてはご回答をおねがいたしたく思います。
guest

回答1

0

むりやりですが、下記の手順で解決しました。

①あらかじめテンプレートとして下記テキストの内容のファイルを用意する(ファイル名「BitLocker 回復キー ID_NUM.TXT」)

BitLocker ドライブ暗号化の回復キー これが適切な回復キーであることを確認するには、次の ID の先頭と、PC に表示されている ID 値とを比較してください。 ID: ID_NUM 上記の ID が PC に表示されている ID と一致する場合は、次のキーを使用してドライブのロックを解除します。 回復キー: PASS_NUM 上記の ID が PC に表示されている ID と一致しない場合、ドライブのロックを解除するための適切なキーではありません。 別の回復キーを試してみるか、https://go.microsoft.com/fwlink/?LinkID=260589 で詳細を確認してください。

 
②下記コマンドにて暗号化を実行

manage-bde -on C: -recoverypassword -EncryptionMethod xts_aes128 -UsedSpaceOnly

 
③再起動後、暗号化の終了を待ち下記コマンドを実行

#数字パスワードに対する情報を取得 $Results = manage-bde -protectors -get c: -type RecoveryPassword #読み込みフラグ初期化 $pass_flg = 0 # 1行づつ処理する foreach( $Line in $Results ){ # 「NTP: 」の行を特定 if( $Line -match " ID:"){ #「}」で分割 $Buffers1 = $Line.Split("}") #「{」で分割 $Buffers2 = $Buffers1[0].Split("{") # 1つ目の文字列 $TergetBuffer_ID = $Buffers2[1] } #読み込みフラグが立っている場合 if( $pass_flg -eq 1 ){ #1行読み込み、空白を削除したものをパスワードとして保持 $DifferentTime = $Line.Trim() $TergetBuffer_PASS = $DifferentTime #フラグを初期化 $pass_flg = 0 } #パスワードを発見した場合、次の行を読むようにフラグを立てる if( $Line -match " パスワード:"){ $pass_flg = 1 } } #テンプレートファイルを加工する #ID_NUMを$TergetBuffer_IDで置き換える $data = Get-Content ".\BitLocker 回復キー ID_NUM.TXT" | ForEach-Object { $_ -replace "ID_NUM", $TergetBuffer_ID } #PASS_NUMを$TergetBuffer_PASSで置き換える $data = $data | ForEach-Object { $_ -replace "PASS_NUM", $TergetBuffer_PASS } #ファイル名を設定 $file_name = "BitLocker 回復キー " $file_name += $TergetBuffer_ID $file_name += ".TXT" #書き換えたファイルを保存する $data | Out-File $file_name #読み取り専用にする Set-ItemProperty $file_name -Name IsReadOnly -Value $true #作成したファイルをフォルダへ移動する Move-Item $file_name "[格納フォルダパス]" -force

投稿2019/06/05 23:27

O_Sano

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問